たけぞうBLOG

iOS,XCode,Cameraなど

Apple watch Swift Xcode6

[Swift]WatchKitで”error: WatchKit Extension doesn’t contain any WatchKit apps whose bundle identifiers match 〜”と怒られた

投稿日:5月 19, 2015 更新日:

WatchKit対応のアプリをストア公開用にビルドする際、以下のように怒られたので対処メモです。
error: WatchKit Extension doesn\'t contain any WatchKit apps whose bundle identifiers match \"xxx.xxx.xxx.watchkitapp\". Verify that the value of WKAppBundleIdentifier in your WatchKit Extension\'s Info.plist matches the value of CFBundleIdentifier in your WatchKit App\'s Info.plist.

エラーの意味と原因

WatchKit ExtensionのInfo.plistのWKAppBundleIdentifierとWatch AppのInfo.plistのCFBundleIdentifierが合ってないよ。つまり、WatchKit ExtensionとWatchKit AppのそれぞれのInfo.plistで不整合が起こっているわけです。

対応方法

それぞれのInfo.plistをチェックします。

WatchKit ExtensionのInfo.plist

XcodeのNavigation AreaからWatchKit Extension > Supporting Files > Info.plistを開きます。 確認すべきは、NSExtensionのNSExtensionAttributesのWKAppBundleIdentifierです。 これが次のWatchKit AppのInfo.plistにあるにあるBundle Identifierと一致している必要があります。   \"release-Info_plist_—_Edited\"   Info.plistをテキストエディタで編集する際は下記の箇所を確認してください。
<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>WKAppBundleIdentifier</key>
        <string>com.example.helloapp.watchkitapp</string>
    </dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.watchkit</string>
</dict>
 

WatchKit AppのInfo.plist

XcodeのNavigation AreaからWatchKit App > Supporting Files > Info.plistを開きます。 こちらの確認項目はBundle Identifierです。   \"02\" Info.plistをテキストエディタで編集する際は下記の箇所を確認してください。
   <key>CFBundleIdentifier</key>
    <string>com.example.helloapp.watchkitapp</string>
エラーに書かれている内容をよく読めばわかるのですが、私はしばらくハマってしまいました。。

-Apple watch, Swift, Xcode6
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Amazonで76円!Lightning Micro USB 変換アダプタをiPhone6で試してみた

microUSBケーブルが余ってたので、iPhoneでも使えるようにLightning Micro USBの変換アダプタを購入してみました。 Appleの純正品は1,900円もするのですが、ノーブラン …

[Swift]UINavigationBarの背景を透明にする

いつも忘れるのでメモ self.navigationController?.navigationBar.setBackgroundImage(UIImage.new(), forBarMetrics: …

[Swift]WatchKit対応プロジェクトを一時的に非対応にする方法

XcodeでWatchKit対応アプリを開発していたのですが、一時的にWatchKit対応を外す必要があったため、手順メモです。

[Swift]Autolayout+UIScrollView上に動的なUITextViewを表示する

Autolayout+UIScrollView上に動的なUITextViewを表示しようと思ったのですが、なかなか一筋縄ではいかなかったので備忘録 やりたいこと StoryboardでAutolayo …

Swiftでデバッグ用にLOGやLOG_METHOD()を使いたい

Objective-Cで使っていたLOGやLOG_METHODといったマクロをSwiftでも同様に使いたかったので作りました。

プロフィール


1972年神奈川県生まれ。ソフトウェアエンジニアとして生きています。最近はクライアントアプリからサーバーサイドまで幅広くやってます。