繁体   English   中英

Xcode不将资源复制到octests捆绑软件

[英]Xcode not copying resource to octests bundle

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目标中相同的副本捆绑资源配置生成的。 我尝试删除并在LogicTests目标中重新创建Domain.sqlite的行,但没有帮助。

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

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

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

故事的寓意:在通过应用分发预建的sqlite文件时,您需要

[MagicalRecord setShouldDeleteStoreOnModelMismatch:false];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM