Account
のサブクラスとして表されるCore Data オブジェクト がありNSManagedObject
ます。
@interface Account : NSManagedObject
私のアプリ全体は問題なく開発されていますMessageUI.framework
が、メールを作成するビュー コントローラーを取得できるように を追加すると、すべての地獄が解き放たれます。アプリは正常にリンクおよびコンパイルされ、正常に実行されます。Account
つまり、以前に作業していたオブジェクトとのインターフェースを開始するまでです。次に、これらを取得し始めます。
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '"Account" is not a subclass of NSManagedObject.'
*** First throw call stack:
(0x202b012 ... 0x2385)
libc++abi.dylib: terminate called throwing an exception
この特定の 1 つは、次のことが原因で発生しました。
// we need to insert a new account
Account *newAccount = [NSEntityDescription
insertNewObjectForEntityForName:[Account entityName]
inManagedObjectContext:self.managedObjectContext];
MessageUI.framework
さて、競合の原因には何らかのクラスがあると推測していますが、いくつか質問があります。
- アプリは正常にコンパイルおよび実行され、コンパイル時の名前の競合はありません
- フレームワークの他のコンポーネントはプレフィックス名前空間 (つまり:
MFMailComposeViewController
) のように見えるので、理論上の説明は ではないのMFAccount
でしょうか? #import <MessageUI/MessageUI.h>
またはを実行していませんが#import <MessageUI/MFMailComposeViewController.h>
、後者は調べたところ の定義が見られなかったAccount
ので、競合の可能性がロードされる理由がわかりません。- 念のため、Core Data クラスを再生成し、すべてのシミュレーター設定をリセットしましたが、サイコロはまだありません。
- プロジェクトとビルド設定からフレームワークを削除すると、すぐに問題が修正されます。