小编Myr*_*tol的帖子

Xcode:将全新框架链接到全新的应用程序失败并显示"未找到图像"

我是Xcode和Objective-C的新手,但是他是一位经验丰富的(网络)程序员.我想创建一个包含自制框架的应用程序.

现在我已经阅读了很多内容,我想我已经合理地掌握了OS X如何在运行时解析依赖关系,以及@rpath,@ executable_path和@loader_path的角色.

我做了以下创建框架:

  1. 创建名为Test的新Cocoa Framework.
  2. 将安装目录设置为"@rpath".
  3. 将"Test.h"添加到公共标题中.
  4. 点击运行.
  5. 右键单击"Products"下的Test.framework,选择Show in Finder.它是项目"Debug"目录中名为"Test.framework"的目录.它似乎有合理的内容(版本/ A目录和符号链接到"标题","资源"和"测试"二进制文件)

我做了以下创建应用程序:

  1. 创建名为"TestApp"的新Cocoa应用程序.
  2. 将测试框架添加到项目中.选择"将文件添加到项目".从Test框架项目的"Release"目录中选择"Test.framework"目录.选中"将项目复制到目标组的文件夹"保留"为任何添加的文件夹创建组".上.
  3. 确保将框架文件复制到应用程序包.选择"添加构建阶段" - >"添加复制文件"将侧边栏中的Test.framework文件夹(或组?)拖到"复制文件"区域.
  4. 添加一个名为"@executable_path /../ Frameworks"的额外"框架搜索路径"

当我选择运行时,我在构建期间收到以下警告:

构建目标TestApp

Ld /Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug/TestApp.app/Contents/MacOS/TestApp normal x86_64 cd/Users/meryn/Work/test-app/TestApp setenv MACOSX_DEPLOYMENT_TARGET 10.8 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10 .8.ddk -L/Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug -F/Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug -F/Users/meryn/Work/test-app/TestApp"-F @ executable_path /../ Frameworks"-filelist/Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Intermediates/TestApp.build/Debug/TestApp.build/Objects-normal/x86_64/TestApp.LinkFileList -mmacosx-version-min = 10.8 -fobjc-arc -fobjc-link-runtime -framework Cocoa -framework Test -o /Users/meryn/Library/Developer/Xcode/DerivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug/TestApp.app/Contents/MacOS/TestApp

ld:警告:找不到选项'-F @ executable_path /../ Frameworks'的目录

我可以想象这个警告是可以预料的,因为Ld可能根本不知道"@executable_path".它是否正确?

随后,运行应用程序失败:

dyld:未加载库:@ rpath/Test.framework/Versions/A/Test引用自:/Users/meryn/Library/Develorator/Xcode/DelivedData/TestApp-ajwvknoonliuqqfaqxacxrmapyfz/Build/Products/Debug/TestApp.app/Content/MacOS/TestApp原因:找不到图像

奇怪的是,TestApp.app包确实包含一个Frameworks目录,里面有Test.framework目录.鉴于我对OS X如何搜索依赖关系的理解,我认为我添加的搜索路径应该可以解决.

这是在XCode 4.6,OS X 10.8上.

otool -L TestApp

TestApp:

/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa(兼容版本1.0.0,当前版本19.0.0)

@ rpath/Test.framework/Versions/A/Test(兼容版本1.0.0,当前版本1.0.0) …

xcode frameworks dyld

4
推荐指数
1
解决办法
4853
查看次数

什么时候 "_." 用于python

有时我见过人们_.在python代码中使用表达式.例如,

_.objectName = 23
Run Code Online (Sandbox Code Playgroud)

有人可以帮我确切地说"_".意思?有人可以给我更多这种类型的例子并附上解释吗?

python

1
推荐指数
1
解决办法
164
查看次数

标签 统计

dyld ×1

frameworks ×1

python ×1

xcode ×1