fixed segmentation fault when compiling for release builds

This commit is contained in:
John Rommel Estropia
2015-05-28 01:36:29 +09:00
parent 2145622578
commit 994370b806
3 changed files with 8 additions and 11 deletions

View File

@@ -90,7 +90,7 @@
2F03A53E19C5C6DA005002A5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2F03A53F19C5C6DA005002A5 /* CoreStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = CoreStoreTests.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
2F03A54C19C5C872005002A5 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
2F291E2619C6D3CF007AF63F /* CoreStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = CoreStore.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
2F291E2619C6D3CF007AF63F /* CoreStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = CoreStore.swift; sourceTree = "<group>"; };
B504D0D51B02362500B2BBB1 /* CoreStore+Setup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CoreStore+Setup.swift"; sourceTree = "<group>"; };
B5D1E22B19FA9FBC003B2874 /* NSError+CoreStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSError+CoreStore.swift"; sourceTree = "<group>"; };
B5D372831A39CD6900F583D9 /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = "<group>"; };
@@ -695,6 +695,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";
};
name = Release;
};

View File

@@ -101,7 +101,7 @@
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
buildConfiguration = "Release">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"

View File

@@ -58,15 +58,11 @@ internal extension NSManagedObject {
let objectID = self.objectID
if objectID.temporaryID {
var error: NSError?
var didSucceed: Bool?
if let managedObjectContext = self.managedObjectContext {
let didSucceed = withExtendedLifetime(self.managedObjectContext) {
managedObjectContext.performBlockAndWait {
didSucceed = managedObjectContext.obtainPermanentIDsForObjects([self], error: &error)
}
return $0?.obtainPermanentIDsForObjects([self], error: &error)
}
if didSucceed != true {
@@ -76,7 +72,7 @@ internal extension NSManagedObject {
return nil
}
}
var error: NSError?
if let existingObject = context.existingObjectWithID(objectID, error: &error) {
@@ -85,7 +81,7 @@ internal extension NSManagedObject {
CoreStore.handleError(
error ?? NSError(coreStoreErrorCode: .UnknownError),
"Failed to load existing <\(T.self)> in context.")
"Failed to load existing \(typeName(self)) in context.")
return nil;
}
}