2017-06-21 4 views
4

私はiOSとmacOSのターゲットを持つプロジェクトを持っています。 iCloud機能をiOSプロジェクトに追加して実行したとき、権限ファイルに無効な権限または許可されていない権限が含まれているというエラーが発生しました。ビルドの設定に行ったとき、私は自分のiOSターゲットがmacOSターゲットと同じエンタイトルメントファイルを使用していることに気付きました。macOSとiOSのターゲットは同じエンタイトルメントファイルを共有することになっていますか?

両方のターゲットで同じエンタイトルメントファイルを使用するのか、それぞれに独自のエンタイトルメントファイルを使用する必要がありますか?

+0

2つのプラットフォームのエンタイトルメントは一般的に異なりますか? – zneak

+0

@zneakそれは私が思ったことです。しかし、特定のターゲットの機能を有効にするたびに、その両方にアクセスする単一の資格ファイルが作成されます。私はXcodeでマルチプラットフォームテンプレートを使用しても同じ結果を得ました。 – loyalpenguin

答えて

4

異なるターゲットは原則として異なる資格を持っている必要があります。

私は一度同じ問題を抱えていましたが、残念ながら各ターゲットのエンタイトルメントファイルに異なるファイル名を使用しなければなりませんでした。

各ターゲットのビルド設定でエンタイトルメントファイルを設定できます。

+0

私はそうかもしれないと思った。 Xcodeでは、デフォルトでエンタイトルメントファイルが1つ作成され、ビルド設定に自動的に設定されます。 – loyalpenguin

+0

ビルドの設定でそれを変更して、それぞれのターゲットごとに異なるエンタイトルメントを許可することができます。 –

+0

意味があります。私はちょうど今それを試して、すべてが動作しているようだ。助けてくれてありがとう。 +1 – loyalpenguin

関連する問題