Xcode没有将资源复制到octests包

时间:2013-05-17 20:49:04

标签: ios xcode4

WTF? 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。 WTF。

1 个答案:

答案 0 :(得分:0)

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

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

故事的道德:当您使用应用分发预构建的sqlite文件时,您想要

[MagicalRecord setShouldDeleteStoreOnModelMismatch:false];