エラー
WatchKitをTargetsに追加した際に謎のエラーが発生しました。
原因はよくわかっていないのですが回避方法がわかったのでメモとして残しておきます。
恐らくXcode/Simulatorのバグだと思われます。
発生するタイミング
- iOS8.2のシミュレータを使用し、WatchKit Appを動かす場合
- 複数プロジェクトのWatchKit Appを同一のシミュレータで動かす場合
環境
- Xcode6.3.2(6D2105)
- Simulator iOS8.3
解決方法
「SPErrorInvalidBundleNoGizmoBinaryMessage」で検索すると
以下のページにたどり着きました。
Stack Overflow
Did you change the bundle ID of your app?
If so you may need to manually update the WKAppBundleIdentifier in the WatchKit Extension and also the WKCompanionAppBundleIdentifier in the WatchKit App.
どうやらBuild Identifierが一致していないとこのエラーが発生するようです。
Build Identifierを変更している場合は下記の2つを確認すると解決するかもしれません。
info.plist
WatchKit Extension
NSExtension > WKAppBundleIdentifier
info.plist
WatchKit App
WKCompanionAppBundleIdentifier
上記の値が問題ない場合は以下の方法でエラーを回避することができます。
回避方法
- プロジェクトをクリーン
Cmd + Shift + K
- シミュレータのリセット
iOS Simulator > Reset Content and Settings...
- ビルド
原因はよくわかっていないのですが
再度エラーがでても上記の手順でエラーを回避することができます。