题
我收到的错误:
in /Users/robert/Documents/funWithFrameworks/build/Debug-iphonesimulator/funWithFrameworks.framework/funWithFrameworks, can't link with a main executable
悬崖笔记:
- 尝试包含框架
- 不想链接
更多详情:我正在开发一个 移动设备...提示提示 使用Xcode,我正在尝试制作自己的自定义框架,可以从另一个应用程序中包含。到目前为止,我已经完成了以下操作:
- 创建一个新项目;基于 iPhone 操作系统窗口的应用程序。
- 转到目标信息->打包下,将包装器扩展从应用程序更改为框架
- 转到“操作”->“新构建阶段”->“复制标头”。将标题的角色更改为“公共”
- 在我的应用程序中,我将框架添加到框架组中。
解决方案
苹果明确表示可以 不是 在手机上使用动态库。私有框架就是这样。
但是,您可以使用静态库。
其他提示
Egil,这通常被认为是 iPhone 开发者协议第 3.3.2 节的含义之一,该协议(部分)禁止插件架构或其他框架。事实上,他们没有为 iPhone 兼容框架提供 Xcode 项目模板,这往往会强化这个想法,尽管这当然可能只是一种疏忽,或者是他们不鼓励但实际上没有禁止的事情。
这是否是该部分的预期含义,您必须询问苹果,并可能咨询律师,但这就是经常说的“无框架”想法的来源。
对于那些想要在 iPhone 应用程序中使用框架代码的人来说,另一种方法是使用框架代码构建静态库。然后将其编译到应用程序中,而不是在运行时动态加载。它是应用程序可执行文件的一部分,这一事实避免了对协议这一部分的任何潜在担忧。
尽管不允许使用动态库,但您可以创建一个框架(使用静态库和 lipo)。
我还没有尝试过所谓的 移动设备, ,但我猜它与常规 Cocoa 应用程序的方法非常相似。看看这个教程:
不隶属于 StackOverflow