如何创建和使用 iOS 框架与扩展共享代码

Posted

技术标签:

【中文标题】如何创建和使用 iOS 框架与扩展共享代码【英文标题】:How to create and use an iOS Framework for sharing code with Extensions 【发布时间】:2014-09-12 15:55:32 【问题描述】:

自定义 ios 框架的最小设置和使用情况如何?我开始研究这个,以便与 Today Extension 共享代码。

这是我到目前为止所做的

    添加了一个新的 Target,选择 Cocoa Touch Framework 模板并将其命名为 TesterKit 在框架内我创建了一个新类TestClass.swiftTestClass.swift里面我创建了一个简单的类方法class fund tester()打印一个字符串进行测试

查看我的应用,我可以看到 TesterKit 已添加为 Embedded BinariesLinked Frameworks and Libraries,但它是 红色

    为了在应用程序中使用这个新框架,我在 AppDelegate 的顶部添加了 import TesterKit

    然后我尝试使用 TestClass.tester() 从框架中调用类方法。但我没有显示日志消息,而是得到一个……

    “使用未解析的标识符”

→ 我做错了什么?这里有任何错误的假设吗?

注意:我已经观看了 WWDC 会议 416“构建现代框架”并找到了 Framework Programmign Guide。如果有任何示例项目展示了如何使用此类新的自定义 iOS 框架,最好使用 Swift + 将其与 Today Extensions 集成,那也可能会有所帮助。

【问题讨论】:

你看过 WWDC 视频吗? 红色只是意味着它不存在——因为它是由不同的方案构建的。您需要一个复制框架的复制文件构建阶段,并且它必须以共享框架目标为目标。 【参考方案1】:

您的导入似乎没有失败,这意味着框架实际上已正确设置...尝试将函数设为 public

public func tester()  print("tester()" 

【讨论】:

以上是关于如何创建和使用 iOS 框架与扩展共享代码的主要内容,如果未能解决你的问题,请参考以下文章

如何与 iOS 扩展共享 Parse 登录会话?

iOS 8是否支持动态链接?

Swift 中的 iOS 共享扩展抓取 URL

具有多个目标的iOS扩展

iOS 共享扩展流程

如何在上传前在 iOS 共享扩展中缩小图像