Sparkle 10.9链接错误

时间:2013-10-13 17:41:29

标签: sparkle

在尝试使用Xcode 5运行10.9时将Sparkle添加到我的项目时遇到问题。

我已经按照教程去了T,但是当我到达需要复制框架并设置其复制位置的位置时,似乎无法在复制包资源中设置复制目标部分,它只是将框架放在/ Resources文件夹中。

我已经准备好通过这个步骤并尝试了所有的建议。

http://www.lists.apple.com/archives/xcode-users/2012/Aug/msg00249.html

我从最新的源代码重新编译了Sparkle,并将安装目录设置为@exeader_path /../来自@loader_path /../的框架。框架我收到以下错误。

dyld:未加载库:@executable_path /../ Frameworks / Sparkle.framework /

当我恢复并尝试重新添加框架时,我收到此错误。

dyld:未加载库:@loader_path /../ Frameworks / Sparkle.framework /

如果我完全从二进制文件中删除链接框架中的框架,只关注复制包资源,那么我就会收到此错误。

未知类'SUUpdater',改为使用'NSObject'。

本教程是为Xcode 4编写的,我知道。一步说使用复制文件位置,但似乎在Xcode 5中已经消失,任何帮助都表示赞赏。

更新

我找到了一个解决方案,但它非常混乱。

  1. 将框架添加到“添加要构建的文件”构建步骤。
  2. 取消链接闪光框架。
  3. 打开Derived Data文件夹,然后打开App Build,然后浏览到Resources。将sparkle.framework文件夹移动到应用程序的根目录,并将框架放入应用程序根目录中名为Framework的文件夹中。
  4. 从“添加要构建的文件”步骤中删除框架。
  5. 重新链接框架。
  6. 重建应用程序,瞧它有效。
  7. 基本上,您手动在Framework文件夹中添加框架,然后在最后将其链接起来。令它变得混乱的是,构建在Derived Data文件夹中偶尔会发生变化。

2 个答案:

答案 0 :(得分:4)

我有同样的问题。而且我想我已经解决了它。

之所以发生这种情况是因为Sparkle.framework没有复制到Frameworks文件夹(应该在哪里),在构建应用程序时会将其复制到Resources文件夹中。要解决它:

  1. 从GIT(https://github.com/sparkle-project/Sparkle)下载Sparkle的源代码并在Xcode 5中打开项目;

  2. 转到每个目标的构建设置,然后找到基本SDK ,将值更改为macosx。

  3. 转到Sparkle.framework的构建设置。在Sparkle.framework的安装目录,将其值从 @loader_path /../ Frameworks 更改为 @loader_path /../ Resources >构建设置。

  4. 构建

  5. 将Project Navigator中Products组下的Sparkle.framework复制到您的项目中。

  6. 说“是”并自高自拔。

答案 1 :(得分:0)

我遇到了同样的问题,然后我发现了这个: http://www.lantean.co/sparkle-in-sandbox-mode/

关键是使用“Build Phases”中的“Copy Files”部分将Sparkle.framework添加到Frameworks文件夹。