4

XCodeを4.5にアップグレードし、SDK6.0をインストールしました。SDK 5.0が消えたのに気づきましたが、それでもIphone5.0シミュレーターをダウンロードして戻すことができます。

SDK6.0を使用してiOS5.1用のアプリケーションを開発できる天気が気になります。次の写真に示す構成を作成しました。

ここに画像の説明を入力してください ここに画像の説明を入力してください

4

2 に答える 2

10

はい、どの iOS SDK でも、以前のバージョンの OS 向けに開発することができます。たとえば、iOS6 SDK でも iOS5 向けに開発できます。

「展開ターゲット」設定を 5.1 に設定するだけです。

その後、次のことができます。

  • iOS5.1 で利用可能なメソッドのみを使用し、iOS6 専用のメソッドを使用しないで、アプリが iOS5.1 でも動作することを確認します。
  • または、iOS6 でのみ利用可能なメソッドを呼び出すたびに実行時にチェックを実行し、利用可能な場合にのみこのメソッドを呼び出します (ユーザーがこのメソッドをサポートする最新バージョンの iOS を搭載した iPhone を持っている場合)。

構成とサンプル ケースの詳細と詳細な手順については、Apple ドキュメントSDK 互換性ガイドを読むことを強くお勧めします。


たとえば、ソーシャル ネットワークで何かを共有するためのボタンを提供する場合は、Social.framework を使用できますが、これは iOS6 でのみ使用できます。したがって、iOS6 ユーザーにこの機能を提案し、この特定の機能を使用するには iPhone を iOS6 にアップデートする必要があることを iOS5 ユーザーに警告することができます。

// Always test the availability of a class/method/... to use
// instead of comparing the system version or whatever other method, see doc
if ([SLComposeViewController class])
{
    // Only true if the class exists, so the framework is available we can use the class
    SLComposeViewController* composer = [composeViewControllerForServiceType:SLServiceTypeFacebook];
    // ... then present the composer, etc and handle everything to manage this   
} else {
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Sharing unavailable"
                message:@"You need to upgrade to iOS6 to be able to use this feature!"
                delegate:nil
                cancelButtonTitle:nil
                otherButtonTitles:@"OK, will do!"];
    [alert show];
    [alert release];
}

次に、ドキュメントで詳細に説明されているように、Social.framework を弱リンクします (フレームワークをリンカー ビルド フェーズに追加するときに、「必須」を「オプション」に変更します)。

于 2012-10-02T22:48:09.623 に答える
1

はい、iOS6SDKを使用してiOS5互換アプリを作成できます。それに応じて展開ターゲットを設定する必要があり(これまでと同じように)、iOS6の機能を使用しないでください。

于 2012-10-02T22:40:30.567 に答える