在将XCode 7更新为Beta 5之前,我的项目已在XCode 7 beta 3中与SwiftHTTP完美配合。

现在我得到了错误:'SecPolicy'没有名为'takeRetainedValue'的成员。

var policy: SecPolicyRef
    if self.validatedDN {
        policy = SecPolicyCreateSSL(1, domain).takeRetainedValue()
    } else {
        policy = SecPolicyCreateBasicX509().takeRetainedValue()
    }

有没有解决的机会?

谢谢!

最佳答案

从iOS 9开始,安全框架返回的值是自动进行内存管理的,而不是Unmanaged引用。这样,您就不再需要调用takeRetainedValue()(实际上,您不再需要,因为它们不再返回Unmanaged值),因此只需删除这些调用,系统就会在需要时自动释放它们。

有关非托管Core Foundation引用的更多信息,请参阅《将Swift与Cocoa和Objective-C一起使用》指南中的this section

10-08 05:49