我收到的错误:

in /Users/robert/Documents/funWithFrameworks/build/Debug-iphonesimulator/funWithFrameworks.framework/funWithFrameworks, can't link with a main executable

悬崖笔记:

  • 尝试包含框架
  • 不想链接

更多详情:我正在开发一个 移动设备...提示提示 使用Xcode,我正在尝试制作自己的自定义框架,可以从另一个应用程序中包含。到目前为止,我已经完成了以下操作:

  1. 创建一个新项目;基于 iPhone 操作系统窗口的应用程序。
  2. 转到目标信息->打包下,将包装器扩展从应用程序更改为框架
  3. 转到“操作”->“新构建阶段”->“复制标头”。将标题的角色更改为“公共”
  4. 在我的应用程序中,我将框架添加到框架组中。
有帮助吗?

解决方案

苹果明确表示可以 不是 在手机上使用动态库。私有框架就是这样。

但是,您可以使用静态库。

其他提示

Egil,这通常被认为是 iPhone 开发者协议第 3.3.2 节的含义之一,该协议(部分)禁止插件架构或其他框架。事实上,他们没有为 iPhone 兼容框架提供 Xcode 项目模板,这往往会强化这个想法,尽管这当然可能只是一种疏忽,或者是他们不鼓励但实际上没有禁止的事情。

这是否是该部分的预期含义,您必须询问苹果,并可能咨询律师,但这就是经常说的“无框架”想法的来源。

对于那些想要在 iPhone 应用程序中使用框架代码的人来说,另一种方法是使用框架代码构建静态库。然后将其编译到应用程序中,而不是在运行时动态加载。它是应用程序可执行文件的一部分,这一事实避免了对协议这一部分的任何潜在担忧。

尽管不允许使用动态库,但您可以创建一个框架(使用静态库和 lipo)。

查看: http://accu.org/index.php/journals/1594

我还没有尝试过所谓的 移动设备, ,但我猜它与常规 Cocoa 应用程序的方法非常相似。看看这个教程:

嵌入式 Cocoa 框架

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top