2017-10-03 10 views
1

誰かが私のiOS 11シミュレータで何が起こったのか知っていますか?私はiOSの11で起動すると、アプリが動作しないことができる、とコンソールに書かれています:iOS 11 simulator dyld:シンボルが見つかりません:_CKAccountChangedNotification

dyld: Symbol not found: _CKAccountChangedNotification 

Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CoreDuet.framework/CoreDuet 

Expected in: /Users/steve/Library/Developer/Xcode/DerivedData/Cloud-bvzzwfgkjzfnzibxrwadbayiowcu/Build/Products/Debug-iphonesimulator/CloudKit.framework/CloudKit in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CoreDuet.framework/CoreDuet" 

しかし、iOSの10シミュレータでまたは私はこの問題を解決するにはどうすればよいのiOS 11と、デバイス上で実行したときにすべてが正常です?前もって感謝します!

+0

ビルドプロダクトディレクトリに "CloudKit.framework"というフレームワークがあるのはなぜですか? – russbishop

+0

「CloudKit.framework」は、ホストアプリケーションとその拡張機能の間でコードを共有するためのカスタムフレームワークです。「Cloud」はアプリ名です。 – stephen

答えて

1

CloudKitは、そうでない場合は、シンボルはすでにだろう(あなたのフレームワークは、実際のCloudKit.framework

を記号を見つけようと、他のシステムフレームワークに干渉しているように、シミュレータは現在、dyldの共有キャッシュを使用しないため、この問題が発生したシステムのフレームワークですシステムに提供されたCloudKit.framework Xcodeは、DYLD_FRAMEWORK_PATHがビルド済みの製品ディレクトリを指すように設定しているため、最終的なインストール場所にパッケージされていないにもかかわらずフレームワークを見つけることができます。

_CKAccountChangedNotificationを解決しようとすると、これらの2つの組み合わせにより、CloudKit.frameworkのバージョンが表示されます。

解決方法は、フレームワークの名前を変更することです。

関連する問題