18

Ad Hoc ディストリビューションに関するすべてのドキュメントと投稿を読み直しましたが、まだ問題があります。「ワイヤレス」配布 (Safari を使用してダウンロードされる .plist および .ipa ファイルを使用) を試みると、アプリのダウンロードが開始され、アイコンが正しく描画され、名前が「インストール中..」から変更されますが、約 90% 完了すると、 「ダウンロードできません...」というアラートが表示されます。

iTunes の方法でアプリを転送すると、「権利が正しくないため、アプリ "xx" は iPhone "xx" にインストールされませんでした」というメッセージが表示されます。

Q1: XCode (私は 4.0.1 を使用しています) が .mobileprovision ファイルをバンドルに追加するため、.mobileprovision ファイルを個別に追加する必要がなくなったと読みましたが、これは本当ですか?

Q2: サファリ (iPhone) で .mobileprovision を「ダウンロード」すると、テキストとして表示されるだけです。これは私の問題の徴候ですか、それとも無関係ですか?

Q3: この問題は Entitlements.plist に関係しますか? XCode 4.0.1 でこのファイルを編集したときに表示される内容に関連する Apple のドキュメントやブログは見つかりません。指示に従うと (New->New File->Code Signing->Entitlements)、「Can be debugged」キーのみを含むデフォルト ファイルが取得されます。私はこれを NO に設定してみました。 Apple のドキュメントに従って)。

Q4: エンタイトルメントとコード署名を機能させようとしている iPhone 開発者の自殺率はどのくらいですか?

同様の質問に対して私が見た提案を減らすために:配布とリリースのためにコード署名資格を Entitlements.plist に設定しています。XCode、再構築、アーカイブなどの再起動を試みました iPhone の再起動を試みました iPhone に戻りました

更新: XCode 4.0.1 では、Entitlements.plist が編集されているときに ([エディター] -> [生のキーと値を表示])、キーを [デバッグ可能] から [get-task-allow] に切り替えるメニュー オプションがあります。

4

7 に答える 7

13

エンタイトルメントファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
         <key>get-task-allow</key>
           <false/>
         <key>application-identifier</key>
           <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
         <key>keychain-access-groups</key>
           <array>
             <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
           </array>
</dict>
</plist>

これはワイヤレスでも機能します。
いったいなぜデフォルトのものにこれがすべて含まれていないのかは、Appleだけが答えることができるものです。テキストエディットで編集したXcodeでplistの生のテキストを編集する方法がわかりません。

于 2011-03-27T14:23:29.777 に答える
7

Xcode 4 のアドホック ビルドでは、コード署名資格は不要になりました - 詳細はApple Technical Note TN2250を参照してください。

于 2011-08-11T20:19:27.510 に答える
6

Xcode 4 でアドホック配布を成功させるためのすべての手順を概説したブログ記事を書いたところ、参考になるかもしれません。http://www.musicalgeometry.com/?p=1237

于 2011-04-07T06:07:33.997 に答える
1

Entitlements.plistをプロジェクトに追加し、そのget-task-allow中にキーのみを含める必要があります。

開発者プロファイルを使用してデバイスでデバッグする場合は、チェックする必要があります

Ad-Hocまたはプロファイルを使用して構築する場合Distributionは、チェックを外す必要があります

Q4について:よろしければ、やるだけで増やすことができますが、お勧めしません。

于 2011-03-27T13:43:17.310 に答える
1

プロジェクトナビゲーターで plist ファイルを右クリックし、[名前を付けて開く]、[ソースコード] の順に選択すると、プレーンソースとして編集できます。

于 2011-03-29T16:08:55.147 に答える
1

たぶん、彼らは xcode4 で Entitlements.plist の短いバージョンを作成しました。デフォルトの Entitlements.plist には「application-identifier」キーと「keychain-access-groups」キーは含まれていませんが、「ASCII プロパティ エディタ」を介して「デバッグ可能」キーの値を変更すると、バックグラウンドでの「get-task-allow」キーの値...

于 2011-03-29T19:34:38.100 に答える