使用自定义框架

Using a custom framework

提问人: 提问时间:9/17/2008 最后编辑:Binarian 更新时间:6/4/2014 访问量:8478

问:

我收到的错误:

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

Cliff 指出:

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

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

  1. 创建一个新项目;基于 iPhone OS 窗口的应用程序。
  2. 转到打包下的目标信息>,将包装器扩展从“应用”更改为“框架”
  3. 转到 Action->new 生成阶段 -> 复制标头。将标头的角色更改为“public”
  4. 在我的应用程序中,我将框架添加到框架组。
iPhone Xcode macOS

评论


答:

0赞 amrox 9/17/2008 #1

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

嵌入式 Cocoa 框架

5赞 user8030 9/17/2008 #2

苹果明确表示,你不能在他们的手机上使用动态库。而私有框架就是这样。

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

评论

1赞 logancautrell 10/31/2011
这并不完全准确。虽然您无法动态链接到自己的框架,但确实可以创建自己的框架并将其与应用程序打包在一起。 cocoanetics.com/2010/04/making-your-own-iphone-frameworks
1赞 nont 4/18/2012
这个答案是错误的。您可以创建静态链接的框架。
1赞 Tom Harrington 12/21/2008 #3

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

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

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

1赞 jbenet 5/21/2010 #4

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

退房: http://accu.org/index.php/journals/1594