この問題に関するいくつかの投稿がありますが、私の場合、提案された解決策はどれも機能しません。私は、Appleが提供する指示に従って、WatchKitをシンプルなサンプルアプリに統合しようとしています(私は今、いくつか試しました)。コンパイルすると、次のエラーメッセージが表示されます。
「エラー:WatchKit拡張機能にWatchKitアプリが含まれていません。WatchKitアプリのInfo.plistのWKWatchKitAppの値がYESに設定されていることを確認してください。」
Apple Watch "Catalog"の例を正常にコンパイルして実行したので、iPhoneからWatchの観点から物事が機能していることがわかります。既存のものと統合しようとすると、何かが正しくないようです。 app。このトピックに関する投稿を見たことがあります(例 WatchKitアプリはシミュレーターで実行されません )が、私の場合は修正が機能しません。バンドルIDはすべて正しいようです。シミュレータではなくiPhone6でコンパイルして実行します。何か提案はありますか?
このエラーは、メインのiOSアプリのバンドルIDを変更したときに発生しました。これは私がプロジェクトエクスプローラーで行ったことです
WatchApp-> plistの下
WKCompanionAppBundleIdentifier ==> Give the id of the iOS App (com.xxxx.appname)
WatchApp拡張機能の下-> plist NSExtension-->NSExtensionAttributes-->WKAppBundleIdentifier ==> Give the id of your watchkit app (eg: com.xxxx.appname.watchkitapp)
これでエラーが修正されました。
Xcodeバージョン8.2.1でこれに気づきました。これが私がそれを修正した方法です。
「WatchKitアプリ」->ビルド設定->パッケージング->製品名に移動します
現在の文字列とは異なる文字列になるように変更します。以下のリンクで呼ばれているような奇妙な解決策であることに同意しました。
このエラーの主な理由は、
1ウォッチキット拡張plistファイルのウォッチアプリバンドルIDが正しくありません。
カタラグの例を含むAppleドキュメントが役立つ場合があります https://developer.Apple.com/library/ios/technotes/tn2410/_index.html
以下の設定は私のために働いた
バンドル識別子:com.domain.WatchKit-table
WKCompanionAppBundleIdentifier:com.domain.WatchKit-テーブル
バンドル識別子:com.domain.WatchKit-table .watchkitapp
NSExtension> NSExtensionAttributes> WKAppBundleIdentifier:com.domain.WatchKit-table.watchkitapp
バンドル識別子:com.domain.WatchKit-table .watchkitapp.watchkitextension
注:私のバンドルIDには、3番目のコンポーネントとして*があります。 WatchKit-tableは私のプロジェクト名です
XCode Version 10.2 (10E125)
でこの問題が発生しました。WatchkitAppバンドル識別子を変更したときに、watchkitapp拡張機能の1つのキーが変更されず、古いバンドル識別子のままであることに気付きました。
plistへのパス:/ Users /.../ YourXcodeProjectFolder/Project/YourWatchkitExtensionFolder/info.plist
ここで問題が発生しました:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>WKAppBundleIdentifier</key>
<string>com.applecode.water.watchkit</string>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.Apple.watchkit</string>
</dict>
キーWKAppBundleIdentifier
が問題になったので、自分で変更しました。
ビルド番号を変更した後、xcode10.0でこれに気づきました。
ビルドフォルダをクリーンアップし、xcodeを閉じて、再度開くとうまくいきました。
私の場合、拡張ライブラリの構築に問題がありました。実際、ビルドされておらず、2つのエラーがありました。1。拡張ライブラリがないことについてのリンカーから。 2.NSExtensionPointIdentifierキーの「欠落」に関するXcodeから。
リンクエラーの修正もこのメッセージを修正しました。