Xcodeプロジェクト、Xcode 8.1(8B62)の2つのターゲットがあり、1つは有料バージョンのアプリケーション用で、もう1つは無料バージョン用です。どちらもリモコンのプッシュ通知を管理します。新しいフレームワークUNUserNotificationCenter.framworkを使用してiOS 10に変更を加えたため、最初のターゲットではすべて問題なく、2番目のターゲットではリンクエラーが発生しています。 iOS 9では古い方法でうまく機能しました。両方のターゲットに対して私がしたこと:
どちらのターゲットでも同じコードです。
残念ながら、2番目のターゲットでは、次のエラーが発生します。
アーキテクチャarm64の未定義のシンボル: "_OBJC_CLASS _ $ _ UNUserNotificationCenter"、以下から参照:Objc-class-ref in AppDelegate.o Ld:symbol(s)not found for architecture Clang:error:failed with exit code 1(use- v呼び出しを確認する)
私は何度もクリーンでクリーンなビルドターゲットフォルダーを実行し、Xcodeを再起動し、コンピューターを再起動しましたが、何も行われていません。
別のフォーラムには何も見つかりません...
助けを歓迎します。前もって感謝します。
私はほぼ同じ問題を抱えていました。1つは無料バージョン、もう1つは有料バージョンです。
1つのターゲットでは「モジュールの有効化」がYES(これは無料バージョンのターゲットであり、Admobの@importを実行していた)であるのに対し、もう1つのターゲットでは「モジュールの有効化」が異なることを強く疑っています番号。魔法のように、「モジュールの有効化」がYESであるターゲットのビルドフェーズの「ライブラリとバイナリをリンク」にUserNotifications.frameworkを追加する必要はありませんでした。ただし、「モジュールの有効化」がNOであるターゲットの場合、
Undefined symbols for architecture arm64: "_OBJC_CLASS _ $ _ UNUserNotificationCenter
そして、「Link Binary with Libraries」にUserNotifications.frameworkを手動で追加することで廃止されました。
したがって、おそらくルールは、モジュールが有効になっていない場合にのみ行う必要があります。
UserNotifications.framework
がTarget > General > Linked Frameworks and Libraries
に存在することを確認してください