アプリをテスターに配布するために、Xcodeを使用します。これは、次のプロセスを使用して行います。
しかしXcode 6を使うと、このワークフローは少し変更されました。アドホック配信オプションを選択することはできますが、必要なプロビジョニングプロファイルを選択することはできません。これにより、使用されている署名証明書とプロビジョニングプロファイルの設定を制御できません(プッシュ通知を使用します)。
デフォルトではiPhone distribution
署名IDが使用され、ある種のXC Ad Hoc
プロビジョニングプロファイルが生成されます。これは以下の画像で確認できます。 プロビジョニングプロファイルの近くにある矢印をクリックすると、プロビジョニングプロファイルのあるフォルダが開きます。
だから私の質問は:
アドホック配布で使用されるプロビジョニングプロファイルを選択するためのXcode 6の方法はありますか?
ありがとうございます。
私は同じ問題に直面していました。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'
App Storeに登録するときにも、同様の問題がありました。アーカイブを作成して[送信]をクリックすると、Xcodeはデフォルトの "XC com。*"ワイルドカードプロビジョニングプロファイル(既に持っている明示的なプロファイルの代わりに)に自動的に署名したいと考えました。
これを修正するために、私はApple Developer Portalでプロファイルを再生成しました。
1)developer.Apple.comにアクセスして、使用したい配布プロビジョニング・プロファイルを見つけてください。
2)それを選択して[編集]をクリックし、プロファイルの名前を変更して[生成]をクリックします。
3)プロビジョニングプロファイルをデスクトップにダウンロードしてXcode 6アイコンにドラッグします。
4)Xcode 6を再起動します。
5)オーガナイザーウィンドウを開き、作成したアーカイブの[送信]をクリックします。 Xcodeは自動的に一般的なものではなくあなたの明示的なプロファイルを選びます。
オーガナイザーになったら
もちろん、アドホックプロビジョニングプロファイルを生成し、ダウンロードしてインストールしておく必要があります。
それは最後に生成されたプロビジョニングプロファイルが今勝っているようです。だからあなたはただあなたが欲しいプロファイルを再生成してそれをダウンロードすることができ、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 6(少なくとも現在6.1)では、開発者アカウントに登録されているすべてのデバイスを含むプロビジョニングプロファイルにバンドルIDが一致すると、xcode 6が自動的にスキャンします。 。いいえの場合、XC提供プロファイルを使用します。したがって、たとえばプッシュ通知の目的で自分のプロファイルを使用する場合は、Apple開発者ポータルで自分のプロファイル内のすべてのデバイスを選択する必要があります。私はそれが何人かの人々がプロフィールを作り直すことは働くでしょう、そして何人かがそうしない理由であると思います。
ところで、スクリプトを使用してtestflightにエクスポートしてアップロードすることができますが、デバイスはそれをダウンロードすることはできません。おそらくどこかで私は間違っていました。誰かがその理由を知っていれば、plsは私に知らせます。 tks
私もこれを理解することができませんでした - それがワイルドカードプロファイルにデフォルト設定されていたAppStoreに提出するとき、それに少し気付いた。
私はXcode 6でビルドしてから、Xcode 5のオーガナイザーウィンドウに戻って送信しました。そうすることで、サインインするプロフィールを選ぶように促されます。
これは私のために働いた:
これで正しいプロビジョニングプロファイル名が表示されます。
この問題に対する回避策があります。
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を使って配布します。
@ MrPatolからの答えは私にはうまくいきませんでした。 Xcode 6.3.2のための私の作業シナリオ
会員センター - > iOSプロビジョニングプロファイル
iPhone設定ユーティリティ - >プロビジョニングプロファイル
Xcodeでは - >オーガナイザー
これは私にとって問題を解決した2つの要点です。
その後、Xcodeは、App IDをアプリのバンドル識別子と照合することによって、正しいプロビジョニングプロファイルを見つけます。
実際には、Ad Hoc Deploymentに固有の新しいDistributionプロファイルを作成する必要があります。これは古典的な会員センターで見つけることができますが、それは証明書の新しいタイプです。
その後、開発者プロファイルと同様に、アプリをテストするために使用できるデバイスを選択できます。
そして、通常の方法でオーガナイザーからパッケージをエクスポートすると、新しく作成された証明書が利用可能になります。
あるいは、Appleが提供するTestFlightソリューションをiOS 8とともに使用して、ユーザーがプレリリース版にアクセスできるようにすることもできます。
私は同じ問題を抱えていて、ついに私は自分のiOS Devアカウントに登録したすべてのデバイスを含むXcode 6で使用したいプロファイルを再生成することを解決しました。スクリプトを使用せずにXcode 6でアドホックエクスポートを実行できます。それが役に立てば幸い。
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>
アプリストア、エンタープライズ、アドホック、開発が代替
エラーDomain = IDEDistributionErrorDomain Code = 14 "該当するデバイスが見つかりません。" UserInfo = {NSLocalizedDescription =該当するデバイスが見つかりません。}
これはRubyの問題です。このシェルスクリプトを試してください xcbuild-safe.sh
xcbuild-safe.sh xxxxNormalOptionsInXcodebuild bla...
xcbuild-safe.sh:62行目:Shell_session_update:コマンドが見つかりません
一体何Shell_session_update
ですか?それを回避しましょう。実際のxcodebuild cmdの前、つまり60行目または61行目で関数を定義するだけです。
function Shell_session_update() { :; }
私はこれでしばらく立ち往生していましたが、 Crashlytics を使って解決しました。あなたのXcodeプロジェクトのビルド設定で選択したプロファイルを使ってビルド配布しました。
誰かに役立つことを願っています。
ほぼ同じ問題です。配布用のアーカイブを作成したら([Product]> [Archive])、アーカイブをエクスポートし([Export]をクリック)、[Save for Enterprise Deployment]を選択します。次に「次へ」次に「開発チーム」のデフォルト(組織名など)を選択し、「選択」をクリックします。最後に、Xcodeが自動的に見つけた(おそらくオンザフライで作成された)プロビジョニングプロファイルを一覧にした概要ビューが表示されます。このMIGHTは間違ったプロビジョニングプロファイル(通常は "XC:*"のようなワイルドカードプロビジョニングプロファイル)であり、開発者ポータルにはすでにワイルドカードプロビジョニングプロファイルがあるために発生する可能性があります。ワイルドカードプロビジョニングプロファイルは他の古いプロジェクトで使用される可能性があるので、開発者ポータルからワイルドカードプロビジョニングプロファイルを削除するだけでは賢明ではないかもしれません。
私はこれのためにサポートチケットを使いました、そしてこのリンクだけを取り戻しました Apple_ref/doc/uid/TP40012582-CH32-SW1 。大したことではありません。
MrPatolの解決法は、エンタープライズ展開でも同様に機能することがわかりました。よく、私たちのために問題を解決します。最初に開発者ポータルにログインし、自分のアプリに適したプロビジョニングプロファイルを手動で作成しました。次に、手動で作成した新しいプロビジョニングプロファイルをダウンロードしてインストールしました。
Xcode 7では、私はアドホックプロビジョニングを選ぶことができませんでした
オーガナイザー - > App Storeとオーガナイザーにアップロード - >検証
しかし、私はオーガナイザー - >エクスポートで選択できます
編集済み:
TestFlight用にアドホック用にApp Storeにエクスポートした後にアプリをアップロードすると、別の問題が発生しました こちら 。だから、これら両方の問題に対する解決策は一つです。 AppStoreプロビジョニングを作成し、それをオーガナイザーで選択してappstoreにアップロードすることでtestFlightを利用できるようにします。