私はiOSでもこの厄介な問題を抱えています。ユーザーがデバイスをiTunesと同期し、クラッシュレポートが送信される前にクラッシュレポートの送信を有効にする必要があるため、iOSでは実際にはさらに厄介です。MacOSXでは、すべてを行う必要はありません。最近、APIを古いバージョンのSDKと照合するためのコンパイル時チェックを追加することができました。最初にiOSでどのように行ったかを説明し、次にこの手法をMac OS Xに適応させる方法を説明します。Macatmにはあまりコーディングしないので、私の経験から正しい方向に導くことしかできません。 iOSを使用していますが、仕事から戻って明確な答えが出たら、今日の後半に提案をテストします。
それで、これが私がiOSのためにしたことです:
最初に、入手したい古いSimulatorSDKを入手する必要がありました。必要なSDKを含む古いXcode3(4ではない)バージョンをダウンロードすることで、これを簡単に入手できました。
次に、SDKをインストールする必要がありました。これはそれほど難しいことではなかったので、ここではあまり説明しません。ただし、SDKはPackages
フォルダーに保存されます。このフォルダは、以前のXcode 3バージョンでははっきりと表示されますが、それ以降のバージョンでは非表示になります。ターミナルからとにかく簡単に開くことができます。また、フォルダがXcode.app内に移動したXcode 4.3での変更後、Developer
SDKをtmpフォルダにインストールし、SDKをXcode.appに自分で移動する必要がありました。Xcodeを開いていたら、再起動する必要があります。
その後、debug
プロジェクトで構成を複製し、名前を付けました。私の場合は、そのような名前を付けましたが、iOS 4.3 API Check
実際には問題ではありません。次に、この新しい構成のベースSDKを、インストールした古いSDKに変更しました。インストールしたSDKがリストに表示されなかったためother
、この場合も、を選択して入力する必要がありましたiphonesimulator4.3
。
最後に、古いバージョンのSDKと照合する必要がある場合はRun <appname>.app
、プロジェクトスキームの構成を自分の構成に変更しましたiOS 4.3 API Check
。次に、iOS4.3に対するコンパイル時のチェックを行います。
Mac OS Xに関しては、これと同じ方法で同じ目標を達成できると確信しています。Mac SDK用のシミュレーターはないので、通常のSDKで動作すると思います。古いSDKの入手に関しては、Xcode 4.2がまだインストールされている場合(Xcode 4.3が変更した後、Developer
フォルダーがXcode.app内にあるように)、そこに10.6SDKがあります。そうでない場合は、AppleがiOSに似たものを持っていると思います。そこでは、SDKのダウンロードがDevCenterまたはインターネット上のどこかで利用可能です...
Base SDKの設定に関しては、リストにない場合は、名前MacOSX10.6
またはそれ以降のバージョンだと思います。
他のすべては同じである必要がありますが、前述のように、今日の後半にこのメソッドをテストし、答えを編集してより明確な答えを出しますが、このメソッドはMacSDKで機能すると思います。