web-dev-qa-db-ja.com

Xcodeが一致する署名アセットを見つけようとしたり生成しようとしましたが、失敗しました

したがって、MavericksのXcode 6.0.1で既存のプロビジョニングプロファイル(以前は機能していた)を使用してアドホックビルドを作成しようとしていますが、このアーカイブをエクスポートしようとすると、次のエラーが発生し続けます:

証明書とプロビジョニングプロファイルを再作成する必要がありますか、それともより良いソリューションがありますか?ありがとう!

62
liquidpenguins

また、私はこの問題に「チームメンバー」の役割として直面しています。 「この操作を実行することは許可されていません」という警告は、XCodeがここで定義されているロールをより厳密に強制していることを信じさせます。 https://developer.Apple.com/programs/roles/

署名資産(証明書およびプロビジョニングプロファイル)にアクセスできますが、XCodeではそれらを指定できません。役割をチーム管理者にアップグレードしてみてください。

2014-09-29に更新:広範な調査の結果、コマンドラインからxcodebuildを使用して.ipaを生成することが可能であることがわかりました。以下を使用する「チームメンバー」ロール:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"

1 へのクレジット

注:リンクされた記事で指摘したように、「プロビジョニングプロファイル名」は、証明書の名前フィールドで指定された名前です(developer.Apple.comから表示可能)。

プロジェクトビルドスクリプトに呼び出しを含めることで、Xcodeでプロセスを自動化できます。

47
Tico Ballagas

コンソールを開いてXcodeプロジェクトフォルダーに移動し、次のコマンドを入力してください。

プロジェクトをきれいにする

xcodebuild clean -project YourProjectName.xcodeproj -configuration Release -alltargets

アプリをビルドしてアーカイブする

xcodebuild archive -project YourProjectName.xcodeproj -scheme YourSchemaName -archivePath YourProjectName.xcarchive

YourSchemaNameは、Xcode> Product> Scheme> Edit Scheme ...で簡単に見つけることができます。

最後に、アプリの.ipaファイルを作成します

xcodebuild -exportArchive -archivePath YourProjectName.xcarchive -exportPath YourProjectName -exportFormat ipa -exportProvisioningProfile 'Your Provisioning Profile Name'

Provisioning Profile Nameにアクセスするには、Apple Developer Member CenterにログインしてCertificates、Identifiers&Profilesにアクセスし、次にクリックしてください- プロビジョニングプロファイル iOSアプリの場合、プロビジョニングプロファイル名が表示されます。

うまくいかない場合は、一重引用符を二重引用符に置き換えてください( 'を ")。

Xcodeプロジェクトフォルダーに.ipaファイルがあります。

この後、iTunesで.ipaファイルを開き、iOSデバイスにインストールできます。

私はそれが役立つことを願っています!

11
kammodze

現状:Xcodeは有効な証明書でビルドに署名する必要があります。それは運のないものを見つけようとしています。どうして? Xcode6以前は、開発者証明書を使用してAdHocビルドに署名することが許可されていたためです。秘密鍵を持っているので、できました。しかし、今、Production証明書でアドホックビルドに署名する必要があります。そして、あなたはそれのための秘密鍵を持っていません。

Xcode6からビルドできるようにするために必要な手順( https://stackoverflow.com/a/26061067/1918302 ):

  1. 実動証明書の秘密鍵を取得します。 (所有しているMacキーチェーンからエクスポートし、キーチェーンにインポートする必要がありますOR現在の証明書を取り消して、新しい本番証明書を作成します。作成中に取得できます。上記のリンクから引用します。

    [〜#〜] beache [〜#〜]:エンタープライズ配布証明書を取り消すと、その証明書で署名およびデプロイされたすべてのアプリが無効になります( 公式情報 ))。

  2. 特別なXC Ad Hocを作成します:Distributionプロビジョニングプロファイル(developer.Apple.comのチームで管理者の役割がある場合-Xcodeがこれを行います) 。

  3. プロジェクトのターゲットでプロビジョニングプロファイルを設定します->ビルド設定->手順2で作成したコード署名。

できた!

または、上記が達成できない場合は、コマンドラインツール https://stackoverflow.com/a/25979784/1918302 を使用してビルドを作成できます。しかし、これはセキュリティホールのように思われ、これが長い間機能するとは思わない。

7
bucherland

私にとって、この原因は、プロジェクトのプロビジョニングプロファイルプロパティを この回答 に従って設定していなかったことが原因でした。

2
devios1

この問題を回避するには、管理者の1人に開発センターから「XC Ad Hoc:Distribution」プロファイルをダウンロードさせ、それを作成したい「Team Member」に送信し、手動でインポートさせます。 。彼はすでに証明書を取得していたので、ビルドを実行してこのエラーの発生を停止するために必要なのはこれだけでした。ここでの既存の答えは正しいですが、これは私たちの多くにとってパズルの最後のピースを得るための低摩擦の方法です。

要約すると、このプロファイルが必要ですandキーチェーンに秘密鍵を含む証明書。

2
Clay Fowler

私の場合、問題はアプリIDでした。もちろん、アプリは私のメンバーセンターアカウントに存在していました。問題は機能ペインにありました。一部の機能は問題を解決しませんでしたが、ビルドは成功しました。これは、メンバーセンターのアプリIDとXcodeの機能設定が異なる場合に発生します。

この不協和音を取り除くことで私の問題は解決しました。同様の問題がある場合は、2回確認してください。

1
Dima Deplov

また、構築中のマシンの開発者証明書の有効期限が切れていたため、このエラーを受け取りました。

その証明書を更新した後でも、App Storeリリースのビルドをエクスポートできませんでした。受け入れられた回答の指示に従い、その開発者アカウントを管理者にアップグレードした後でも。

開発者証明書の有効期限が切れている間にアーカイブが作成されたため、その開発者は配布プロファイルを使用してコード署名できませんでした。開発者証明書を更新した後、そのマシンで配布証明書(既にインストールされ、以前に動作していた)を使用して新しいアーカイブにコード署名し、アプリストアにアップロードできるようにするには、アーカイブを再作成する必要がありました。

他の誰かがこのEdgeケースをヒットした場合の共有。

0
user5684435

配布されたアカウントはteamと一致しません。

Xcodeproj-> Identity-> Team-> Add an Accountでアカウントを定義する必要があります

0
kingalex

Xcode-> preferences-> accountでアカウントを定義する必要がありますIOS開発者アカウントへのアクセスを許可されていないappleIdを定義しているようです。

https://developer.Apple.com/devcenter/ios/index.action でそのユーザーと署名し、そのユーザーがIOS開発者プログラム。

これは、iTunes Connectで署名した場合に発生する可能性があります。それらは異なるアカウントです。

これがお役に立てば幸いです!

0
Eva Madrazo