Mac应用程序在启动时崩溃,链接框架未捆绑

时间:2012-10-08 06:49:49

标签: frameworks nsbundle mac-app-store

(编辑:我能够捆绑框架,但它仍然不会更改安装目录。所以,下面,问题已更改为“链接和捆绑的框架图像未找到”)

Mac应用程序已提交给MAS,但Apple拒绝了,原因很简单:链接的框架没有捆绑。

我只是问我如何确保它在捆绑中正确包含,并在再次提交之前在我的Mac上确认。

请告诉我您需要的任何额外信息。

编辑:按照零度以下指示后的更多信息。

进入产品时> Build,.app文件最终在我的机器上的Documents / build / Release中。

以下是我的构建阶段的外观 - https://dl.dropbox.com/u/19155207/copyframeworks.jpg

和UIKit.Framework 文件夹位于WinKonto.app/Contents/Frameworks中,其中包含:https://dl.dropbox.com/u/19155207/frameworksfolder.jpg

如果我从Releases文件夹运行它,它仍然会出现相同的错误。只有当我从XCode运行它才有效。你能看到什么问题吗?

编辑2:我已经将框架文件(UIKit)放入了包中。

以下是崩溃报告错误消息:

  

Dyld错误消息:未加载库:   Frameworks / UIKit.framework / Versions / A / UIKit参考自:   /Users/henrikerlandsson/Documents/build/Release/WinKonto.app/Contents/MacOS/WinKonto   原因:未找到图像

但是框架在bundle中,并且在被添加到项目之前由install_name_tool修改。

我不知道为什么修改不起作用,但我把它变成了一个私有框架而改为安装目录,而且工作正常(参见我的回答)。

2 个答案:

答案 0 :(得分:1)

在XCode中,

  1. 将复制文件构建阶段添加到应用程序的目标
  2. 将其移至链接阶段上方,将其目标设置为myApp.app/Contents/Frameworks并将框架添加到其中。

答案 1 :(得分:0)

我把它变成了一个私人框架。我按照Embedding a Private Framework in Your Application Bundle下的说明操作,这让我可以正确地将框架的安装目录设置为它在捆绑包中的位置。

相关问题