我前几天刚从Xcode 9 beta 3切换到beta 4,现在当我使用OAuthSwift
库连接到Discogs.com时出现以下错误。它似乎不是OAuthSwift
或Discogs'上的问题。但是,因为错误是:
dyld: lazy symbol binding failed: Symbol not found: __T0SS10FoundationE9substringS2S13CharacterViewV5IndexV2to_tF
Referenced from: /Users/nrith/Library/Developer/CoreSimulator/Devices/<blah-blah-blah>.app/Immediate.app/Frameworks/OAuthSwift.framework/OAuthSwift
Expected in: /Users/nrith/Library/Developer/CoreSimulator/Devices/<blah-blah-blah>.app/Frameworks/libswiftFoundation.dylib
看起来像雷达反对的东西,但在此之前,我只是想看看是否有其他人遇到过这个。
OAuthSwift
库调用失败on line 151 of OAuthSwiftCredential
:
open func authorizationHeader(method: OAuthSwiftHTTPRequest.Method, url: URL, parameters: OAuthSwift.Parameters, body: Data? = nil) -> String {
let timestamp = String(Int64(Date().timeIntervalSince1970))
let nonce = OAuthSwiftCredential.generateNonce()
return self.authorizationHeader(method: method, url: url, parameters: parameters, body: body, timestamp: timestamp, nonce: nonce)
}
open class func generateNonce() -> String {
let uuidString = UUID().uuidString
return uuidString.substring(to: 8)
}
具体而言,uuidString.substring(to: 8)
失败。
这里是堆栈中的相关信息(请注意generateNonce()
方法已内联):