当我从命令行运行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