IOSアプリに拡張機能(今日の拡張機能とApple Watchアプリ)の両方を追加しようとしました。ただし、アーカイブを送信するときにバンドル識別子に基づいてエラーが発生しました。その後、拡張機能を削除し、追加し直して再送信しようとしましたが、xcodeは、プロビジョニングプロファイルに署名できないと不満を言いました。
「識別子「com.example.app.extention」のアプリIDは使用できません。別の文字列を入力してください。」
すぐにメンバーセンターにアクセスして、拡張機能で使用できないアプリIDが既に存在するかどうかを確認しました。名前と矛盾するものはありません。これは私にとってとても奇妙なことです。古いIDと競合しない場合、新しいIDを作成できませんか?また、以前の拡張機能からプロビジョニングプロファイルを削除しました。それでも、"com.example.app.extention"
または "com.example.app.watchkitextension."
を追加できませんでした
"com.example.app.extentions.watchkitextension."
や"com.example.app.extentions.todayextention."
などの新しい命名規則に従って、新しいアプリIDを作成することにしました。すべてが正常に機能し、正常に構築されました。私は自分のデバイスにインストールした、物事は良かった。私のアーカイブも検証されました。ただし、送信時にエラーが表示されます。
エラーITMS-90347:「悪いバンドル識別子。アプリケーション拡張子xxx.app/Plugins/xxxExtension.appexのバンドル識別子「xxx.yyy.zzz」は、アプリケーションのバンドル識別子「xxx」で始まり、複数のピリオドを含むべきではありません。アプリケーションバンドルIDの後の「。」。
つまり、xcodeとメンバーセンターでは適切なIDを作成できないという命名規則"com.example.app.extention"
を使用する必要があります。
私は非常にイライラしています。誰か助けてください。どこにも解決策が見つかりません。
[〜#〜] edit [〜#〜]
私は実際にその識別子をまったく使用できなかったようです。
また、このメッセージを持つすべての人に対するいくつかの警告に注意する必要があります。
1)com.domain.app.extensions.extensionでも機能しないため、拡張子にピリオドが含まれる前に何かを追加することはできません。 2)オートマティックスSwift 2コンバーターは、識別子をより標準的な名前に変更し、xcodeにプロビジョニングプロファイルを機能させようとする傾向があります。これに注意してください!
私が持っていた唯一の修正は、識別子名を変更することでした。個人的にcom.domain.app.todayextensionを使用しました。私はそれを動作させましたが、正しい開発と配布用のプロビジョニングプロファイルをインストールして追加した後のみメンバーセンターを使用しました。これはAppleのシステムのバグのようです。または、プロビジョニングプロファイルがどのように機能するかについて、私たち全員がまったく知らないかもしれません。後者がおそらく真実だと思います。とにかく、それがお役に立てば幸いです!
Apple開発者フォーラムから解決策を見つけました。
Appleは、Dev Center CGUを更新しました。アプリ拡張機能bundleIdの方が厳しいようです。
アプリのbundleId形式がcom.my.appの場合
アプリ拡張機能bundleIdはcom.my.app.XXXである必要があります
新しいappIDとプロビジョニングプロファイルを作成すると、問題が修正されます。
このリンクを確認してください https://forums.developer.Apple.com/thread/15712
7.3にXcode
アーカイブ時にこの問題が発生しましたが、私の場合は、プリファレンスですべてのプロビジョニングプロファイルをダウンロードするとこれを修正できないため、更新します。
メンバーセンターでアプリのプロビジョニングプロファイルを確認してください。
[開発者]> [証明書、IDおよびプロファイル]> [プロビジョニングプロファイル]> [すべて]に移動します。
アプリの開発と配布プロファイルを探し、ステータスがInvalidであるかどうかを確認します編集
プロファイルの内容を変更し、生成ボタンを選択して変更を保存します
最後に、Xcode>環境設定> [Appleアカウント]>詳細の表示およびすべてダウンロードに進み、プロビジョニングプロファイルを更新します
掃除。ビルド。アーカイブ。成功 !それが役に立てば幸い :)
Xcode 7.3でうまくいったのは次のとおりです。
Apple Developer member center。デバイスをリセットする機会があります。デバイスをリセットすると、Xcodeが管理するプロビジョニングプロファイルが無効であることがわかります。これを更新するには、 Xcode>アカウント-> my Apple ID->詳細を表示し、すべてのプロビジョニングプロファイルをダウンロードしました。デバイスにビルドし、適切な測定のためにプロビジョニングプロファイルを再度ダウンロードしました
私はほとんど同じ問題を抱えていました.Xcode 7.3を使用してコンパイルしようとしていましたが、ビルドは常に失敗しましたので、同じアプリの開発者プロビジョニングプロファイルとアプリストアプロビジョニングプロファイルを作成する必要があるという問題がありましたfastlaneを使用してリリースし、Xcodeでビルドできます。
この後、私は次のことをしました:
Com.mycompany.appnameなどの一般的なバンドルIDの場合、アプリID名は次の形式である必要があります。
XC com mycompany appnameその他の形式の名前は、Xcodeには表示されません。
私はプロダクションプロビジョニングプロファイルで試してみました。
7.3にXcode
7.2から7.3にアップグレードした後、同じ問題が発生しました。私の場合、障害はハイフネーションされたドメインおよびAppIDで、これまでは機能していましたが、XCode 7.3では機能しなくなりました。ハイフンを(Membercenterの)AppIDのスペースに置き換えたところ、再び機能しました。
開発者コンソールからアプリIDを削除し、XCodeにアプリIDを再作成させる必要がありました。
私の問題は、エンタイトルメントを追加するときに、メンバーポータルのアプリIDにエンタイトルメントを追加しなかったことです。ポータルのアプリ設定が製品の資格ファイルと一致することを確認します。必要に応じてプロビジョニングプロファイルを再生成およびダウンロードします。