2012-11-08 15 views
4

我是Xcode和Objective C開發人員的新手,我正在嘗試導入github MailCore InboxListener example適用於Mac OSX環境的Xcode項目。我遵循MailCore's website的Mac OSX說明,並且項目構建但未運行。 MailCore似乎依賴於/System/Library/Frameworks/CFNetwork.framework,它在我的Mac OS X 10.7.5的my/System/Library/Frameworks /目錄中不存在。MailCore CFNetwork.framework使用無效位置的依賴項

CFNetwork.framework確實存在於/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks,但爲什麼MailCore不知道在哪裏可以找到它?如何更改MailCore正在使用的位置?

我已經嘗試鏈接CoreServices.framework和CFNetwork.framework在構建階段,鏈接與二進制文件沒有成功。相同的運行錯誤。

輸出運行時:

dyld: Library not loaded: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork 
    Referenced from: /Users/cgray/Library/Developer/Xcode/DerivedData/InboxLister-hjoeknampqddvifxyoqwhozaricj/Build/Products/Debug/MailCore.framework/Versions/A/MailCore 
    Reason: image not found 
(lldb) 

enter image description here

+0

如果它是一個私人的框架嘗試複製到項目文件夾拖放到Xcode中。將其也包含在LinkBinary with libraries部分。這可能是這個問題。 – iDev

+0

我認爲這個問題與捆綁在一起的iOS/OSX項目有關。編譯OSX演示時發生此錯誤。但是當我編譯iOS演示時,我不會發生這種情況。 – bejonbee

回答

2

這是一個謎給我!

我決定任何項目設置SDK 10.7和目標項目的,Mailcore和Libetpan庫。 然後選擇在Project Navigator的libetpan項目和檢查:

  1. 打開CoreService.framework,檢查是否存在CFNetwork.framework(看看下面)。如果不存在,則代碼不能包含CFNetwork位於CoreService傘架下的SDK 10.7。
  2. 選擇「靜態libetpan」目標並檢查「鏈接二進制庫」,你應該找到CoreService.framework。如果沒有添加它(你也可以拖動項目導航器中的&)

清潔和構建,它應該工作!

enter image description here

+1

我的修復非常相似。我只需要將MailCore框架和靜態libetpan Mac庫更改爲10.7的基本SDK。我用10.8的Base SDK構建了我的目標,一切都很好。 – siannopollo