Mam pewne problemy z konwersją kodu, który znalazłem w dokumentacji Apple na szybki kod. Aby być precyzyjnym to rzeczy o TSL oraz certyfikatów ...Swift i SecTrust
Jest to oryginalny kod w Objective-C
SecTrustResultType secresult = kSecTrustResultInvalid;
if (SecTrustEvaluate(trust, &secresult) != errSecSuccess)
return;
}
A to moja próba ...
var secresult:SecTrustResultType = kSecTrustResultInvalid // ERROR 1
if (SecTrustEvaluate(trust, &secresult) != errSecSuccess) { // ERROR 2
return;
}
ERROR 1:
'Int' is not convertible to 'SecTrustResultType'
ERROR 2:
Could not find an overload for '!=' that accepts the supplied arguments
Teraz widzę, że SecTrustResultType
jest UInt32
i kSecTrustResultInvalid
jest Int
... ale ten nagłówek jest określony przez Apple, więc przypuszczam, że powinno być poprawne: P
typealias SecTrustResultType = UInt32
var kSecTrustResultInvalid: Int { get }
O drugim błędem ja naprawdę nie wiem, jak zarządzać go od funkcji SecTrustEvaluate
zwraca OSStatus
(to jest aliasem dla UInt32
) i errSecSuccess
jest OSStatus
też.
Jestem naprawdę zdezorientowany. Czy masz jakieś sugestie, aby te rzeczy działały !?
Dla Państwa błąd 1, możesz przekonwertować Int na UInt32: 'var secresult: SecTrustResultType = UInt32 (kSecTrus tResultInvalid) ' – Moritz