web-dev-qa-db-ja.com

「このアプリには、不正なバンドル識別子を持つアプリ拡張機能が含まれています」

アプリ名、バンドル表示名、バンドル識別子名を変更したため、少し混乱しています...アプリは正常に動作しますが、今日のウィジェットは動作しません。

今日ウィジェットを実行しようとすると、正常にビルドされますが、起動される代わりに、

このアプリには、不正なバンドル識別子を持つアプリ拡張機能が含まれています。アプリ拡張バンドル識別子には、含まれているアプリケーションのバンドル識別子とそれに続く「。」で構成されるプレフィックスが必要です。

ただし、Info.plistを確認したところ、バンドル識別子は

com.myname.myappname

今日のウィジェットのバンドル識別子は

com.myname.myappname.mywidget

これはちょうどいいじゃないですか?私は何度も何度も掃除して作りました..しかしそれはうまくいきません。

そして、グーグルの結果はありません!この問題を抱えているのは私だけですか?

問題がある場合、私のバンドル名は「myappname」ではありません。

どんな助けでも大歓迎です。

何かが悪くなり、どこを見ればいいのかわからない!

12
kwmaeng

共有拡張機能のBundle identifierで同様の問題が発生しました

エラー

app Info.plist: com.company.product.$(PRODUCT_NAME:rfc1034identifier)
ext Info.plist: com.company.product.$(PRODUCT_NAME:rfc1034identifier)

だから私は

app Info.plist: com.company.product.product
ext Info.plist: com.company.product.product_ext

ビルドチェックに合格しましたが、エラーのあるデバイスでの実行を拒否しました。

このアプリには、不正なバンドル識別子を持つアプリ拡張機能が含まれています。アプリ拡張バンドル識別子には、含まれているアプリケーションのバンドル識別子とそれに続く「。」で構成されるプレフィックスが必要です。

余分なproductを削除すると、ビルドはデバイス上で実行されました。

正しい

app Info.plist: com.company.$(PRODUCT_NAME:rfc1034identifier)
ext Info.plist: com.company.product.$(PRODUCT_NAME:rfc1034identifier)

app Info.plist: com.company.product
ext Info.plist: com.company.product.product_ext

拡張子Info.plistではなくアプリケーションInfo.plistを誤って変更したときに、エラーが見つかりました。問題のデバッグを支援するために、アプリケーションInfo.plistにエラーを導入すると、アプリと拡張機能のBundle identifierでビルドエラーが発生するはずです。

 ERROR.com.myname.myappname
4
dougbeal

選択した回答が機能しない場合は、これを引き起こしたいくつかのターゲットスキーマ間のxcode切り替えの問題と思われるものを見つけました。

この場合、完全なクリーンアップとビルドフォルダーのクリーンアップを実行してみてください(製品/クリーンを選択するときにALTを押したままにします)。

補遺:これは私にとって今ではかなり頻繁に発生するため、より迅速な修正はすべての.appexファイルも削除することです。例えば:

cd ~/Library/Developer/Xcode/DerivedData
find . -name "*.appex" -exec rm -fr {} \;
24
JamesDill

私にとってこれは、アプリ拡張機能のバンドル識別子の名前が間違っているためです。 @dougbealの回答に似ていますが、私にとっては少し異なるフォーマットでした。

com.company.AppName
com.company.AppName.Extension

Extensionの前に"."がありませんでした

これは、 issue に関連する問題にも対処しました

5
Azin Mehrnoosh