dart_kinselok
@dart_kinselok
Правильный вопрос содержит 50% искомого ответа...

Получить md5 в swift?

Необходимо получить MD5 строки. Написано расширение вида

import Foundation
import CommonCrypto // ERROR : NO SUCH MODULE 'CommonCrypto'

extension Data {
    func hexString() -> String {
        let string = self.map{Int($0).hexString()}.joined()
        return string
    }
    
    func MD5() -> Data {
        var result = Data(count: Int(CC_MD5_DIGEST_LENGTH))
        _ = result.withUnsafeMutableBytes {resultPtr in
            self.withUnsafeBytes {(bytes: UnsafePointer<UInt8>) in
                CC_MD5(bytes, CC_LONG(count), resultPtr)
            }
        }
        return result
    }
    
}

extension String {
    var md5 : String {
        return self.data(using: .utf8)!.MD5().hexString()
    }
}


Понятное дело, в BridgingHeader надо было добавить импорт. Сделано:

#import <CommonCrypto/CommonCrypto.h>

И подключить сам заголовочный файл:

Objective-C Bridging Header - Parh/To/Header/File.h


На выходе получаю ошибку:

NO SUCH MODULE 'CommonCrypto'

Как бороться? Спасибо.
  • Вопрос задан
  • 1112 просмотров
Решения вопроса 1
Rou1997
@Rou1997
import не нужен, когда есть #import заголовочного файла Objective-C.
Подробнее о CommonCrypto: iosdeveloperzone.com/2014/10/03/using-commoncrypto...
Сами не могли догадаться его убрать? Да и на ссылку эту могли бы сами выйти.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы