0

ベース/アクティブSDKとデプロイメントターゲットの違いについて知っています。ベースSDKを4.0に設定し、展開ターゲットを2.0に設定しています。条件付きまたはその他の方法で、2.x以降のAPIを使用していません。2.xデバイスではデバッグできないため、ビルド後、iPhone構成ユーティリティを使用してデバイスにアプリをインストールします。これで問題ありません。問題は、実行されないことです。画面が空白になります。メインウィンドウが表示されることはありません!

今あなたが尋ねる前に...

  1. iPhoneSDK3.xでも同じ問題が発生しました。私はそれが解決されることを期待して4.xにアップグレードしました。そうではありませんでした。

  2. はい、プロビジョニングプロファイルがインストールされています。(インストールされていない場合、アプリをインストールできませんでした。)

  3. この同じコンパイル済みアプリは、3.xデバイスで正常に動作します。4.xデバイスと同じです。2.xデバイスではありません。

  4. 繰り返しますが、私は2.x以降のSDKを使用していません。これを証明するために、[新しいプロジェクト]ダイアログから新しいウィンドウベースのアプリを作成しました。変更したのはウィンドウの背景色(XIBが読み込まれたことを証明するため)だけで、展開ターゲットを2.0に設定しました(ただし、4.x SDKに対してはコンパイルされます。)繰り返しになりますが、3.xまたは4.xデバイスでは正常に動作しますが、2.xデバイスでは画面が真っ暗になります。

新しく復元されたものを含む3つの別々の2.xデバイスでこれを試しました。私は3つの別々の開発マシン(3.xSDKを搭載したMacBookPro、4.xSDKを搭載したMacBookPro、および3.xSDKを搭載したMacPro)を使用しました。毎回同じ結果になります。

私は困惑しています。

変更されていないプロジェクトでさえ実行されないという事実は、私を本当に混乱させます。XIBファイルでしょうか?彼らはフォーマットを2.xから3.xSDKの新しいものに変更しましたか?もしそうなら、どうすれば2.xに戻すことができますか。(繰り返しますが、これは完全な推測です。)しかし、私は本当に困惑しています!

4

3 に答える 3

0

applicationDidFinishLaunching:options:をチェックしましたか?アプリデリゲートを呼び出しますか?

options:パラメーターは3.0で追加され、3.0より前のコードには存在しませんが、以前の形式は引き続き機能します。

オプションの辞書:「サファリのURLから始めた」などの情報をアプリに渡すために使用されます。

2.0で実行する予定の場合は、おそらくこれを元の「applicationDidFinishLaunching:」に戻す必要があります。

于 2010-06-12T19:07:20.527 に答える
0

2.xは、アプリストアへの公開が完全に非推奨になりました。以前のバージョンのxCodeを使用してデバイスにインストールできるはずですが、それだけです。私のコミュニティウィキの詳細はこちら:

xCode3.2.3をiPhoneSDK4と一緒にインストールすると、「Base SDKが見つかりません」と表示され、他のSDKが表示されません。

于 2010-07-05T22:28:16.237 に答える
0

Appleは、彼らがコメントしなかった重大な変更(より正確には、「修正」変更)を行ったことが判明しました。具体的には、私たちのアプリは、コードまたはIBの[起動時に表示]オプションを介してメインウィンドウを明示的に表示するように設定していませんでした。しかし...SDKの1つのバージョンであるランタイムでは、何も設定されていないが何かを表示する必要があるため、メインXIBファイルにウィンドウが暗黙的に表示されていました。ただし、新しい(および古い)SDK(実際にはランタイム)にはこの暗黙の動作がなかったため、コードでウィンドウが明示的に表示されなかった場合、画面が空白になりました。

そのため、IBの[起動時に表示]オプションをチェックするだけで機能しました。完了しました。

于 2010-09-20T00:17:49.427 に答える