すべてを追跡せずにコードを追加しすぎたマラソンコーディングセッションの後、iOS 5.0および5.1固有の列挙型、呼び出し、フレームワークを備えたアプリができましたが、アプリでiOSを4.3に戻したいと考えています。 。
XcodeをiOS4.3用にコンパイルしているかのようにコンパイルするように設定する簡単な方法があることを望んでいました。そうすれば、コンディショニングする必要がある、または代わりにコード化する必要があるすべての問題のあるコードでエラーが発生します。 iOS。
私はコンパイラオプションを使用することでそれを得るだろうと思いました:
-D__IPHONE_OS_VERSION_MAX_ALLOWED=__IPHONE_4_3
しかし、それは私のコードではなく、システムヘッダーファイルでエラーを生成することになります。
ほとんどの列挙型とフレームワークの可用性がヘッダーファイルに含まれていることを考えると、必要なことを実行する簡単な方法があると考えなければなりません。
古いSDKで古いXcodeをダウンロードすることに頼らずに、誰かがそのようなことをなんとかやったことがありますか?そこで、Lion(私が実行しているもの)では正しく機能しないXcodeの問題に遭遇する可能性があります。
更新:LionにXcode3.2.6をインストールできないようです。コンパイラオプションを使用する方法を見つけたり、Xcodeに古いSDKを使用させたりしない限り、SnowLeopardMacを見つける必要があります...
これが@mattjgallowayの答えが私のためにしたことのサンプルです:
ルミンアプリグループ
/Users/mz/Dev/Working/Lumin/Lumin/MyUIScreen.m
- 「明るさ」は非推奨になりました:TOO NEW!
- 「明るさ」は非推奨になりました:TOO NEW!
- 「明るさ」は非推奨になりました:TOO NEW!
- 「明るさ」は非推奨になりました:TOO NEW!
/Users/mz/Dev/Working/Lumin/Lumin/LuminViewController+Share.m
- 'TWTweetComposeViewController'は非推奨になりました:TOO NEW!
- 'TWTweetComposeViewController'は非推奨になりました:TOO NEW!
- 'TWTweetComposeViewController'は非推奨になりました:TOO NEW!
/Users/mz/Dev/Working/Lumin/Lumin/LuminViewController.m
- 'scrollView'は非推奨になりました:TOO NEW!
- 'connectionWithMediaType:'は非推奨になりました:TOO NEW!
- 'connectionWithMediaType:'は非推奨になりました:TOO NEW!
- 「AVCaptureDeviceSubjectAreaDidChangeNotification」は非推奨になりました:TOO NEW!
- 'setSubjectAreaChangeMonitoringEnabled:'は非推奨になりました:TOO NEW!
非常に素晴らしい。
プロジェクトの.pchファイルに以下を配置し、すべてのプロジェクトでこれを実行することを計画しています。
#if DEBUG
#define __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED __IPHONE_OS_VERSION_MIN_REQUIRED
#import "MJGAvailability.h"
#endif
どのプロジェクトでも、ターゲットにしている最も初期のiOSに基づいてSDKの問題を自動的に監視しています。心配しなければならないSDKの変更がまだあるかもしれませんが、少なくとも、古いiOSリリースでは利用できないほとんどのフレームワークの追加については知っています。