我正在尝试将Parsekit框架添加到我的OSX Xcode项目中。我之前从未添加过第三方框架,但我无法让它正常工作。
我将包含的Xcode项目拖入我的'Groups& “文件”窗格并选择“将其添加到我的项目”。然后我将Parsekit.framework
拖到Link Binary With Libraries
标题下方。然后我双击我的目标应用程序并添加Parsekit
作为直接依赖关系。我还将libicucore.dylib
添加为链接库(正如它在其网站上所说的那样)。最后,在我的目标信息的构建设置标签中,我将Header Search Paths
设置为/Users/path/to/include/directory
,将Other Linker Flags
设置为-ObjC -all_load
。
将此作为调试版本运行正常,没有错误。但是,当我构建我的应用程序以发布然后尝试运行创建的可执行文件时,应用程序无法加载以下错误消息:
由于出现问题,无法打开MyApp。请与开发人员确认myApp是否适用于此版本的Mac OS X.
这是崩溃记者的转储:
处理:MyApp [11658]路径:
/Users/Garry/Programming/Xcode/Mac/MyApp/build/Release/MyApp.app/Contents/MacOS/MyApp 标识符:com.yourcompany.MyApp 版本:??? (???)代码类型: X86-64(Native)父进程: launchd [135]日期/时间:
2010-05-24 17:08:08.475 +0100 OS 版本:Mac OS X 10.6.3(10D573) 报告版本:自上次以来的6个间隔 报告:133300秒崩溃 自上次报告以来:每个应用程序3个 自上次报告以来崩溃:3 匿名UUID:
DF0265E4-B5A0-45E1-8B71-D52A27CFDDCA异常类型:EXC_BREAKPOINT (SIGTRAP)例外代码: 0x0000000000000002,0x0000000000000000 崩溃的线程:0
Dyld错误消息:库没有 加载: @executable_path /../框架/ ParseKit.framework /版本/ A / ParseKit 参考自: /Users/Garry/Programming/Xcode/Mac/MyApp/build/Release/MyApp.app/Contents/MacOS/MyApp 原因:未找到图像
型号:MacBookPro5,5,BootROM MBP55.00AC.B03,2个处理器,英特尔 Core 2 Duo,2.53 GHz,4 GB,SMC 1.47f2 图形:NVIDIA GeForce 9400M,NVIDIA GeForce 9400M,PCI,256 MB内存 模块:global_name AirPort: spairport_wireless_card_type_airport_extreme (0x14E4,0x8D),Broadcom BCM43xx 1.0 (5.10.91.27)蓝牙:版本 2.3.1f4,2服务,2个设备,1个传入串口网络服务: AirPort,AirPort,en1网络服务: 以太网适配器(en6),以太网,en6 串行ATA设备:日立 HTS545025B9SA02,232.89 GB串行ATA 设备:HL-DT-ST DVDRW GS23N USB 设备:内置iSight,0x05ac (Apple Inc.),0x8507,0x24400000 USB 设备:内部存储卡读卡器, 0x05ac(Apple Inc.),0x8403, 0x26500000 USB设备:红外接收器, 0x05ac(Apple Inc.),0x8242, 0x04500000 USB设备:Apple内部 键盘/触控板,0x05ac(Apple Inc.),0x0237,0x04600000 USB设备: BRCM2046集线器,0x0a5c(Broadcom 公司),0x4500,0x06100000 USB设备: 蓝牙USB主机控制器,0x05ac (Apple Inc.),0x8213,0x06110000
在构建应用程序之后,除了可执行文件之外,Xcode还创建了一个名为MyApp.app.dSYM
的文件。知道那是什么??
我在运行10.6.3的英特尔MBP上使用Xcode 3.2.2进行开发。
非常感谢您提供的任何帮助。
编辑:新问题! 非常感谢diciu的建议 - 最初我认为他们已经解决了这个问题。但是,我将已编译的应用程序复制到我妻子的Macbook(英特尔,运行10.6.3),但它不会启动。相反,我收到以下错误消息:
您无法打开应用程序MyApp,因为此类型的Mac不支持它。
在MyApp的构建设置中,我将Valid architectures
设置为i386 x86_64
,因此它应该可以正常工作。这可能是由什么引起的?
编辑:问题已解决
我无意中检查了Build设置中的Build active architecture only
标志。取消选中此问题解决了我的问题。非常感谢!
答案 0 :(得分:6)
您必须在目标下创建“复制文件”步骤。
右键单击目标,选择“添加” - > “新建阶段” - > “新建复制文件构建阶段”。 对于目的地,请选择“框架”。
在新创建的构建阶段,拖动您的Parsekit框架。
构建目录中的dsym包包含debugging symbols。
答案 1 :(得分:1)
ParseKit的开发人员。
执行此操作的方法在Xcode 4中已更改。有关如何在Xcode 4中为Mac App执行此操作的详细说明,请参阅我对How to embed ParseKit as a private framework in a Mac App bundle的回答。