Sto riscontrando alcuni problemi nel tentativo di convertire il codice che ho trovato nella documentazione di Apple in un codice rapido. Per la precisione si tratta di roba su TSL e certificati ...Swift e SecTrust
Questo è il codice originale in Objective-C
SecTrustResultType secresult = kSecTrustResultInvalid;
if (SecTrustEvaluate(trust, &secresult) != errSecSuccess)
return;
}
E questo è il mio tentativo ...
var secresult:SecTrustResultType = kSecTrustResultInvalid // ERROR 1
if (SecTrustEvaluate(trust, &secresult) != errSecSuccess) { // ERROR 2
return;
}
ERRORE 1 è:
'Int' is not convertible to 'SecTrustResultType'
ERRORE 2 è:
Could not find an overload for '!=' that accepts the supplied arguments
Ora, vedo che è un SecTrustResultType
UInt32
e kSecTrustResultInvalid
è un Int
... ma questa intestazione è definito da Apple quindi suppongo che dovrebbe essere corretto: P
typealias SecTrustResultType = UInt32
var kSecTrustResultInvalid: Int { get }
Circa il secondo errore io davvero non so come gestirla poiché la funzione SecTrustEvaluate
restituisce un OSStatus
(che è un alias per UInt32
) e errSecSuccess
è un OSStatus
troppo.
Sono davvero confuso. Hai qualche suggerimento per far funzionare questa roba !?
Per la vostra errore 1, è possibile convertire l'Int in un UInt32: 'var secresult: SecTrustResultType = UInt32 (kSecTrus tResultInvalid) ' – Moritz