5

この回答に記載されている手順に従って、開発証明書とプロビジョニング プロファイルを作成しました。FCM を実装し、実際のデバイスでNativescriptアプリケーションを実行しようとしています。プロジェクトをビルドするために私が従った手順は次のとおりです。

  1. との輸入規定appbuilder provision import path/to/provision
  2. キーチェーンにインストールされた開発証明書。
  3. .p12 ファイルをエクスポートし、ローカル ディスクに保存しました。
  4. インポートされた証明書appbuilder certificate import path/to/p12/cert
  5. でビルドを作成するappbuilder build ios --provision "XXXX" --certificate "XXXX"

しかし、それは私にエラーを与えます

証明書は規定の証明書に含まれていません

私が何か間違ったことをした場合は、私を修正してください。私はこのこととNativescriptに慣れていないので、これを経験したことがある場合は、いくつかの解決策を提案してください。

PSまた、appbuilderサイトにプロビジョニングを提供しようとしましたが、証明書フィールドにもいくつかの警告が表示されます

ここにAPNS許可があります

ここに画像の説明を入力


更新


@Eddy Verbruggen(NativeScript Firebaseプラグインの作者)が言及したように

このメールの後で Telerik に問い合わせたところ、ブラウザ クライアントのバグであり、すぐに修正されることを望んでいることが確認されました。彼らはそのためのチケットを作成しました。

4

2 に答える 2

1

証明書は規定の証明書に含まれていません

このエラー メッセージは通常、 .mobileprovisionプロファイルに、使用する暗号化 ID と一致する公開キーがない場合に生成されます。

.p12公開鍵を抽出し、 .mobileprovisonの xml 部分の配列の下で一致を検索することにより、 .mobileprovisonがこの特定の証明書にバインドされていることを検証できます。<key>DeveloperCertificates</key>

を使用して、.p12 暗号化 ID から公開鍵を抽出できますopenssl

openssl pkcs12 -in <path_to_.p12> -clcerts -nokeys -out <path_to_resulting_public_key.pem> && cat <path_to_resulting_public_key.pem>

公開鍵がわかったら、それが.mobileprovisonファイルの の下<key>DeveloperCertificates</key>にリストされていることを確認します。これを行うには、以下のコマンドを実行するか、notepad++ などのテキスト エディターで .mobileprovisionを開きます。

security cms -D -i <path_to_.mobileprovision> | grep -f <path_to_resulting_public_key.pem>

また、appbuilder プロファイルからすべての .mobileprovision ファイルと証明書を削除してから、問題の項目を再インポートすることをお勧めします。これを行うには、次のコマンドを実行します。

appbuilder certificate // List certificates 
appbuilder certificate remove <name or index> // Delete cerificates
appbuilder provision // List provisions
appbuilder provision remove <provision_id> // Delete provisions 
appbuilder provision remove <provision_id> // Delete provisions 
appbuilder provision import path/to/provision
appbuilder certificate import path/to/p12/cert

編集:
注: 次の {N} プラグインも興味深いかもしれません - https://github.com/NativeScript/push-plugin

APNS 証明書と mobileprovision ファイルを生成する手順。

  • AppBuilder で、一致する証明書とプロビジョニング プロファイルのペアを作成して追加したことを確認します。証明書とプロビジョニング プロファイルの詳細については、 iOS アプリのコード署名の構成を参照してください。
  • プロビジョニング プロファイルのアプリ ID でプッシュ通知が有効になっていることを確認します。iOS デベロッパー センター の [識別子] セクションで、リストから識別子を選択し、有効なサービスを確認します。必要に応じて、[編集] をクリックして不足している機能を有効にします。既存のアプリ ID を変更する場合は、一致するプロビジョニング プロファイルを再作成し、それを AppBuilder にインポートしてください。
  • [プロジェクト プロパティ] ダイアログで、アプリケーションに適切なアプリ ID が設定されていることを確認します。
  • iOS デベロッパー センターの [証明書] セクションでApple プッシュ通知サービスの SSL 証明書を作成し、それを AppBuilder に追加したことを確認します。
  • Apple プッシュ通知サービスの SSL 証明書のタイプが、アプリのコード署名用の証明書およびプロビジョニング プロファイルのタイプと一致していることを確認します。たとえば、両方とも開発用または本番用である必要があります。
  • Apple プッシュ通知サービス SSL 暗号化 ID の P12 ファイルをエクスポートしたことを確認します。AppBuilder から暗号化 ID をエクスポートする方法の詳細については、暗号化 ID のエクスポートを参照してください。
于 2016-10-12T15:26:48.230 に答える