19

私はこの問題に 1 日を費やしましたが、解決策を見つけることができませんでした。iOS 6.1 SDK を使用してアプリケーションを開発しており、デザイン全体が iOS 6.1 UI に依存しています。昨日、私は携帯電話を iOS 7 にアップデートしました。アップデートが完了した後、バックアップから戻ってきた以前に展開されたアプリは、以前と同じように見え、機能しました (iOS 6.1 の場合)。すべてが大丈夫でした。ただし、Xcode をバージョン 5 に更新する必要があったため、開発中に iOS 7 デバイスに連続するデバッグ バージョンを展開し続けることができます。Xcode 5 に更新する前に、Xcode の内部フォルダーから iPhoneOS6.1.sdk パッケージをバックアップしました。Xcode 5 に更新し、iPhoneOS6.1.sdk パッケージをフォルダーに戻し、Xcode 5 のインストールに付属する iOS 7 SDK の隣に置きました。プロジェクトのベース SDK を iOS 6.1 に切り替えました。

しかし、アプリケーションを自分の携帯電話にデプロイすると、iOS 7 の UI 要素で示されているように、それはがらくたのように見えます。iOS 6.1 がインストールされたデバイスを使用すると、すべて問題ないように見えます。iOS 7 デバイスでデバッグすることを選択した場合、XCode は基本 SDK の選択を気にせず、iOS 7 に対してアプリケーションをリンクしているようです。

インストールされているiOSバージョンに関係なく、Xcodeに同じ6.1にリンクされたものをすべてのデバイスに展開させるにはどうすればよいですか?

4

3 に答える 3

7

Xcode 5 ツールバーでは、ターゲットのデバイスが 2 回リストされていることがわかります (これは質問にも記載されています)。奇妙な理由で、一方は iOS 6.x の外観で構築され、もう一方は iOS7 の外観で構築されています。このリストのいずれかのデバイスでビルド/実行を試みています。それでも iOS7 の外観が表示される場合は、ツールバーの停止をクリックし、別のデバイスを選択して再度ビルドします。

Xcode 5 でクラッシュは見られないので、頻繁にクラッシュする場合は再インストールすることをお勧めします。

于 2013-09-19T14:42:39.753 に答える
3

まず、以前のバージョンの XCode から iOS 6.1 SDK をコピーして貼り付ける必要があります。他の人がこれを行う方法について指示を与えたと思います。

次に、iOS 6 の開発を継続するつもりであると仮定すると (たとえば、iOS 6 の UI を壊すことなく、新しい API を使用するつもりはありません)、次のようにします。

  • XCode は、iOS 7 デバイスをコンピューターに接続するたびに 2 つのデバイスを認識する必要があります
  • 両方でアプリケーションを実行します (実際には同じデバイスですが、一方は iOS 6 スタイルのアプリケーションを実行し、もう一方は iOS 7 スタイルに更新しようとします)。
  • iOS 6 スタイルのアプリを実行しているもの (私にとっては最上位) を思い出し、そのデバイスで [製品] > [アーカイブ] を実行します。

これにより、iOS 6 スタイルの UI を使用してアプリケーションを構築できると同時に、Xcode 5 を使用できるようになります。アプリの UI を iOS 7 に対応させるために、UI の変更専用の新しい開発ブランチを開始することをお勧めします。

于 2013-10-11T10:44:21.500 に答える