簡體   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