アーカイブしてiOSアプリを送信しようとすると、プロビジョニング設定の競合エラーが発生します


312

今私は提出するために製品>私のiOSアプリをアーカイブしようとしています。ただし、次のエラーが発生します。

AppNameのプロビジョニング設定が競合しています。AppNameは開発用に自動的に署名されますが、競合するコード署名IDのiPhone配布が手動で指定されています。iPhone Developerビルド設定エディターでコード署名ID値をに設定するか、プロジェクトエディターで手動署名に切り替えます。`

SDK「iOS 10.1」の製品タイプ「アプリケーション」にはコード署名が必要です `

iOS証明書またはプロビジョニングプロファイルを再作成するためにプロセス全体を再試行した場合でも、状況は変わりません。

のように設定していiOS DistributionましたTARGETS > Code Signing Identity > Release > Any iOS SDK。私のように設定を変更するとiOS Developer、ここで、及びで設定を変更PROJECTS > Code Signing Identity > Release > Any iOS SDKとしてiOS Distribution、私はアーカイブに成功しました。iOS Distributionターゲットエディターのように設定する必要があるかどうか疑問に思います。必須の場合は、このエラーを回避する方法を教えてください。

XCodeのバージョンは8.1です。


4
コード署名設定がプロジェクトとターゲットの間で競合しないことを確認する必要があります。
max_ 2016年

1
プロジェクトとターゲットの間のコード署名設定のすべての組み合わせを試したと思います。私の問題はどのような設定にもあります。DistributionターゲットエディターでiOSとして設定すると成功しません。必要かどうか疑問に思っています。
vanagar 2016年

1
@BenLeggiero stackoverflow.com/a/52573190/341994も参照してください。私が説明するように、手動でクリーンアップする方法があります。
マット

ポインタをありがとう、@ matt!Macアプリを作成していて、Game Centerのような統合を使用していないため、これは私が取り組んでいた問題には直接当てはまりません。後でブックマークしておきます!
Ben Leggiero、

回答:


897

これと同じエラーが発生しましたが、「署名の自動管理」をすでにチェックしていました。

解決策は、チェックを外してからもう一度チェックして、チームを再選択することでした。Xcodeは、問題を引き起こしているものをそれ自体で修正しました。


15
ありがとう!これは私にとってうまくいきました、cordovaを使用してiosプラットフォームを生成している誰にとっても、最新のCordovaバージョンを使用していても、このエラーが発生しました。自動署名はデフォルトでチェックされていますが、チームは選択されていません。これは、署名の管理と自動署名の選択を解除したときのみで、チームはこれを機能させることができました。エリン、ありがとう!
Jtello、

2
もう一度チェックすると、コード署名によってiOs Developerが自動的に設定されますが、iOs Distributionを設定する必要があります。また、上記と同じ例外を介してiOs Distribution Xcodeを再度設定すると、
ami rt

1
@amirt私はあなたとまったく同じ問題を抱えています。修正しましたか?
Kimi Chiu

@KimiChiuはい、私がした兄弟。
ami rt

2
これは正しいですが、もう少し明確にするために、私が経験したものを次に示します。-事前に(Apple開発者のWebサイト経由で)配布プロビジョニングプロファイルを手動で作成する必要があります。自動署名はあなたのためにそれをしません。-ビルド設定のコード署名IDがどういうわけか台無しになっている場合:自動署名を機能させるには、4つすべてを「iOS Developer」に設定する必要があります(リリース用のものも含む)
jakob.j

153

私も同じ問題を抱えていましたが、iOsアプリのリリースを作成してApp Storeで公開したい場合は、「コード署名ID」をリリースとして追加する必要はまったくありません。 iOs開発者。

プロジェクト->ビルド設定->コード署名IDに移動し、すべてをiO開発者に渡します。

ここに画像の説明を入力してください


3
ええ、これはうまくいきます。ただし、アドホックビルドの場合は、自動署名を無効にしてそこに移動し、代わりに「iOS配布」を設定する必要があります。なぜAppleはそれをこのように実装したのですか?それは全く意味がありません:(
algrid

最良の答えです。xcodeは、「アーカイブ」時にローカルの設定を書き換えます。
トムマルボロリドル2018

アーカイブ後に表示される「Review xxx.ipa content:」をご覧ください。「Certificate:iOS Distribution」です。
トムマルボロリドル2018

これが正解です。この質問の受け入れられた解決策は部分的に正しいです。
Sanchit Kumar Singh

72

IonicまたはCordovaからの参加者は、以下を試すことができます。

ファイルyourproject/platforms/ios/cordova/build-release.xcconfigを開いて、次のように変更します。

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

これに:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

もう一度実行してios cordova build ios --release、リリースビルドをコンパイルしてみてください。

リファレンス:https : //forum.ionicframework.com/t/ios-build-release-error-is-automatically-signed-for-development-but-a-conflicting-code-signing-identity-iphone-distribution-has-手動指定/ 100633/7


3
他のすべての答えを試した後、これは最終的に私のためにそれを機能させたものです。ありがとうございました!
mikewagz

1
このファイルの名前はbuild-release.xcconfigになりました。'c'の1つがありません。これを実行するbashスクリプトは次のとおりです: `` ``#!/ usr / bin / env bash sed -i "" "s / iPhone Distribution / iPhone Developer / g" platform / ios / cordova / build-release.xcconfig exit 0; `` ``
ケントブル

3
行をコメント化することもできます。iPhone Developer設定はで設定されていbuild.xcconfigます。これらの行は単にそれを上書きします。
ジュール、

3
これらの2行を削除して、Xcodeが自動的に署名を管理するようにしました。
ライアンH.

3
cordova-custom-configプラグインを使用して、config.xmlの次の行でこれを自動的に行うことができます。<custom-preference buildType = "release" name = "ios-XCBuildConfiguration-CODE_SIGN_IDENTITY" value = "iPhone Developer" xcconfigEnforce = " true "/> <custom-preference buildType =" release "name =" ios-XCBuildConfiguration-CODE_SIGN_IDENTITY [sdk = iphoneos *] "value =" iPhone Developer "xcconfigEnforce =" true "/>
FactualHarmony

64

あなたはこれを考えすぎです。Xcode 8では、プロセスが大幅に改善され、非常に簡単になっています。その事実を利用してください。

ステップ1:ビルドの設定でコード署名設定を設定しようとしないでください。それらに近づかないでください。あなたは絶対にこれを台無しにするでしょう。代わりに、ターゲットを編集して、[全般]ペインですべての作業を行います。最善の方法:自動コード署名を設定します-チームに参加し、次のようにチェックボックスをオンにします。

ここに画像の説明を入力してください

ステップ2:iOSディストリビューションID(証明書)を持っていることを確認します。これは、Xcodeの設定>アカウント、詳細の表示で確認できます。また、現時点でメンバーセンターにアクセスして、このアプリのApp Storeモバイルプロビジョニングを取得し、ダウンロードしてインストールすることもお勧めします。

ステップ3:宛先として[Generic iOS Device]を選択し、[Product]> [Archive]を選択します。アプリがコンパイルされ、アーカイブが作成され、App Storeに送信する準備が整います。


どうもありがとうございます!成功しました。Step2:「モバイルプロビジョニング」のダウンロードについて確認させてください。それは「iOSプロビジョニングプロファイル(配布)」ですか?ダウンロードしたファイルをダブルクリックしましたが、ここで説明したインストールですか?
vanagar

はい、正確に。ダウンロードしたファイルはXcodeの世界にコピーされました(元のファイルは破棄できます)。実際にApp Storeに送信すると、Xcodeによって表示されます。
マット2016年

Xcodeが自動的に作成するため、特定の状況ではApp Storeのモバイルプロビジョニングファイルを作成する必要がない場合があります。しかし、とにかくそれを作るのは良い考えだと思います。
マット2016年

2
私が見たすべてのデプロイメントチュートリアルで、各ターゲットのコード署名設定を手動で変更するように指示されているのはおかしいです。自動管理をオンにしましたが、気付かなかったほどです。
ダン

1
@andreszs自動署名は、開発証明書とプロファイルの作成に適しています。これは、開発とアーカイブに必要なすべてです。しかし、App Storeに配布するときが来たら、配布プロファイルを手動で作成してダウンロードし、エクスポートプロセス中に使用できるようにすることをお勧めします。
マット

52

このエラーが発生した場合

アプリのプロビジョニング設定が競合しています。アプリは自動的に署名されますが、プロビジョニングプロファイル「ID」が手動で指定されています。ビルド設定エディターでプロビジョニングプロファイルの値を「自動」に設定するか、プロジェクトエディターで手動署名に切り替えます。

次に、ターゲットビルド設定にPROVISIONING_PROFILEオプションが空であることを確認します。

ここに画像の説明を入力してください


1
ユーザービルドプロファイルとシステムビルドプロファイルを区別していません...それが「PROVISIONING_PROFILE」であると指摘していただきありがとうございます
petrosmm

これは私を助けました。
Rafal Zawadzki

これは私が検索してこのSO質問へのリンクを取得したエラーでしたが、これが私が必要とした答えです。「自動」の値を実際に指定しようとしても機能しないことに注意してください。他のことを言っているエラーメッセージにもかかわらず、すべてを指定する必要はありません。私はxcconfigファイルを使用しているため、configファイルの設定を削除するだけで済みました。
user107172

29

これを行うことを忘れないでください、

プロジェクト->ビルド設定を選択します。PROVISIONING_PROFILEを検索し、そこにあるナンセンスを削除します。


1
たぶん私のためにそれをした唯一の解決策、ありがとう
Alexander Vitanov

4
これを行うには、[全般]タブで[署名を自動的に管理する]をオフにして再度オンにし、チームを再選択します。ReinとErinに感謝します。(ちょっと見てください、あなたの名前はアナグラムです!)
Dave Levy

まあそれは興味深い@DaveLevy
Rein rPavi

私のPROVISIONING_PROFILEにはごみが含まれていないようで、「自動」が設定されていて見栄えが良かったので、私はそれほど多くのクレジットを与えませんでした。ただし、削除して自動署名を再度有効にするとうまくいきました。
ラファエルNobre

1
「自動」に設定されており、削除できません。
Dror Bar、

22

あなたがイオンの世界から来ているなら。以下のように、「アーカイブ」段階で「競合するコード署名」エラーが発生する場合があります。

...は開発用に自動的に署名されますが、競合するコード署名IDのiPhoneディストリビューションが手動で指定されています。ビルド設定エディターでコード署名ID値を「iPhone Developer」に設定するか、プロジェクトエディターで手動署名に切り替えます。SDK「iOS 10.x」の製品タイプ「アプリケーション」にはコード署名が必要です

この場合は、ビルド設定/署名中、コード署名IDに移動し、配布ではなくiOS開発者として両方を選択してください。

メニュー:製品/アーカイブに再度移動すると、問題が修正されます。


2
問題は、ビルドごとにリセットされることです...これは自動ビルドを台無しにしています。非インタラクティブなスクリプトでこれを変更する方法はありますか?
Webberig 2017

1
これで問題は解決しました。このソリューションは、後から見ると、大量のアルコールを消費する場合に最適です。
スティーブンクレイマー

18

IonicまたはCordovaからのユーザーは、次のことを試すことができます。以前ios cordova build ios --releaseにiOSデバイスをコンピューターから切断します(xcode署名の対象デバイスを変更するようです)。


6
これは最も愚かな答えであり、完全に機能します。アプリを機能させるためにXcodeで行う必要があるすべての回避策は嫌いです。
ジョーダンベンジ

これは正しいです。iPhoneではなくiPadを接続すると、このエラーが発生します。すべてのiOSデバイスを取り外してコマンドラインからビルドすると、その後は問題なく動作しました。
ニール、

その通りです。私は丸一日この問題を解決しようと努力してきましたが、これが私にとって有効な唯一の解決策です。
ulisesvera

1
IOSは私を怒らせます..すべてはジグルで解決する必要があります...それ以外の場合は、男に感謝
セロカ

15

ビルド設定に移動し、コード署名IDを検索して、iOS DeveloperのAny iOS SDK値を設定します。

ここに画像の説明を入力してください


4
ええ、それはまさにエラーメッセージがするように要求するものです。しかし、リリースビルドに「iOS Developer」を使用することが意味をなす理由を説明していただけませんか。
algrid 2018

奇妙なことに、これは以前のユニティ生成プロジェクトでもうまく機能したものでした
ina

15

唯一の解決策は私のために働きました:

  1. Xcodeプロジェクトを閉じる
  2. ファインダーを使用してプロジェクトフォルダーに移動
  3. .xcodeprojを右クリックし、「パッケージの内容を表示」を選択します
  4. project.pbxprojを右クリックして、「アプリケーションから開く」を選択し、TextEditを選択します。
  5. 次に、エラーメッセージで指定されているプロビジョニングプロファイルのinstanceIdを検索します。
  6. 見つかったすべてのテキストを削除し、プロビジョニングプロファイルをクリーンアップします。
  7. 保存して閉じる
  8. Xcodeを開く
  9. 署名の自動管理を有効にする

楽しい!お役に立てれば幸いです。


Xcodeの問題になることがわかっていました。トンマンありがとう!!!! プロビジョニングプロファイルのビルド設定で自動表示されていましたが、それでもエラーが発生しました。問題が発生したのは私だけではありませんでした。
アンバーK

実際には、1つの開発者アカウントと1つのアプリがある場合に使用できますが、多くのアプリでは他の問題が発生します。
goraga1

9

私にとって、との両方Code Signing IdentityをすべてiOS Developerに変更します。DebugRelease

そしてCode Signing StyleAutomatic

ここに画像の説明を入力してください


8

私の場合、ビルド設定で「自動」オプションを設定しました。

ここに画像の説明を入力してください


7

次のいずれかを試してください

1. iOSプラットフォームの削除と追加、およびiOS用のプロジェクトの再構築

ionic cordova platform rm ios
ionic cordova platform add ios
ionic cordova build ios --release

2.Xcodeビルド設定の変更

解決策は、チェックを外してからもう一度チェックして、チームを再選択することでした。Xcodeは、問題を引き起こしているものをそれ自体で修正しました。

3.プラットフォームで次のコードを変更します

プロジェクトをxcodeで自動サインインするように設定していたので、これは意味がありませんでした。あなたのように、チェックとチェック解除は機能しませんでした。しかし、私は与えられた最後のファイルパスを読み、それに従いました。ファイルパスはAPP> Platforms> ios> Cordova> build-release.xconfigです。

また、このファイルでは、iPhoneディストリビューションがCODE_SIGN_IDENTITYに明示的に設定されています。

変化する:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

に:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

7

私は長い間苦労していました、提案されたすべての解決策を試しました。何もうまくいきません。

次に、問題が見つかりました。「ビルド設定」タブの最後に「PROVISIONING_PROFILE」の「ユーザー定義設定」がありました。プロジェクトとターゲットの両方のビルド設定で削除します。その後、自動署名は完璧に機能しました。

これが他の誰かの役に立つことを願っています。:)


6

.xcodeprojファイルを見つけて、テキストエディターで開きます

以下のフィールドを見つけて、このようにしてください

CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY [sdk = iphoneos *]" = "iPhone開発者";

PROVISIONING_PROFILE = "";

PROVISIONING_PROFILE_SPECIFIER = "";


6
  1. 一般->署名->自動的に署名を管理し、チームを選択するチェック

  2. ビルド設定->署名->コード署名ID-> SET ALL TO "IOS developer"


4

私のために働いただけのもの。

プロジェクトを開く->ターゲットを選択->ビルド設定->プロビジョニングの検索に移動し、選択したプロファイルを削除します。


2

私の場合、Apple Developer Websiteにログインし、デバイスのリストをリセットする必要がありました。

新しいデバイスを追加して証明書を生成する前に、サブスクリプションが更新されたときに毎年それを行う必要があるようです。


2

同じ問題がありました共有拡張機能のビルド設定で「プロビジョニングプロファイル」を検索することで鉱山が修正されました

次に、2つの「プロビジョニングプロファイル」フィールドがあり、1つは通常のもので、もう1つは廃止されました。通常のものは自動でしたが、非推奨のものはそうではありませんでした。これを自動に変更すると、エラーが修正されました。


2

私はdump_syms、Firebase SDKを手動でインストールしたときに、バイナリと一連のスクリプトをビルドターゲットにドラッグしました。ターゲットとプロジェクトからそれらを削除すると問題が解決しました。


アンリアル、正しい方向を指示していただきありがとうございます。詳細:stackoverflow.com/questions/41056047/...
ドロールバー

2

Xcode 10の使用:他の解決策はどれも私にとってうまくいきませんでした。

このエラーは、Xcode 10では修正できないもののようです

この問題を解決するには、Xcode 9に戻してから、Xcode 10に更新して、エミュレーター以外のデバイスのiOS 12でアプリケーションを実行する必要がありました。

Xcode 10で使用されているStack Overflowやその他の場所で見つかった他のソリューションは、プロビジョニングの競合または証明書の問題の署名という無限のサイクルに私を送りました。Xcode 10では、自動方式を使用しているか、プロビジョニングプロファイルと証明書を手動で選択しているかにかかわらず、署名が壊れているようです。

最初にアプリケーションフォルダからXcode 10を削除することで、Xcode 9に戻すことができます。次に、このApple Developersページにリストされている.xipファイルを使用してXcode 9をインストールします

Xcode 9では、自動ビルドオプションを使用します。「署名を自動的に管理する」のチェックを外して再度選択する必要がある場合があります。また、developer.apple.comで既存の証明書を取り消す必要がある場合もあります。

Xcode 9でアプリを正常にビルドできたら、App Storeを使用してXcode 10に更新できます。Xcode 10でアプリケーションを再度開いた後も、すべてが機能しました。これを行う必要はないかもしれませんが、Xcode 10を必要とするiOS 12用にビルドするために必要でした。


" - UseModernBuildSystem = 0" --buildFlag =フラグを追加してみてください
Redwolf

2

テキストエディター「Atom」でプロジェクトファイルを開き、プロビジョニングプロファイルIDを検索して削除しました。



0

Xcode 8.3.2に更新した後、Cordovaプロジェクトで同じエラーが発生しました。コード署名を機能させるには、Cordova(v7.0.0)とiOSプラットフォーム(v4.4.0)をアップグレードする必要がありました。



0

ビルド設定名の「製品バンドル識別子」が実際のバンドル識別子と一致することを確認してください。これは私にとってはうまくいきました。


0

私にとっては、自動から手動に切り替える必要があり、同じエラーを自動に切り替える必要があります。手動に切り替え、それらのプロビジョニングプロファイルとコード署名設定を変更し、ビルドしてエラーを取得し、自動に切り替えれば、成功します。


0

私も同じ問題を抱えていました。それはxcodeを使用していたためだと気づきました。アップデートが正しくインストールされなかったため、これらのエラーが表示されました。それを修正した唯一のことは、xcodeを終了して再度開くことでした。再び開くと、アップデートをインストールするように求められました。アップデートがインストールされた後、エラーはなくなりました。


0

コルドバの設定に問題があります。

これに注意してください:

iPhone Distribution has been manually specified

プロジェクトをxcodeで自動サインインするように設定していたので、これは意味がありませんでした。あなたのように、チェックとチェック解除は機能しませんでした。しかし、私は与えられた最後のファイルパスを読み、それに従いました。ファイルパスはAPP > Platforms > ios > Cordova > build-release.xconfig

また、ファイルでは、iPhoneディストリビューションが明示的にに設定されていCODE_SIGN_IDENTITYます。

変化する:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

に:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

これは簡単なことであり、エラーメッセージはiPhoneディストリビューションが手動で指定されたことを明確にしますが、パスをたどらない限り、実際にはどこにあるのかはわかりません。私はこれを理解しようと約3時間xcodeを見て、いじった。これが将来の誰にも役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.