您確定您的框架結構完全正確嗎?既然你只是將它作爲一個子項目使用,你可能不會正確地構建框架目錄。
它應該看起來像:
MyFramework.framework //(directory)
info.plist
MyFramework //(symbolic link to Versions/Current/MyFramework)
Resources //(symbolic link to Versions/Current/Resources)
Headers //(symbolic link to Versions/Current/Headers)
Versions //(directory)
Current //(symbolic link to directory "A" below)
A //(directory)
Headers //(directory containing framework headers)
Resources //(directory holding framework resources)
MyFramework //(actual compiled library, really a .a file)
在框架中的某文件不應.A結束。而作爲注意到所有這些符號鏈接必須是正確的,一個「ls -l
」在你的框架目錄應該是這樣的:
drwxr-xr-x 7 kendall admin 238B Feb 19 13:36 ./
drwxr-xr-x 11 kendall admin 374B Feb 19 13:36 ../
lrwxr-xr-x 1 kendall admin 24B Feb 19 13:36 [email protected] -> Versions/Current/Headers
lrwxr-xr-x 1 kendall admin 30B Feb 19 13:36 [email protected] -> Versions/Current/MyFramework
lrwxr-xr-x 1 kendall admin 26B Feb 19 13:36 [email protected] -> Versions/Current/Resources
drwxr-xr-x 4 kendall admin 136B Feb 19 13:36 Versions/
-rw-r--r-- 1 kendall admin 215B Feb 19 13:36 info.plist
的info.plist的內容(這告訴鏈接什麼靜態庫的名稱該框架確實是)看起來像:
CFBundleDevelopmentRegion
English
CFBundleExecutable
MyFramework
CFBundleIdentifier
com.pushio.pushiomanager
CFBundleInfoDictionaryVersion
6.0
CFBundlePackageType
FMWK
CFBundleSignature
????
CFBundleVersion
1.0.0
哎,這實際上更有可能是正確的答案。 LD知道框架,因此OP已經在鏈接階段正確添加了它。這聽起來像一個破碎的框架 - 例如缺少靜態庫。 +1 – Till 2013-02-27 00:28:55
我沒有任何資源,所以我擁有:MyFramework和Headers(符號鏈接)和Versions文件夾。在版本中我有A-Headers(沒有MyFramework)。我也沒有Info.plist。 – 2013-02-27 21:13:30
就在一個快速提示中,我正在關注上面提到的鏈接,而不是提及如何創建版本化鏈接的鏈接。 – 2013-02-27 22:14:42