0

怎么回事?Xcode 4.6.2 拒绝将我的资源文件之一复制到 octest 包。

这些行,来自构建日志,工作

CpResource AppName/Resources/Domain.sqlite /Users/colin/Library/Developer/Xcode/DerivedData/AppName-WS-dbpjomrlampddifnmkfrqcashprt/Build/Products/Debug-iphonesimulator/AppName.app/Domain.sqlite
cd "/Users/colin/Documents/work/daring plan/AppName"
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks "/Users/colin/Documents/work/daring plan/AppName/AppName/Resources/Domain.sqlite" /Users/colin/Library/Developer/Xcode/DerivedData/AppName-WS-dbpjomrlampddifnmkfrqcawhprt/Build/Products/Debug-iphonesimulator/AppName.app

但是这些行,后来在同一个构建日志中,默默地导致没有任何内容被复制:

CpResource AppName/Resources/Domain.sqlite /Users/colin/Library/Developer/Xcode/DerivedData/AppName-WS-dbpjomrlampddifnmkfrqcashprt/Build/Products/Debug-iphonesimulator/AppNameLogicTests.octest/Domain.sqlite
cd "/Users/colin/Documents/work/daring plan/AppName"
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks "/Users/colin/Documents/work/daring plan/AppName/AppName/Resources/Domain.sqlite" /Users/colin/Library/Developer/Xcode/DerivedData/AppName-WS-dbpjomrlampddifnmkfrqcawhprt/Build/Products/Debug-iphonesimulator/AppNameLogicTests.octest

在我看来,这些都是由 App 和 LogicTests 目标中相同的 Copy Bundle Resources 配置生成的。我尝试在 LogicTests 目标中删除并重新创建 Domain.sqlite 的行,但没有帮助。

我已经尝试从 Build/Products/Debug-iphonesimulator 中删除 app 和 octest 包,Xcode 继续并重新创建它们,但是 octest 包中缺少 Domain.sqlite。哇。

4

1 回答 1

0

好的,追到了。Xcode 可以很好地复制文件,但它与我的数据模型不同步(我以为我会重建它,但被欺骗了)。我正在使用一个名为 MagicalRecord 的第三方库来管理核心数据堆栈,显然在最近的版本中它添加了一个名为 shouldDeleteStoreOnModelMismatch 的属性。当我在构建日志中进一步回顾时,它是:

-[NSPersistentStoreCoordinator(MagicalRecord) MR_addSqliteStoreNamed:withOptions:](0x17e24f0) Removed incompatible model version: Domain.sqlite

故事的寓意:当您使用应用程序分发预构建的 sqlite 文件时,您想要

[MagicalRecord setShouldDeleteStoreOnModelMismatch:false];
于 2013-05-17T21:21:58.870 回答