WatchAppのCompanion有無の違いを比較
違い
生成されるファイルの違い
Comanion有
Project
├ Companion
├ Companion-Tests
├ Companion-UITests
├ Companion WatchApp
├ Companion WatchApp-Tests
└ Companion WatchApp-UITests
Comanion無
Project
├ Companion WatchApp
├ Companion WatchApp-Tests
└ Companion WatchApp-UITests
Targetの違い
Companion有
- Companion
- Companion-Tests
- Companion-UITests
- Companion WatchApp
- Companion WatchApp-Tests
- Companion WatchApp-UITests
Companion無
- Companion
- Companion WatchApp
- Companion WatchApp-Tests
- Companion WatchApp-UITests
Deployment Info
companion有の方でだけWatchのTarget>General>DeploymentInfoにSupports Running without iOS App Installation
が存在する。
これにチェックを入れるとCompanionアプリなしでInstallできるのか・・・?と思ったが若干違う。
After creating a watchOS app with a companion iOS app, you can convert the resulting dependent watchOS app to be independent of the iOS app. To convert your watchOS app, perform the following steps:
1.In Xcode, select your watchOS project to view the project editor.
2.In the General tab, select the Watch App target.
3. In the Deployment Info section, select the Supports Running Without iOS App Installation option. By default, when you create a new project, this option is in a disabled state.
見たところチェックを入れると独立したアプリに変換できるとのことだがGitでの差分はこれだけで実際何が変わるのかはわからなかった。何が違うんだ。
-INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = No;
+INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = YES;
BuildSettings
info.plist Values内で若干の差分がある
-
App is Available Only on AppleWatch
という値がcompanion有だとNo,無しだとYesになっていた。 -
WatchKit Companion App Bundle Identifier
という値にcompanion有りではコンパニオンアプリのidentifierが設定されていた。
まとめ
あとからCompanionアプリを生やしたくなったらこの差分を見たら多分できると思う。
Discussion