9

私は最近 iPhone プロジェクトを引き継ぎましたが、それまで object-c を使用したことがありませんでした。

プッシュ通知を使用するようにアプリケーションを取得する必要がありますが、最初の appId は既に有効で、ワイルドカードを使用しています (プッシュ通知はありません)。

識別子を使用して別の appId を作成し、プッシュ通知を機能させました。ただし、私の職場では、ワイルドカード アプリで機能するように通知を受け取るように求められています (既に多くの顧客がそのアプリを使用しているため)。

では、新しい appId を作成せずに (同じ bundleId を使用しても) 、ワイルドカード アプリを更新して一意の識別子を使用するにはどうすればよいでしょうか。

私はこれらすべてに非常に慣れていないため、段階的なプロセスを非常に高く評価しています (ELI5)。

参考までに、キーチェーンを使用してプライベート .p12 ファイルを取得し、プッシュ通知 (Apples apns サーバーに送信) を生成するコンソール アプリを実行する Windows サーバーでそれを使用します。

編集:私は次の手順を実行しましたが、誰かが不足しているものを教えてもらえますか?

1) 新しい bundleId を作成します (同じ AppId を使用)。

2) プッシュ通知を使用するようにその AppId を構成します。

3) キーチェーンで CSR を作成します。

4) それをポータルにアップロードし、本番証明書を作成します。

5) その証明書をダウンロードし、秘密鍵をエクスポートします。

6) 1 と同じ bundleId を使用してプロビジョニング プロファイルを作成します (例: au.com.website)。

7) そのプロビジョニング プロファイルをダウンロードし、X コードと iPhone デバイスに配置します。

8) x-code のビルド設定で、バンドル ID を使用し、手順 6 で作成したプロビジョニング プロファイルを使用します。

9) アプリをアーカイブし、アドホックで展開し、ファイルをデスクトップに保存します。

10) そのファイルを TestFlight に入れ、iPhone の testFlight からアプリをダウンロードします。

11) Windows サーバーに秘密鍵を置き、プッシュ通知を送信します (エラーが送信されます)。

プッシュ通知が届きません (iPhone はプッシュ通知を復活させるように設定されています)。

繰り返しますが、これは他の誰かが作成した別の appId で機能しているため、コードが機能することはわかっています。

4

3 に答える 3

11

アプリ識別子とバンドル識別子を混同しないでください。バンドル ID は com.company.appname のようなもので、アプリの info.plist によって定義されます。

アプリ識別子には追加のプレフィックス (通常はチーム プレフィックス) があり、ワイルド カードを含めることができます。アプリ ID は、バンドル ID をプロビジョニング プロファイルに一致させるために使用されます。プロファイルは、一致するアプリに対してのみ有効です (プレフィックスを除く)

ここで必要なのは、バンドル ID を同じままにしておくことです。これを変更すると、新しいアプリになるからです。ただし、更新ごとにプロビジョニング プロファイルとアプリ識別子を変更できます。

少し前に、ワイルドカード アプリ ID を使用してアプリを公開し、それに IAP を追加したとき、私は同様の状況にありました。

  • バンドル ID に一致する新しい (ワイルドカードではない) アプリ ID を作成するだけです。
  • アプリ ID で必要な Apple サービス (IAP、GC、APNS) を有効にします。
  • ニーズに合わせて新しいプロビジョニング プロファイルを作成します (App Store、アドホック、開発)

次に、新しいプロファイルを使用してアプリの更新を送信できますが、バンドル ID は変更されません。

于 2012-12-17T06:58:33.047 に答える
0

私の知る限り、あなたが求めていることは不可能です。

https://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/DevPortalGuide/CreatingandConfiguringAppIDs/CreatingandConfiguringAppIDs.html#//apple_ref/doc/uid/TP40011159-CH18-SW1

答えがあるかもしれない古い質問があります... プッシュ通知のライブアプリ ID を更新しています

于 2012-12-17T06:46:50.493 に答える
0

プッシュ通知の場合、appId は必須です。段階的なプロセスについては、raywenderlichの 2 部構成のチュートリアルを使用してください。これがあなたを助けることを願っています。

于 2012-12-17T06:49:59.410 に答える