Missing module map for CommonCrypto

Originator:daniel
Number:rdar://33305419 Date Originated:13-Jul-2017 05:40 PM
Status:Open Resolved:
Product:Developer Tools Product Version:Version 8.3.3 (8E3004b)
Classification:Other Bug Reproducible:Always
 
Summary:
This is a duplicate of radar #26276263

It’s currently very difficult to use CommonCrypto in Swift frameworks and scripts. The work-around solution is to define our own module map as outlined in the first suggestion in this dev forum post: https://forums.developer.apple.com/thread/36217


Steps to Reproduce:
1. Create Swift file sample.swift with the lines:
#!/usr/bin/env xcrun swift

import Foundation
import CommonCrypto

extension String {
    func sha1() -> String {
        let data = self.dataUsingEncoding(NSUTF8StringEncoding)!
        var digest = [UInt8](count:Int(CC_SHA1_DIGEST_LENGTH), repeatedValue: 0)
        CC_SHA1(data.bytes, CC_LONG(data.length), &digest)
        let hexBytes = digest.map { String(format: "%02hhx", $0) }
        return hexBytes.joinWithSeparator("")
    }
}

print("Hello world".sha1())

2. chmod +x sample.swift

3. ./sample.swift

Expected Results:
7b502c3a1f48c8609ae212cdfb639dee39673f5e

Actual Results:
./sample.swift:3:8: error: no such module 'CommonCrypto'
import CommonCrypto

Version:
Version 8.3.3 (8E3004b)

Notes:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!