4

iOS がアップグレードされると、古いバージョンのシグネチャとメソッドはMonoTouch によって廃止されたものとしてマークされます。

私の質問は、MonoTouch が提供する新しい方法の提案を採用した場合、古い iOS バージョンに悪影響を与えることになるのでしょうか?

iOS 6 の Facebook などの新機能が 4.3 で利用できないことは理解していますが、この質問は、互換性を維持しながら MonoTouch アプリをより高いバージョンの IOS に移行することに関するものです。

例えば:

MonoTouch 6 アプリを実行している iOS 4.3 デバイス: 廃止されたメソッドを削除して新しいメソッドに置き換えることは引き続き機能しますか?

4

2 に答える 2

3

メソッド/タイプが廃止された理由に依存するため、単一の一般的な答えはありません。

ほとんどの[Obsolete]属性には、避けるべき理由を示すメッセージがあります。それらは主に次の 2 つのグループに分類されます。

  • タイプミスなど、API にバインディング エラーがありました。これを修正するために新しい API が追加されました (その名前は説明の一部である必要があります)。この場合、4.3 デバイスの場合、MonoTouch 6.x で追加された新しい API を使用しても問題ありません。

  • Apple は新しい API を導入し、古い API の使用を非推奨にしました。この場合、説明には、新しい API とそれが適用される iOS のバージョンを記載する必要があります。古いデバイス (例: 5.x) をターゲットにする場合は、新しい API (例: iOS 6.0 で追加されたもの) を使用しないでください。

テキストメッセージのないメソッド/タイプを見つけ[Obsolete]た場合、またはテキストが明確でなく明確な決定を下すことができない場合は、修正できるようにバグレポートを提出してください。

于 2012-11-07T18:25:34.537 に答える
1

これは、テストに役立つ場合があります。古い iPhone シミュレーターを追加します。

xcode を開き、トップ メニューで xcode >> 設定 >> ダウンロード に移動すると、xcode で使用する古い SDK をダウンロードするオプションが表示されます。コマンド ライン ツールとデバイス デバッグ サポートもダウンロードできます。

これにより、シミュレーターのハードウェア/バージョン メニューに移動し、4.3 または 5.0 または 5.1 などを選択できます。

于 2012-11-07T19:11:58.690 に答える