diff --git a/.gitignore b/.gitignore index 7d6aff2..2db0cc6 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ ## Build generated build/ DerivedData/ +Packages/ ## Various settings *.pbxuser diff --git a/TPInAppReceipt.podspec b/TPInAppReceipt.podspec index 674e49d..d436dc3 100644 --- a/TPInAppReceipt.podspec +++ b/TPInAppReceipt.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "TPInAppReceipt" -s.version = "1.1.3" +s.version = "1.1.4" s.summary = "Validates and parses Apple Store Receipt." s.description = "This helper validates and parses the payload and the PKCS7 container itself. Pure swift, openssl+bitcode" diff --git a/TPInAppReceipt/Info.plist b/TPInAppReceipt/Info.plist index fbe1e6b..76bf6f7 100644 --- a/TPInAppReceipt/Info.plist +++ b/TPInAppReceipt/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0 + 1.1.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/TPInAppReceipt/Source/DeviceGUIDRetriever.swift b/TPInAppReceipt/Source/DeviceGUIDRetriever.swift index b96bdf4..73aa26f 100644 --- a/TPInAppReceipt/Source/DeviceGUIDRetriever.swift +++ b/TPInAppReceipt/Source/DeviceGUIDRetriever.swift @@ -42,8 +42,8 @@ class DeviceGUIDRetriever assertionFailure("Failed to retrieve guid") } - // Iterate over the result - var guidCFData: CFData! + // Iterate over the result + var guidData: Data! var service = IOIteratorNext(iterator) var parentService = io_object_t() @@ -51,23 +51,33 @@ class DeviceGUIDRetriever { IOObjectRelease(iterator) } + while(service != 0) { - kernResult = IORegistryEntryGetParentEntry(service, kIOServicePlane, &parentService); + kernResult = IORegistryEntryGetParentEntry(service, kIOServicePlane, &parentService) + if (kernResult == KERN_SUCCESS) { - guidCFData = IORegistryEntryCreateCFProperty(parentService, "IOMACAddress" as CFString, nil, 0) as! CFData? + guidData = IORegistryEntryCreateCFProperty(parentService, "IOMACAddress" as CFString, nil, 0).takeRetainedValue() as! Data + IOObjectRelease(parentService) } IOObjectRelease(service) - if let _ = guidCFData - { + if guidData != nil { break + }else{ + service = IOIteratorNext(iterator) } } - return guidCFData as Data + if guidData == nil + { + assertionFailure("Failed to retrieve guid") + } + + return guidData + #endif } }