【发布时间】:2016-03-25 10:00:04
【问题描述】:
我想使用新的 AU 扩展 v3 框架为 iOS 创建音频单元扩展。 Apple 提供的文档和示例代码很少,并且仅以 Swift 格式提供。
这是否意味着只能使用 Swift 创建 AU 扩展,还是理论上也可以使用 Objective-C?换句话说:当我尝试将示例代码移植到 Objective-C 中时,我会遇到阻塞吗?
【问题讨论】:
标签: ios objective-c swift audiounit
我想使用新的 AU 扩展 v3 框架为 iOS 创建音频单元扩展。 Apple 提供的文档和示例代码很少,并且仅以 Swift 格式提供。
这是否意味着只能使用 Swift 创建 AU 扩展,还是理论上也可以使用 Objective-C?换句话说:当我尝试将示例代码移植到 Objective-C 中时,我会遇到阻塞吗?
【问题讨论】:
标签: ios objective-c swift audiounit
我从 WWDC 2015 (session 508) 的会议中了解到,Objective-C 实际上是音频单元扩展的推荐语言。这是因为 Swift ABI 还没有稳定下来,所以如果你用一个版本的 Swift 构建了一个扩展,并且它托管在一个用不同的 Swift 版本构建的应用程序中,你就会遇到问题。
This thread 更详细地讨论了 Swift ABI。
更新:我回过头来搜索asciiwwdc.com 以找到我想到的评论(这是来自 2015 WWDC 的第 508 次会议):
因此,如果您要构建一个框架以在 OS X 上进行加载,尽管我们在此处使用 Swift 执行此操作,但我们不建议您在 OS X 上执行此操作,因为 Swift API 可能会发生变化.
(我很确定他说的是 ABI,但有人将其转录为 API。)
【讨论】: