Xcode 7はwatch OS1とOS2をサポートしています 質問する

Xcode 7はwatch OS1とOS2をサポートしています 質問する

私はしばらくの間 Xcode 7 をいじっていましたが、Xcode 7 では Swift 2 のみがサポートされており、Xcode 7 で Swift 1.0 や 1.2 をサポートする方法はないことがわかりました。これは問題ありません。

WatchOS に関しては、Xcode 7 で WatchOS1 用と WatchOS2 用の 2 つのターゲットを別々に用意して、両方をサポートできますか?

ウォッチターゲットとiOSアプリターゲットの両方のビルド設定でデプロイメントターゲット設定を調べましたが、リストにはWatchOS2しか表示されませんでした。

  1. Xcode 7 で WatchOS1 と WatchOS2 の 2 つのターゲットをサポートできますか? その場合、WatchOS1 SDK をどこかにインストールする必要がありますか? それとも、これはまったく不可能ですか? そうでない場合、その理由は何ですか?

  2. 両方のターゲットをサポートできる場合、両方の OS はアーキテクチャの点で大きな違いがあるため、両方のターゲットのソースの重複をどのように防ぐことができますか。

  3. また、WatchConnectivity フレームワークの導入以降、iOS の対応するアプリにもいくつかの変更が加えられますが、2 つのターゲットに対してそれをどのように維持すればよいでしょうか?

私は混乱しており、すぐに決断を下す必要があります。どんな助けでもありがたいです。

ベストアンサー1

Xcode 7 で watchOS 1 アプリをサポートできます。また、Xcode 7 で watchOS 2 アプリをサポートすることもできます。

watchOS 1とwatchOS 2の両方をサポートしたい場合は、OSごとに別々のターゲットが必要になります(アーキテクチャの違いのため)

watchOS 1アプリの場合は、新しいターゲットを追加して、アップルウォッチ左側のセクションからwatchOS 1 向け WatchKit アプリリストから。

watchOS 1 アプリ

watchOS 2アプリの場合は、新しいターゲットを追加して、ウォッチOS>応用セクションをクリックしてWatchKitアプリリスト内のオプション。

watchOS 2 アプリ

Xcode 7 (ベータ 1) で watchOS 1 アプリを作成する際に注意すべき点がいくつかあります...

私は iOS 8.3 を実行している iPhone 6 と watchOS 1.0.1 を実行している時計でテストを行ったため、デプロイメント ターゲットを iOS 8.3 に変更する必要がありましたが、これはターゲット レベルだけでなくプロジェクト レベルでも行う必要があることに注意してください (メイン アプリだけでなく拡張機能も 8.3 に設定されるようにするため)。そうしないと、実際のデバイスにデプロイできなくなります。

Xcode 7 ベータ 1 の既知の問題により、ペアリングされた電話が 64 ビットの場合、watchOS 1 アプリは実際の時計にインストールできず、次のエラーが発生します。

Jun 20 17:25:08 Liams-iPhone companionappd[271] <Notice>: (Error) WatchKit: validateWatchKitApplicationInfoDictionary, invalid Info.plist key 'UIRequiredDeviceCapabilities'

UIRequiredDeviceCapabilitiesこれは、Xcode 7 がビルド時に、watchOS 1 拡張機能に対しても、info.plist キーに arm64 を追加してしまうためです。

これを一時的に回避するには、アクティブアーキテクチャのみを構築するNODEBUG モードの場合はにします。

Xcode 7 の既知の問題

お役に立てれば幸いです

おすすめ記事