首页 文章

Sparkle 10.9链接错误

提问于
浏览
0

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

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

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

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

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

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

当我恢复并尝试重新添加框架时,我得到了这个错误 .

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

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

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

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

UPDATE

我找到了一个工作,但它非常混乱 .

  • 将框架添加到"Add files to build"构建步骤 .

  • 取消链接闪光框架 .

  • 打开Derived Data文件夹,然后打开App Build,然后浏览到Resources . 将sparkle.framework文件夹移动到应用程序的根目录,并将框架放入应用程序根级别的名为Framework的文件夹中 .

  • 从"Add files to build"步骤中删除框架 .

  • 重新链接框架 .

  • 重建应用程序,瞧它有效 .

基本上,您手动将框架添加到Framework文件夹中,然后在最后将其链接起来 . 令它变得混乱的是,构建会在Derived Data文件夹中偶尔发生变化 .

2 回答

  • 4

    我也有同样的问题 . 我想我已经解决了 .

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

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

    • 转到每个目标的Build Settings,然后找到 Base SDK ,将值更改为macosx .

    • 转到Sparkle.framework的构建设置 . 查找 Installation Directory ,将其值从@loader_path /../ Frameworks更改为@loader_path /../ Sparkle.framework的 Build Settings 下的资源 .

    • Build .

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

    • 说“是”并自高自拔 .

  • 0

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

    关键是使用“构建阶段”中的“复制文件”部分将Sparkle.framework添加到Frameworks文件夹 .

相关问题