Xcode 7 和基于 swift 的框架

Posted

技术标签:

【中文标题】Xcode 7 和基于 swift 的框架【英文标题】:Xcode 7 and swift based framework 【发布时间】:2015-10-08 14:31:50 【问题描述】:

我使用 xcode 6.4 开发了一个基于 swift 的框架

我最近将我的 xcode 更新到 7.0 并发现了一些惊喜:

    我的代码中的某些语法不再有效,并且随着 xcode 7 引入 Swift 2.0,因此需要进行更正(不是那么可怕)

    在尝试将我的框架嵌入到 xcode 7 中的应用程序时,我收到一个错误,提示该框架是在 xcode 的早期版本中构建的,需要重新构建!? (所以使用 xcode 7 的开发者不能再使用我的框架了?)

    我在 Xcode 7 中构建了框架并将其嵌入到 xcode 7 开发的应用程序中 - 它可以工作。但是现在当试图在 xcode 6.4 应用程序中嵌入 7.0 构建的框架时,它不起作用给我错误:

dyld:库未加载:@rpath/libswiftWebKit.dylib 引用自:... 原因:找不到图片

那是什么意思?我必须管理 xcode 6 和 xcode 7 的版本吗? xcode 7 上的构建框架怎么可能不适用于在早期版本上开发的应用程序? (6.4)

有人可以解决这个兼容性问题吗?

【问题讨论】:

查看一些关于 dyld 错误的内容。我昨晚得到了一个,不得不更新我的证书,但其他人似乎更容易纠正:***.com/questions/26024100/… 【参考方案1】:

我已尝试从 Apple 搜索有关此主题的已发布信息,但找不到任何信息。

关于您的惊讶 2),我确实记得几个月前我们的 Apple 技术代表给我们的具体建议:不要在 Swift 中构建框架,因为该语言仍在不断发展,您的用户会遇到兼容性问题。我猜他想的是 Swift 2。

我问如果我们为每个版本的 Swift 维护多个版本的框架,我们是否可以在 Swift 中构建一个框架,他说这可行。

关于您的惊喜 3),这对我来说似乎很正常。我不希望旧版本的 Xcode 能够使用新版本中构建的二进制文件。

【讨论】:

以上是关于Xcode 7 和基于 swift 的框架的主要内容,如果未能解决你的问题,请参考以下文章

国内首个完整的 Swift 服务端开源项目及详解 - 基于 Vapor 3 框架

发布构建崩溃、Swift、Armchair 框架、Xcode 6.2

在 Xcode 6.3 (Swift) 中使用 Parse 和 Facebook 框架编译错误

Xcode - 从嵌套框架访问 swift 类

Xcode 7.3 (swift 2) 中的自动布局

为啥应用存档在 iOS、swift、xcode 9.2 中使用自定义框架失败