我们最近将我们的iOS应用升级到Swift 3
,经过一些调整和调试后,我们设法让它发挥作用。但是当我们尝试归档它时,我们注意到它不会在发布模式下编译。我们遇到的一个错误是Debug
模式,Xcode
要我们写
let client: AFRKHTTPClient = AFRKHTTPClient(baseURL: baseURL.deletingLastPathComponent)
在Release
模式下,我们需要编写
let client: AFRKHTTPClient = AFRKHTTPClient(baseURL: baseURL.deletingLastPathComponent())
这些行(其他失败的问题有类似/相关问题)的问题似乎是Debug
版本试图使用
var deletingLastPathComponent: URL? { get }
可从iOS 4
开始使用,而Release
版本则尝试使用
func deletingLastPathComponent() -> URL
可从iOS 10
及以上获取。
另一个奇怪的事情是,我们可以在发布中没有括号的情况下调用它,只要我们只构建应用程序而不运行它。
我尝试过清理,清理构建文件夹,删除派生数据,重新启动,没有任何区别。其他mac也会出现同样的问题。我已经尝试通过代码查找RELEASE
或DEBUG
- 标签可以做某事,没有运气,以及设置所有(至少我认为我得到了所有)项目中的发布设置与调试设置相同,但也没有运气。
我们正在使用RestKit 0.27.0
并且错误显示在RestKit
代码周围,但我找不到任何应该在那里制造麻烦的内容。我现在真的很难过,所以如果有人对我在哪里寻找解决方案有任何指示,他们将不胜感激!