2012-03-14 3 views
6

開発者プロファイルを使用してiOS .xarchiveファイルを作成し、クライアントがその配布プロファイルを使用して辞任できるようにする必要があります。クライアントが正しく辞任できるようにiOS .xarchiveに署名する方法はありますか? (プッシュ通知を使用)

(私はこれを読んだことがあるが、それは任意の真の解決策を持っていなかった:How can I send iOS app to client, for them to code-sign

クライアントは、自分の秘密鍵を共有したい、でも私に加盟センターの「開発者以上のアクセス権を与えるものではありません。私たちはソースコードを共有したくありません。

プッシュ通知をサポートする必要があるため、完全なアプリIDが必要です。

私は 'aps production'、 'get-task-allow'をfalseとして署名した.xarchiveをビルドしてエクスポートする方法を見つけ出すことはできませんが、クライアント配布証明書と一致する証明書を使用してもエクスポートできます。

これはXcodeでのバグのように感じ、「APS生産」と「取得・タスク許可」に変更はコンフィギュレーションではなく、プロファイルをプロビジョニングのタイプに縛られるべきではないのですか?私は 'リリース'を使用していますが、私の開発者プロファイルを使用しています。

私に何かが見つからないのですか、これはちょうど不可能ですか?

答えて

5

この質問に対する回答は試行錯誤でわかりました。技術ノートやほとんどのWebリソースでは、XCode4 +を使用している場合、資格が必要ないと言っていますが、特定のケースがあります。

  • 建物Release構成(すなわち::アーカイブ)の二つの場合は、上記の私の質問で表現されますが、プッシュ通知に

私の最後のカスタムentitlements.plistを使用してプロファイル

  • をプロビジョニング開発した署名します3つの値:私は私のentitlements.plistで、私はこのアプリIDの開発プロビジョニングプロファイルを使用して構築されたことを持っていたしたら

    <?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>aps-environment</key> 
        <string>production</string> 
        <key>keychain-access-groups</key> 
        <array> 
         <string>L23874DF.com.your.appid</string> 
        </array> 
    </dict> 
    </plist> 
    

    。それから私はそれをアーカイブし、主催者からアーカイブをエクスポートしました。一旦エクスポートされると、私はクライアントにそれを送った。クライアントは、アドホックプロファイルでアーカイブを辞めて、自分のデバイスにロードしたIPAファイルを送り返すことができました。私はまた、アーバン飛行船からこのIPAへのプッシュ通知をうまく受け取りました!

  • +0

    「私は私のentitlements.plistで、私はこのアプリIDの開発プロビジョニングプロファイルを使用して構築することを持っていたら」=>あなたはリリースコード署名IDに、あなたの開発者プロファイルを割り当てられた意味ですか?これは警告を発する、これを手に入れたか? – Daniel

    +0

    ええ構築するとき、私はその警告を受けるが、それは再署名した後、適切な結果を得るための唯一の方法でした。 – pj4533

    +5

    アーカイブの再署名に使用したプロセスを共有できますか? – Trey

    関連する問題