0

私も作成した静的ライブラリを使用する 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 ファイルがありません。助言がありますか?

4

1 に答える 1

0

解決済み:

何らかの理由で、Xcode は .xcdatamodel ファイルを「インポート」しましたが、ソース ファイルは実際にはプロジェクト ディレクトリにありませんでした。ファイルを Xcode が想定していた場所にコピーしたところ、すべて機能しました。

于 2012-12-19T01:04:46.360 に答える