Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

65 Compile errors on Xcode 6.1.1 in Swift with Example project #6

Closed
testower opened this issue May 12, 2015 · 4 comments
Closed

65 Compile errors on Xcode 6.1.1 in Swift with Example project #6

testower opened this issue May 12, 2015 · 4 comments

Comments

@testower
Copy link

CompileSwift normal x86_64 <path>Heimdall/Heimdall/Heimdall/Heimdall.swift
    cd <path>Heimdall/Heimdall
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file <path>Heimdall/Heimdall/Heimdall/Heimdall.swift -target x86_64-apple-ios8.0 -target-cpu core2 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -I /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Products/Debug-iphonesimulator -I /Users/<user>/Library/Developer/Xcode/DerivedData/modules -F /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Products/Debug-iphonesimulator -g -import-underlying-module -module-cache-path /Users/<user>/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Heimdall-generated-files.hmap -Xcc -I/Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Heimdall-own-target-headers.hmap -Xcc -I/Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Heimdall-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Heimdall-project-headers.hmap -Xcc -I/Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Products/Debug-iphonesimulator/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/DerivedSources/x86_64 -Xcc -I/Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -ivfsoverlay -Xcc /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/unextended-module-overlay.yaml -emit-module-doc-path /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Objects-normal/x86_64/Heimdall~partial.swiftdoc -Onone -parse-as-library -module-name Heimdall -emit-module-path /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Objects-normal/x86_64/Heimdall~partial.swiftmodule -serialize-diagnostics-path /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Objects-normal/x86_64/Heimdall.dia -emit-dependencies-path /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Objects-normal/x86_64/Heimdall.d -o /Users/<user>/Library/Developer/Xcode/DerivedData/HeimdallExample-eehzudxaclzvebgffkvuvxmsuoqx/Build/Intermediates/Heimdall.build/Debug-iphonesimulator/Heimdall.build/Objects-normal/x86_64/Heimdall.o

<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:59:73: error: expected '{' after 'if' condition
            if let newData = publicKeyData?.dataByStrippingX509Header() where !existingData.isEqualToData(newData) {
                                                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:59:116: error: braced block of statements is an unused closure
            if let newData = publicKeyData?.dataByStrippingX509Header() where !existingData.isEqualToData(newData) {
                                                                                                                   ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:64:72: error: expected '{' after 'if' condition
        } else if let data = publicKeyData?.dataByStrippingX509Header(), key = Heimdall.insertPublicKey(publicTag, data: data) {
                                                                       ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:64:128: error: braced block of statements is an unused closure
        } else if let data = publicKeyData?.dataByStrippingX509Header(), key = Heimdall.insertPublicKey(publicTag, data: data) {
                                                                                                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:67:10: error: consecutive statements on a line must be separated by ';'
        } else {
         ^
         ;
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:67:11: error: expected expression
        } else {
          ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:67:16: error: braced block of statements is an unused closure
        } else {
               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:138:48: error: expected '{' after 'if' condition
        if let keyData = obtainKeyData(.Public), (modulus, exponent) = keyData.splitIntoComponents() {
                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:138:102: error: braced block of statements is an unused closure
        if let keyData = obtainKeyData(.Public), (modulus, exponent) = keyData.splitIntoComponents() {
                                                                                                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:160:46: error: expected '{' after 'if' condition
        if let publicKey = obtainKey(.Public), aesKey = Heimdall.generateSymmetricKey(Int(kCCKeySizeAES256)), encrypted = Heimdall.encrypt(string, key: aesKey) {
                                             ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:160:161: error: braced block of statements is an unused closure
        if let publicKey = obtainKey(.Public), aesKey = Heimdall.generateSymmetricKey(Int(kCCKeySizeAES256)), encrypted = Heimdall.encrypt(string, key: aesKey) {
                                                                                                                                                                ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:247:41: error: expected '{' after 'if' condition
        if let key = obtainKey(.Private), messageData = message.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false), hash = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH)) {
                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:247:194: error: braced block of statements is an unused closure
        if let key = obtainKey(.Private), messageData = message.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false), hash = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH)) {
                                                                                                                                                                                                 ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:298:96: error: expected '{' after 'if' condition
            if let signature = NSData(base64EncodedString: signatureBase64, options: .allZeros),
                                                                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:300:80: error: braced block of statements is an unused closure
                hashData = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH)) {
                                                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:371:45: error: expected '{' after 'if' condition
        } else if let tag = self.privateTag where key == .Private && self.scope & ScopeOptions.PrivateKey == ScopeOptions.PrivateKey {
                                            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:371:134: error: braced block of statements is an unused closure
        } else if let tag = self.privateTag where key == .Private && self.scope & ScopeOptions.PrivateKey == ScopeOptions.PrivateKey {
                                                                                                                                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:381:45: error: expected '{' after 'if' condition
        } else if let tag = self.privateTag where key == .Private && self.scope & ScopeOptions.PrivateKey == ScopeOptions.PrivateKey {
                                            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:381:134: error: braced block of statements is an unused closure
        } else if let tag = self.privateTag where key == .Private && self.scope & ScopeOptions.PrivateKey == ScopeOptions.PrivateKey {
                                                                                                                                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:407:31: error: expected type after 'as'
                return (ref as! SecKeyRef)
                              ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:407:31: error: expected ',' separator
                return (ref as! SecKeyRef)
                              ^
                              ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:407:31: error: expected expression in list of expressions
                return (ref as! SecKeyRef)
                              ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:407:31: error: expected ',' separator
                return (ref as! SecKeyRef)
                              ^
                              ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:429:61: error: expected type after 'as'
            result = Optional(keyRef?.takeRetainedValue() as! NSData)
                                                            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:429:61: error: expected ',' separator
            result = Optional(keyRef?.takeRetainedValue() as! NSData)
                                                            ^
                                                            ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:429:61: error: expected expression in list of expressions
            result = Optional(keyRef?.takeRetainedValue() as! NSData)
                                                            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:429:61: error: expected ',' separator
            result = Optional(keyRef?.takeRetainedValue() as! NSData)
                                                            ^
                                                            ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:483:74: error: expected type after 'as'
                              kSecPublicKeyAttrs.takeUnretainedValue() as! String: publicAttributes,
                                                                         ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:483:74: error: expected ',' separator
                              kSecPublicKeyAttrs.takeUnretainedValue() as! String: publicAttributes,
                                                                         ^
                                                                         ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:483:74: error: expected key expression in dictionary literal
                              kSecPublicKeyAttrs.takeUnretainedValue() as! String: publicAttributes,
                                                                         ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:483:74: error: expected ',' separator
                              kSecPublicKeyAttrs.takeUnretainedValue() as! String: publicAttributes,
                                                                         ^
                                                                         ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:484:75: error: expected type after 'as'
                              kSecPrivateKeyAttrs.takeUnretainedValue() as! String: privateAttributes]
                                                                          ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:484:75: error: expected ',' separator
                              kSecPrivateKeyAttrs.takeUnretainedValue() as! String: privateAttributes]
                                                                          ^
                                                                          ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:484:75: error: expected key expression in dictionary literal
                              kSecPrivateKeyAttrs.takeUnretainedValue() as! String: privateAttributes]
                                                                          ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:484:75: error: expected ',' separator
                              kSecPrivateKeyAttrs.takeUnretainedValue() as! String: privateAttributes]
                                                                          ^
                                                                          ,
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:490:45: error: expected '{' after 'if' condition
                if let publicKey = publicRef, privateKey = privateRef {
                                            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:490:71: error: braced block of statements is an unused closure
                if let publicKey = publicRef, privateKey = privateRef {
                                                                      ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:670:37: error: expected '{' after 'if' condition
            if keyBytes[i++] == 0x02, let modulusLength = NSInteger(octetBytes: keyBytes, startIdx: &i) {
                                    ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:671:68: error: variable used within its own initial value
                let modulus = self.subdataWithRange(NSMakeRange(i, modulusLength))
                                                                   ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:672:22: error: variable used within its own initial value
                i += modulusLength
                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:675:41: error: expected '{' after 'if' condition
                if keyBytes[i++] == 0x02, let exponentLength = NSInteger(octetBytes: keyBytes, startIdx: &i) {
                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:676:73: error: variable used within its own initial value
                    let exponent = self.subdataWithRange(NSMakeRange(i, exponentLength))
                                                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:677:26: error: variable used within its own initial value
                    i += exponentLength
                         ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:60:53: error: use of unresolved identifier 'newData'
                Heimdall.updateKey(publicTag, data: newData)
                                                    ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:64:128: error: expression resolves to an unused function
        } else if let data = publicKeyData?.dataByStrippingX509Header(), key = Heimdall.insertPublicKey(publicTag, data: data) {
                                                                                                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:67:16: error: type of expression is ambiguous without more context
        } else {
               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:138:102: error: type of expression is ambiguous without more context
        if let keyData = obtainKeyData(.Public), (modulus, exponent) = keyData.splitIntoComponents() {
                                                                                                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:160:161: error: type of expression is ambiguous without more context
        if let publicKey = obtainKey(.Public), aesKey = Heimdall.generateSymmetricKey(Int(kCCKeySizeAES256)), encrypted = Heimdall.encrypt(string, key: aesKey) {
                                                                                                                                                                ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:212:36: error: could not find an overload for 'init' that accepts the supplied arguments
                let keyData = data.subdataWithRange(NSRange(location: 0, length: blockSize))
                              ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:213:40: error: could not find an overload for '-' that accepts the supplied arguments
                let messageData = data.subdataWithRange(NSRange(location: blockSize, length: data.length - blockSize))
                                  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:216:56: error: extra argument 'length' in call
                if let decryptedKeyData = NSMutableData(length: blockSize) {
                                                       ^        ~~~~~~~~~
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:247:194: error: type of expression is ambiguous without more context
        if let key = obtainKey(.Private), messageData = message.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false), hash = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH)) {
                                                                                                                                                                                                 ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:300:80: error: type of expression is ambiguous without more context
                hashData = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH)) {
                                                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:371:134: error: type of expression is ambiguous without more context
        } else if let tag = self.privateTag where key == .Private && self.scope & ScopeOptions.PrivateKey == ScopeOptions.PrivateKey {
                                                                                                                                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:381:134: error: type of expression is ambiguous without more context
        } else if let tag = self.privateTag where key == .Private && self.scope & ScopeOptions.PrivateKey == ScopeOptions.PrivateKey {
                                                                                                                                     ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:401:13: warning: immutable value is default initialized and can never be changed
        let result: SecKeyRef?
            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:407:24: error: '()' is not convertible to 'SecKeyRef'
                return (ref as! SecKeyRef)
                       ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:410:20: error: cannot assign to 'let' value 'result'
            result = nil
            ~~~~~~ ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:425:13: warning: immutable value is default initialized and can never be changed
        let result: NSData?
            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:429:20: error: cannot assign to 'let' value 'result'
            result = Optional(keyRef?.takeRetainedValue() as! NSData)
            ~~~~~~ ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:431:20: error: cannot assign to 'let' value 'result'
            result = nil
            ~~~~~~ ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:463:48: error: use of unresolved identifier '>?'
        var persistentRef = Unmanaged<AnyObject>?()
                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:463:48: error: operator is not a known binary operator
        var persistentRef = Unmanaged<AnyObject>?()
                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:463:48: error: operator is not a known binary operator
        var persistentRef = Unmanaged<AnyObject>?()
                                               ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:464:13: warning: immutable value is default initialized and can never be changed
        let result: SecKeyRef?
            ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:486:41: error: use of unresolved identifier '>?'
        var publicRef = Unmanaged<SecKey>?()
                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:486:41: error: operator is not a known binary operator
        var publicRef = Unmanaged<SecKey>?()
                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:486:41: error: operator is not a known binary operator
        var publicRef = Unmanaged<SecKey>?()
                                        ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:487:42: error: use of unresolved identifier '>?'
        var privateRef = Unmanaged<SecKey>?()
                                         ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:487:42: error: operator is not a known binary operator
        var privateRef = Unmanaged<SecKey>?()
                                         ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:487:42: error: operator is not a known binary operator
        var privateRef = Unmanaged<SecKey>?()
                                         ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:502:47: error: 'Int' is not convertible to 'UInt'
        SecRandomCopyBytes(kSecRandomDefault, keySize, &result)
                                              ^
Security.count:1:5: note: in initialization of parameter 'count'
let count: UInt
    ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:522:180: error: 'Int' is not convertible to 'UInt'
                let status = CCCrypt(CCOperation(kCCEncrypt), CCAlgorithm(kCCAlgorithmAES128), CCOptions(kCCOptionECBMode + kCCOptionPKCS7Padding), keyData, keyLength, nil, data, dataLength, encryptedData, encryptedDataLength, &encryptedLength)
                                                                                                                                                                                   ^
CommonCrypto.dataInLength:1:5: note: in initialization of parameter 'dataInLength'
let dataInLength: UInt
    ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:547:185: error: 'Int' is not convertible to 'UInt'
            let status = CCCrypt(CCOperation(kCCDecrypt), CCAlgorithm(kCCAlgorithmAES128), CCOptions(kCCOptionECBMode + kCCOptionPKCS7Padding), keyData, keyLength, nil, encryptedData, encryptedDataLength, decryptedData, decryptedDataLength, &decryptedLength)
                                                                                                                                                                                        ^
CommonCrypto.dataInLength:1:5: note: in initialization of parameter 'dataInLength'
let dataInLength: UInt
    ^
<path>Heimdall/Heimdall/Heimdall/Heimdall.swift:670:68: error: extra argument 'octetBytes' in call
            if keyBytes[i++] == 0x02, let modulusLength = NSInteger(octetBytes: keyBytes, startIdx: &i) {
@testower
Copy link
Author

Are you making this library on a developer preview version of Xcode?

@vrwim
Copy link

vrwim commented May 12, 2015

Build succeeds on Swift 1.2, Xcode 6.3.1 (6D1002), OS X 10.10.3, MacBook Pro (13-inch, Early 2011).

Are you sure you are using Swift 1.2, because it fails on the as! in Heimdall, which was introduced in Swift 1.2?

@henrinormak
Copy link
Owner

I should probably list this in the README, the project does indeed require Swift 1.2, all of it could be done below Swift 1.2, but I don't see a reason for that. If there is a specific reason for supporting < Swift 1.2, please let me know.

EDIT: For clarification, the Xcode version available on App Store builds Heimdall just fine - Version 6.3.1 (6D1002)

henrinormak added a commit that referenced this issue May 12, 2015
@testower
Copy link
Author

I thought I had the latest Xcode, not having been notified about any updates. Please forgive my ignorance - and thanks for the info :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants