私も作成した静的ライブラリを使用する iOS アプリケーションを開発しています。
iOS アプリケーションで使用したいライブラリにデータ モデルがあります。
Apple が提供する通常の NSManagedObjectModel ゲッターは次のようになります。
- (NSManagedObjectModel *)managedObjectModel
{
if (_managedObjectModel != nil)
{
return _managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Honeycomb" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}
静的ライブラリ リソース バンドルを参照してデータ モデルを取得するようにゲッターを変更しました。
- (NSManagedObjectModel *)managedObjectModel
{
if (_managedObjectModel != nil)
{
return _managedObjectModel;
}
NSURL *honeycombBundleURL = [[NSBundle mainBundle] URLForResource:@"HoneycombResources" withExtension:@"bundle"];
NSURL *modelURL = [[NSBundle bundleWithURL:honeycombBundleURL] URLForResource:@"Honeycomb" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}
モデルの URL は正しく返されますが、URL が指している場所を確認すると、そこにあるファイルは「Versioninfo.plist」だけです。実際の .mom ファイルはありません。
この記事http://www.galloway.me.uk/tutorials/ios-library-with-resources/で説明されているように、静的ライブラリのリソースバンドルをセットアップしました
ファイル システムで参照すると、他のすべてのリソース (.nib および .png) がバンドルに正しく表示されますが、.mom ファイルがありません。助言がありますか?