2017-08-09 12 views
0

私はIonic 3プロジェクトに取り組んでいますが、今は通知の設定とテストに慣れています。以前のネイティブiOS開発経験はありませんでした。そのため、すべての適切な証明書、プロビジョニングプロファイル、およびその他の設定が正しく行われる方法について、いくつかのガイドに従ってきました。アプリケーションIDとバンドルID:プロビジョニングプロファイルの問題

私はXcodeに追加したApple開発者アカウントを持っており、Xcode(バージョン8.3.3)が自動的に署名を処理するようになっています。

私はMixpanel統合の一環として通知を実装していますので、このガイドに従っています:https://mixpanel.com/help/reference/ios-push-notifications。このガイドはかなり完成しました。アプリIDの作成、プッシュの追加、必要な証明書に署名した&の作成、プロビジョニングプロファイルの作成、そして最後にそれらをMixpanelにアップロードするまで、ユーザーは完全に完了しました。プロセス全体がうまくいった。

プッシュ通知を試してみるためにデバイスを接続したとき、私はXcodeでプッシュ通知機能を追加していないのでビルドに失敗したので、私はそうしました。私のprovingioningプロファイルにその機能が含まれていないというコード署名設定でエラーが発生しました。奇妙なのは、アップルデベロッパーサイトの自分のアプリケーションIDの詳細で、プッシュ通知が開発用に有効になっていることがわかっているからです。

詳細を確認すると、私のApp IDバンドルID(Apple Devサイトの)とXcodeのバンドルIDが一致しないことが問題だと思います。

<team_ID>.com.<domain>.app 

しかし、Xcodeで、私のバンドル識別子は次のとおりです:私のアプリIDのバンドル識別子がある私はアプリケーションIDを作成した時点で

com.<domain>.app 

、私は<team_ID>プレフィックスがバンドル識別子で必要であったと思いましたApp IDの設定 - しかし、私はそれが正しいとは思わない。私は、App ID情報で別々に接頭辞を参照してください。

App ID info

は行うには間違ったこと、このましたか? Xcode(com.<domain>.app)のバンドルIDが許可されていないため、私が混乱してチームIDを自分のApp IDバンドルIDに追加した理由がありました。

error creating app id

を私は、このバンドル識別子とAppleデベロッパプロファイルには、他のアプリのIDを持っていないclear-であるために:アプリケーションIDを作成するときに、それを使用しようとしたときに私が得たエラー。

この識別子は、今日のXcodeで同じ署名IDで使用していたため、利用可能にする必要があります。なぜそれを使ってアプリケーションIDを作成することが許されないのでしょうか?バンドルIDとXcodeの両方で同じでなければならないのはなぜですか?

最終的な紛らわしい点は、Xcodeのバンドル識別子を自分のアプリケーションIDと同じにすることにしました(一度一致すれば、建物が機能することを確認することです)。私がそれをした後、Xcodeは新しいバンドルIDを受け入れたようですが、違うビルドエラーが発生しました。私がサインインIDを変更した場合、署名設定に表示されるエラーは意味をなさないちょうどXcodeで上記の1ではありません。

weird config error

具体的には、なぜエラーにバンドル識別子は、画像の上部にある設定で設定されているものと一致しないのですか?私はXcodeを再起動しようとしましたが、これはまだ発生します。この時点で、プッシュ機能を削除すればXcodeでビルドすることはできません。グーグルではあまり盛り上がっていない不思議なApple Mach-O Linker (ID) errorが表示されます。

+0

作成できない理由は、他のアップルの開発者アカウントが既に登録されていて、comを使用しているためです。 .app app ID。開発者アカウントが登録されてそのアプリIDを使用すると、アカウントに追加することはできません。自動コード署名を使用していますが、最初は別の開発者アカウントでサインインした可能性があります。もしそうなら、Xcodeはその他のアカウントでバンドルIDを作成/予約しているかもしれません。私はそれが開発者アカウントに登録されると120日間予約されていると思います。 – wottle

+0

チームアカウントと個人用の無料アカウントをお持ちですか?これで私はそれを見ています。あなたの無料の開発者アカウント(プッシュ通知では動作しません)にバンドルIDが登録されているようですが、おそらくバンドルIDがないチームアカウントの開発者です(あなたの個人的なアカウントは、チームを変更するときに取ったいくつかのアクションを通してそれを引き継いだ)。あなたのチームを有料のデベロッパーアカウントに変更し、バンドルIDを何か新しいものに変更すると、うまくいくでしょう。 – wottle

答えて

0

私はXcodeで設定したバンドルIDと競合しない新しいApp IDを作成してくれました。通常のバンドルIDを持つ新しいApp IDを作成して以来、私の奇妙な動作を見たことがないので、私の最初のApp ID名に自分のチームプレフィックスを含めることは、この使用に大きな役割を果たしたと思います。

1

使用しているプロビジョニングプロファイルは、受信したエラーメッセージ内のバンドルID用に設定されています。この問題を解決するには、次のいずれかです。

  • 設定します アプリで使用したいあなたは エラーメッセージ
  • バンドル識別子を持つ別のプロビジョニングプロファイルを作成してご覧1にアプリのバンドル識別子

また、プロファイルにプッシュ通知を追加する必要があります。 Certificates, Identifiers & Profiles

  1. 行くとMacのアプリのために、左のポップアップメニューから OS Xを選択します。ここではいくつかのこれを行う方法の説明があります。
  2. [識別子]で[アプリケーションID]を選択します。
  3. バンドルIDと一致する明示的なアプリケーションIDを選択します。
  4. プッシュ 通知行と配信列に緑色の円とそれに続く「有効」が表示されます。
+0

私はポイント1の意味に従っていません。Xcodeの私のアプリケーションのバンドル識別子を、エラーメッセージに表示されているものに設定しますか?それはすでにそうだった - 私は、アプリケーションIDを作成するときにXcodeからバンドル識別子を使用しようとしました。それはエラーメッセージが表示されたときです。 – dkhaupt

+0

@dkhauptここに行く:https://developer.apple。com/account/ios/certificateを開き、開発プロファイルに「プッシュ通知機能」があることを確認してください – Tony

+0

プロビジョニングプロファイルには「プッシュ通知」があります。私はこれがバンドル識別子に関連していると思います。また、新しいアプリケーションIDを作成するときに、Xcodeで持っているバンドル識別子は使用できません。私は新しいApp IDを作成し、Xcodeバンドル識別子を一時的に変更してから、App IDが作成されたらそれを元に戻す必要があると思う – dkhaupt

関連する問題