2013-05-17 63 views
0

WTF? Xcode 4.6.2拒絕將我的一個資源文件複製到octest包。Xcode不將資源複製到octests包

這些線,從生成日誌,工作

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 

這些都是由什麼看起來是相同的應用程序和LogicTests目標中的複製束資源配置。我試過在LogicTests目標中刪除並重新創建Domain.sqlite的行,但沒有幫助。

我嘗試從Build/Products/Debug-iphonesimulator中刪除app和octest包,並且Xcode繼續並重新創建它們,但缺少octest包中的Domain.sqlite。 WTF。

+0

真的,什麼是地獄,Xcode?如果我手動將我需要的文件複製到octest包中,然後構建,Xcode會將其刪除。 –

回答

0

好吧,追蹤它。 Xcode正在複製文件,但它與我的數據模型不同步(我想我已經重建了它,但被欺騙了)。我使用名爲MagicalRecord的第三方庫管理核心數據堆棧,顯然在最近的版本中添加了名爲shouldDeleteStoreOnModelMismatch的屬性。當我回頭看更遠在我構建的日誌,還有它是:

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

這個故事的寓意:當你分發與您的應用程序預建sqlite的文件,你想

[MagicalRecord setShouldDeleteStoreOnModelMismatch:false];