diff --git a/XPCKit/NSObject+XPCParse.m b/XPCKit/NSObject+XPCParse.m index 4342ad6..63d746b 100644 --- a/XPCKit/NSObject+XPCParse.m +++ b/XPCKit/NSObject+XPCParse.m @@ -47,7 +47,13 @@ +(id)objectWithXPCObject:(xpc_object_t)xpcObject{ object = [NSFileHandle fileHandleWithXPCObject:xpcObject]; }else if(type == XPC_TYPE_BOOL || type == XPC_TYPE_UINT64 || type == XPC_TYPE_INT64 || type == XPC_TYPE_DOUBLE){ object = [NSNumber numberWithXPCObject:xpcObject]; - } + } + else if (xpcObject == XPC_ERROR_CONNECTION_INTERRUPTED || + xpcObject == XPC_ERROR_CONNECTION_INVALID || + xpcObject == XPC_ERROR_KEY_DESCRIPTION || + xpcObject == XPC_ERROR_TERMINATION_IMMINENT) { + object = [NSDictionary dictionaryWithContentsOfXPCObject: xpcObject]; + } return object; }