2017-10-09 17 views
1

新しいionic3/CordovaハイブリッドアプリケーションをiOSネイティブアプリに置き換える必要があります。新しいハイブリッドアプリは正常に構築されますが(MacOS Sierra 10.12.6)、アプリに署名することはできません(アプリストアにアップロードできるようになります)。iOSアプリケーションに署名する:開発チームにアプリケーションIDを登録することはできません

最初のステップとして、私はアプリケーションストア(TestFlightでテストするアルファとして)で新しいアプリケーションを取得することに焦点を当てています。私はdeveloper.apple.comからすべての "開発"証明書/プロファイルを削除しました。

アプリに署名することについてウェブに多くの情報/質問/回答があります。私はこの問題について数日を過ごしましたが、私が読んだものと何を試しても、それを動作させることはできません。 /bbh.xcodeproj/project.pbxprojで

現在iOSアプリコード(展開)のInfo.plistで

、$(PRODUCT_BUNDLE_IDENTIFIER)

、PRODUCT_BUNDLE_IDENTIFIER = "NSP.BBHモバイル" ;

開発提供

  1. オープンキーホルダーを再作成します。すべての開発者/ iphone証明書を削除します。すべてのキーを削除します。
  2. developer.apple.comで開発証明書と開発プロビジョニングプロファイルを削除してください。
  3. 私のiPhoneデバイスが正しいUDIDで登録されていることを確認してください。
  4. キーチェーンで、証明書署名要求ファイルを生成します。
  5. developer.apple.comで開発証明書を作成し、前の手順で生成した証明書署名要求をアップロードして、証明書.cerファイルをダウンロードします。
  6. .cerファイルをダブルクリックします。キーチェーンが開きます。 「ログイン」に追加することを選択します。
  7. Keychain>証明書で、エクスポートを選択し、強力なパスワードを指定します。 Certificates.p12ファイルが生成されます。
  8. developer.apple.comで開発プロビジョニングプロファイルを作成します。 「iOS App Development」を選択します。アプリケーションIDを選択してください...どちらがどちらですか? developer.apple.com BBHモバイル= com.bbhで

    のApp IDは* BBHモバイル= NSP.BBHモバイル XcodeのiOSのワイルドカードアプリケーションIDが= *画面上

    お知らせを読み取ります。 「の場合ゲームセンター、アプリ内購入、プッシュ通知などのサービスを使用する予定であるか、1つのアプリに固有のBundle IDが必要な場合は、明示的なアプリIDを使用してください 複数のアプリに対して1つのプロビジョニングプロファイルを作成する場合や、ワイルドカードApp IDは、Bundle IDフィールドの最後の桁にアスタリスク(*)を使用します。 iOS App IDとMac App IDはint型では使用できません。換えることができます。

    我々はそう(ユーザーによって提供される)明示的な(リンゴによって生成された)のApp ID = AYW4J8P7X3.NSP.BBH-モバイル アプリケーションID =チームのID +バンドルID を選択することは、このアプリケーションIDを選択することは理にかなってプッシュ通知を必要とします現在展開されているiOSのバンドルIDが含まれます。 https://www.screencast.com/t/C0QdPdxwh09t

    開発証明書(作成したばかり)を選択し、すべてのデバイスを選択します。

  9. 開発プロファイルをダウンロードし、ダブルクリックして(Xcodeで)インストールします。

ダブルクリックしても何も起こりません。 Xcodeに正しくインストールされていることをどのように知ることができますか? 私のiPhoneに.mobileprovisionファイルが必要ですか? Macサーバーはクラウドにあるので、私のiPhoneはUSB経由でMacに接続されていません。

  1. Xcodeを開きます。 AppleのアカウントがXcode>環境設定>アカウントに追加されていることを確認します。プロジェクト、ターゲット、署名で、「署名を自動的に管理する」をクリックします。
  2. 私の個人的なチームを選んでください。次のエラーが表示されます。

    enter image description here

    エラー1:アプリケーションID "NSP.BBH-Mobileは、" 開発チームに登録することはできません。バンドルIDを一意の文字列に変更して、もう一度試してください。

    なぜバンドルIDを変更するように促すのですか? 1つのアプリケーションIDを持ち、デバッグ/開発とリリースの両方を生成することは標準的ではありませんか?

    エラー2:「NSP.BBH-Mobile」のプロファイルが見つかりませんでした。「NSP.BBH-Mobile」と一致するiOS App Developmentプロビジョニングプロファイルが見つかりませんでした。

しかし、新しい開発規定を作成し、App ID = NSP.BBH-Mobileを選択しました。 Xcodeがこれを認識しないのはなぜですか?

答えて

1

Automatically manage signingの選択を解除し、provisioning profileを手動でインポートしてみてください。

+0

これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューの投稿](レビュー/低品質の投稿/ 17566420) – clemens

+0

この断片/アプローチは非常に役に立ちました。私が読んだことのほとんどは、Xcodeで署名を処理させるように言います。それで私はほとんどの時間を過ごしました。このマニュアルアプローチでは、私は署名(デバッグ)のためのエラーはありません。署名(リリース)でエラーを解決する必要があります。 –

0

これは、この問題を最終的に解決するために取った手順です。それは最適ではないかもしれませんが、少なくとも働いています。

enter image description here 1. Xcodeで、自動的に署名管理を無効にします。 2.署名(デバッグ)のために、自分の開発プロビジョニングプロファイルを選択します。 3.署名(リリース)するには、プロダクションプロビジョニングプロファイルを作成し、次に新しいプロダクションプロファイルを選択します。

ノーツ/観察:

  • 私はそれをテストするために署名したデバッグを作りたかったにもかかわらず、私はまだあまりにも、有効な署名リリースの提供を提供しなければならなかったようです。
  • すべてのキー/証明書などを削除してから、ゼロから始めても、Xcodeは証明書を作成したようです。迷惑 - 誰が今何を作成したのかを知ることは難しい。
  • 置き換え元のiOSネイティブアプリからバンドルIDを変更する必要はありませんでした。
  • 新しいプロダクションプロビジョニングを作成しても、既存のプロダクションプロビジョニング(これはキーがないため使用できませんでした)には影響しませんでした。
関連する問題