As of April 12th, you must go to Progress SupportLink to create new support cases or to access existing cases. Please, bookmark the SupportLink URL and use the new portal to contact the support team.
Calling loadObjectWithID: on a KCSLinkedAppdataStore crashes app
s
sairasamdani
started a topic
about 9 years ago
I am trying to load a collection based on id. Calling loadObjectWithID: crashes app. It was working fine two days before.
Here is the crash log
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSDictionary initWithDictionary:copyItems:]: dictionary argument is not an NSDictionary'
It looks like there was something unexpected the metadata. Can you load the object through the API console and share the JSON output?
s
sairasamdani
said
about 9 years ago
I can see the entry in my table in console. But if I use Filter field to load only one entry on basis of _id, I see empty console. Is this what you were asking me to do?
M
Mike
said
about 9 years ago
Not quite. In the API Console Add-On, you can run various REST requests. Select the collection and perform a GET on that specific _id. The JSON version of the object should show up in the results pane. That is what I am looking for.
s
sairasamdani
said
about 9 years ago
Here is the response for adding header "_id" and value is "53ce1935ba823db42c087702"
sairasamdani
Here is the crash log
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSDictionary initWithDictionary:copyItems:]: dictionary argument is not an NSDictionary'
*** First throw call stack:
(
0 CoreFoundation 0x000000010395a495 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010034a99e objc_exception_throw + 43
2 CoreFoundation 0x0000000103941086 -[NSDictionary initWithDictionary:copyItems:] + 854
3 CoreFoundation 0x0000000103940d11 +[NSDictionary dictionaryWithDictionary:] + 49
4 MyApp 0x000000010008dc8d -[KCSMetadata initWithKMD:acl:] + 333
5 MyApp 0x000000010006d1ec populate + 1964
6 MyApp 0x000000010006e5d6 +[KCSObjectMapper populateObjectWithLinkedResources:withData:resourceDictionary:] + 118
7 MyApp 0x000000010006e70a +[KCSObjectMapper makeObjectWithResourcesOfType:withData:withResourceDictionary:] + 266
8 MyApp 0x000000010008a193 -[KCSLinkedAppdataStore manufactureNewObject:resourcesOrNil:] + 115
9 MyApp 0x0000000100090c1a -[KCSBackgroundAppdataStore handleLoadResponse:error:completionBlock:] + 842
10 MyApp 0x0000000100091b87 __86-[KCSBackgroundAppdataStore doLoadObjectWithID:withCompletionBlock:withProgressBlock:]_block_invoke + 55
11 MyApp 0x000000010008133d -[KCSRequest2 callCallback:request:] + 1981
12 MyApp 0x0000000100080537 -[KCSRequest2 requestCallback:request:] + 1111
13 MyApp 0x000000010008005e __20-[KCSRequest2 start]_block_invoke_3 + 46
14 Foundation 0x000000010342a063 __103+[__NSOperationInternal _observeValueForKeyPath:ofObject:changeKind:oldValue:newValue:indexes:context:]_block_invoke96 + 16
15 libdispatch.dylib 0x0000000103d73851 _dispatch_call_block_and_release + 12
16 libdispatch.dylib 0x0000000103d8672d _dispatch_client_callout + 8
17 libdispatch.dylib 0x0000000103d76b27 _dispatch_root_queue_drain + 380
18 libdispatch.dylib 0x0000000103d76d12 _dispatch_worker_thread2 + 40
19 libsystem_pthread.dylib 0x00000001040d3ef8 _pthread_wqthread + 314
20 libsystem_pthread.dylib 0x00000001040d6fb9 start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException
My code looks somewhat like:
[[MyManager sharedStore] loadObjectWithID:_id withCompletionBlock:^(NSArray *objectsOrNil, NSError *errorOrNil) {
if (!errorOrNil && objectsOrNil.count > 0) {
[[MySharedData sharedInstance] setObject: objectsOrNil[0]];
}
else if (!errorOrNil){
[[MySharedData sharedInstance] setObject: nil];
}
} withProgressBlock:nil];
Any help will be highly appreciated. Thanks!