當我從命令行運行iPhone應用程序時,將框架添加到我的項目時遇到一些困難。 我的最終目標是從自動構建過程中運行應用程序測試。dyld:Library not loaded - 當應用程序從命令行運行時
當我運行在Xcode我的應用程序:
我添加了一個「複製文件」構築階段我的目標和一切順利。 副本設置爲$(BUILT_PRODUCTS_DIR)爲「絕對路徑」
當我從終端運行我的應用程序(使用iphonesim項目)我得到這個錯誤:
dyld: Library not loaded: @rpath/OCMock.framework/Versions/A/OCMock
UIKitApplication:indemnisation[0xb894][26380] Referenced from: /Users/Admin/Library/Application Support/iPhone Simulator/User/Applications/CD5729B5-A674-49B2-91F6-AD398094B6F8/indemINT.app/indemINT
什麼我不明白的是,複製構建階段只是將框架文件複製到與應用程序相同的目錄中。
當我從命令行運行應用程序時,框架文件已經在同一個目錄中。有誰知道它爲什麼不起作用?
我也嘗試添加OCMock.framework在以下目錄中(沒有成功):提前
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library
/Library/Frameworks
/Users/Admin/Library/Application Support/iPhone Simulator/User/Applications/CD5729B5-A674-49B2-91F6-AD398094B6F8
感謝, 文森特。
請注意,如果你想這樣做的OSX,您的目標應設定爲«框架»,沒有子路徑,在«複製文件»建設階段,因此包含在框架中的應用(有它在與應用程序相同的文件夾不是解決方案)。 – Macmade 2010-03-18 17:51:08