web-dev-qa-db-ja.com

Xcode 6 - Ad-Hoc配布用の署名証明書/プロビジョニングプロファイルを選択する方法

アプリをテスターに​​配布するために、Xcodeを使用します。これは、次のプロセスを使用して行います。

  • アーカイブアプリケーション
  • アドホック配布
  • プロビジョニングプロファイルを選択
  • .ipaをフォルダに保存します

しかしXcode 6を使うと、このワークフローは少し変更されました。アドホック配信オプションを選択することはできますが、必要なプロビジョニングプロファイルを選択することはできません。これにより、使用されている署名証明書とプロビジョニングプロファイルの設定を制御できません(プッシュ通知を使用します)。

デフォルトではiPhone distribution署名IDが使用され、ある種のXC Ad Hocプロビジョニングプロファイルが生成されます。これは以下の画像で確認できます。Exporting IPA プロビジョニングプロファイルの近くにある矢印をクリックすると、プロビジョニングプロファイルのあるフォルダが開きます。

だから私の質問は:

アドホック配布で使用されるプロビジョニングプロファイルを選択するためのXcode 6の方法はありますか?

ありがとうございます。

143
Legoless

私は同じ問題に直面していました。XCode6がプレインストールされている(XCode5を再インストールする必要はありません)コマンドラインの "xcodebuild"ツールスクリプトを使って解決しました。

http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/

端末内のスクリプト:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile 'Provisioning Profile Name'
52
Aqib Mumtaz

App Storeに登録するときにも、同様の問題がありました。アーカイブを作成して[送信]をクリックすると、Xcodeはデフォルトの "XC com。*"ワイルドカードプロビジョニングプロファイル(既に持っている明示的なプロファイルの代わりに)に自動的に署名したいと考えました。

これを修正するために、私はApple Developer Portalでプロファイルを再生成しました。

1)developer.Apple.comにアクセスして、使用したい配布プロビジョニング・プロファイルを見つけてください。
2)それを選択して[編集]をクリックし、プロファイルの名前を変更して[生成]をクリックします。
3)プロビジョニングプロファイルをデスクトップにダウンロードしてXcode 6アイコンにドラッグします。
4)Xcode 6を再起動します。
5)オーガナイザーウィンドウを開き、作成したアーカイブの[送信]をクリックします。 Xcodeは自動的に一般的なものではなくあなたの明示的なプロファイルを選びます。

31
GingerBreadMane

オーガナイザーになったら

  • アドホックビルドを選択して[エクスポート]をクリックします。
  • [アドホック展開用に保存]を選択し、[次へ]をクリックします。
  • ドロップダウンから組織を選択する代わりに、[ローカル署名資産を使用する]を選択します - > [選択]
  • 以前と同様に.ipaをエクスポートして保存します。

もちろん、アドホックプロビジョニングプロファイルを生成し、ダウンロードしてインストールしておく必要があります。

27
MrPatol

それは最後に生成されたプロビジョニングプロファイルが今勝っているようです。だからあなたはただあなたが欲しいプロファイルを再生成してそれをダウンロードすることができ、Xcodeはそれを使うでしょう。

もう少し良い方法:ターゲットに目的のprovプロファイルを設定し、コマンドラインを使用してipaを構築します。これも機能します。

これが、私が使っているスクリプトです。

#!/bin/sh

# Current as working as of 2014/09/22
# Xcode 6

OUTPUTDIR="$HOME/build"
APPNAME="your-app"
SCHEME="your-app"
APP_WORKSPACE="$HOME/Path/To/your-app.xcworkspace"

rm "$OUTPUTDIR/$APPNAME.ipa" #deletes previous ipa
xcodebuild -workspace "$APP_WORKSPACE" -scheme "$SCHEME" archive -archivePath "$OUTPUTDIR/$APPNAME.xcarchive"
xcodebuild -exportArchive -exportFormat ipa -archivePath "$OUTPUTDIR/$APPNAME.xcarchive" -exportPath "$OUTPUTDIR/$APPNAME.ipa" 

そして私の設定:

Xcode settings

17
Thorsten

アドホックエクスポートを実行しているXcode 6(少なくとも現在6.1)では、開発者アカウントに登録されているすべてのデバイスを含むプロビジョニングプロファイルにバンドルIDが一致すると、xcode 6が自動的にスキャンします。 。いいえの場合、XC提供プロファイルを使用します。したがって、たとえばプッシュ通知の目的で自分のプロファイルを使用する場合は、Apple開発者ポータルで自分のプロファイル内のすべてのデバイスを選択する必要があります。私はそれが何人かの人々がプロフィールを作り直すことは働くでしょう、そして何人かがそうしない理由であると思います。

ところで、スクリプトを使用してtestflightにエクスポートしてアップロードすることができますが、デバイスはそれをダウンロードすることはできません。おそらくどこかで私は間違っていました。誰かがその理由を知っていれば、plsは私に知らせます。 tks

8
AlexHsieh

私もこれを理解することができませんでした - それがワイルドカードプロファイルにデフォルト設定されていたAppStoreに提出するとき、それに少し気付いた。

私はXcode 6でビルドしてから、Xcode 5のオーガナイザーウィンドウに戻って送信しました。そうすることで、サインインするプロフィールを選ぶように促されます。

これは私のために働いた:

  1. [開発チームの選択]ダイアログ内の[アカウントの表示]をクリックします。
  2. 「詳細の表示」をクリックして、XC Ad Hocプロビジョニングプロファイルを見つけます。
  3. そのプロファイルを右クリックして、[Show in Finder]を選択します。
  4. 選択したプロファイルを削除します。
  5. ステップ1のダイアログに戻ります。
  6. 「選択」をクリックしてください。
  7. プロビジョニングプロファイルの横にある矢印をクリックして、プロビジョニングプロファイルディレクトリを開きます。
  8. ステップ4のように総称プロファイルを再度削除します。
  9. [Appleにアプリケーション名を送る]ダイアログで[戻る]ボタンをクリックしてください。
  10. [アドホック展開用に保存]をもう一度選択します。
  11. もう一度「選択」ボタンをクリックしてください。

これで正しいプロビジョニングプロファイル名が表示されます。

7
user3382891

この問題に対する回避策があります。

Xcode 6とXcode 5.1.1の両方がインストールされています。Xcode6はApplicationsにあり、Xcode 5.1.1は別のディレクトリにあります。私がビルドをしたいときは、アーカイブを作成するのにXcode 6を使います。しかし、Xcode 5.1.1で作成したアーカイブを見ることもできるので、私はXcode 5.1.1を使用して、私が使用したいプロビジョニング・プロファイルを使用してAd Hoc .ipaを配布します。そのためXcode 6を使ってビルドしますが、Xcode 5.1.1を使って配布します。

6
Adam Freeman

エクスポート中にローカルの署名資産を使用することで問題が解決しました。 enter image description here

4

@ MrPatolからの答えは私にはうまくいきませんでした。 Xcode 6.3.2のための私の作業シナリオ

会員センター - > iOSプロビジョニングプロファイル

  • アプリをビルドしようとしたときにデフォルトで設定されていたプロビジョニングプロファイルを削除します(例: "XC ...")。短い名前で(本番ではなく)アドホックプロビジョニングプロファイルを作成します。

iPhone設定ユーティリティ - >プロビジョニングプロファイル

  • 同じプロビジョニングプロファイル( "XC ..."など)を削除します

Xcodeでは - >オーガナイザー

  • アドホックビルドを選択して[エクスポート...]をクリックします。[アドホック展開用に保存]を選択します - >次へ
  • ドロップダウンから組織を選択してください
  • 新しいアドホックプロビジョニングプロファイルが自動的に選択されていることを確認します
  • 以前と同様に.ipaをエクスポートして保存します。
3
Serge Seletskyy

これは私にとって問題を解決した2つの要点です。

  • プロビジョニングプロファイルを生成するときは、アプリケーションと同じバンドル識別子を使用するExplicit App IDにリンクする必要があります。ワイルドカードのApp IDは機能しません。
  • アドホック展開用にアプリをエクスポートするときは、ドロップダウンで[ローカル署名アセットを使用]を選択し、[選択]をクリックします。

その後、Xcodeは、App IDをアプリのバンドル識別子と照合することによって、正しいプロビジョニングプロファイルを見つけます。

2
Sarah Elan

実際には、Ad Hoc Deploymentに固有の新しいDistributionプロファイルを作成する必要があります。これは古典的な会員センターで見つけることができますが、それは証明書の新しいタイプです。

その後、開発者プロファイルと同様に、アプリをテストするために使用できるデバイスを選択できます。

そして、通常の方法でオーガナイザーからパッケージをエクスポートすると、新しく作成された証明書が利用可能になります。

あるいは、Appleが提供するTestFlightソリューションをiOS 8とともに使用して、ユーザーがプレリリース版にアクセスできるようにすることもできます。

enter image description here

1
cdescours

私は同じ問題を抱えていて、ついに私は自分のiOS Devアカウントに登録したすべてのデバイスを含むXcode 6で使用したいプロファイルを再生成することを解決しました。スクリプトを使用せずにXcode 6でアドホックエクスポートを実行できます。それが役に立てば幸い。

1
diegomen
  1. Xcode 7の後に-exportOptionsPlistオプションを指定するのは正しい方法だと思います。プロジェクト設定で何を指定しても、GUIエクスポートのように適切なプロビジョンファイルが選択されます。

xcodebuild -exportArchive -archivePath $ Archive_Path -exportPath $ LOCAL_PACKAGE_DIR -exportOptionsPlist $ Export_Plist_Path

optionPlistファイルはこのようなものです、

<dict>
  <key>teamID</key>
        <string>MYTEAMID123</string>
        <key> teamID </key>
        <string>app-store</string>
        <key>uploadSymbols</key>
        <true/>
</dict>


<plist>

アプリストア、エンタープライズ、アドホック、開発が代替

  1. しかし、上記の後に別のエラーが発生する可能性があります。

エラーDomain = IDEDistributionErrorDomain Code = 14 "該当するデバイスが見つかりません。" UserInfo = {NSLocalizedDescription =該当するデバイスが見つかりません。}

これはRubyの問題です。このシェルスクリプトを試してください xcbuild-safe.sh

xcbuild-safe.sh xxxxNormalOptionsInXcodebuild bla...
  1. ちょっと待ってください、別の奇妙なエラーが来ます。

xcbuild-safe.sh:62行目:Shell_session_update:コマンドが見つかりません

一体何Shell_session_updateですか?それを回避しましょう。実際のxcodebuild cmdの前、つまり60行目または61行目で関数を定義するだけです。

function Shell_session_update() { :; }
0
Victor Choy

私はこれでしばらく立ち往生していましたが、 Crashlytics を使って解決しました。あなたのXcodeプロジェクトのビルド設定で選択したプロファイルを使ってビルド配布しました。

誰かに役立つことを願っています。

0
M.Othman

ほぼ同じ問題です。配布用のアーカイブを作成したら([Product]> [Archive])、アーカイブをエクスポートし([Export]をクリック)、[Save for Enterprise Deployment]を選択します。次に「次へ」次に「開発チーム」のデフォルト(組織名など)を選択し、「選択」をクリックします。最後に、Xcodeが自動的に見つけた(おそらくオンザフライで作成された)プロビジョニングプロファイルを一覧にした概要ビューが表示されます。このMIGHTは間違ったプロビジョニングプロファイル(通常は "XC:*"のようなワイルドカードプロビジョニングプロファイル)であり、開発者ポータルにはすでにワイルドカードプロビジョニングプロファイルがあるために発生する可能性があります。ワイルドカードプロビジョニングプロファイルは他の古いプロジェクトで使用される可能性があるので、開発者ポータルからワイルドカードプロビジョニングプロファイルを削除するだけでは賢明ではないかもしれません。

私はこれのためにサポートチケットを使いました、そしてこのリンクだけを取り戻しました Apple_ref/doc/uid/TP40012582-CH32-SW1 。大したことではありません。

MrPatolの解決法は、エンタープライズ展開でも同様に機能することがわかりました。よく、私たちのために問題を解決します。最初に開発者ポータルにログインし、自分のアプリに適したプロビジョニングプロファイルを手動で作成しました。次に、手動で作成した新しいプロビジョニングプロファイルをダウンロードしてインストールしました。

0
sejersbol

Xcode 7では、私はアドホックプロビジョニングを選ぶことができませんでした

オーガナイザー - > App Storeとオーガナイザーにアップロード - >検証

しかし、私はオーガナイザー - >エクスポートで選択できます

編集済み:

TestFlight用にアドホック用にApp Storeにエクスポートした後にアプリをアップロードすると、別の問題が発生しました こちら 。だから、これら両方の問題に対する解決策は一つです。 AppStoreプロビジョニングを作成し、それをオーガナイザーで選択してappstoreにアップロードすることでtestFlightを利用できるようにします。

0
zeeawan