Эта проблема относится только к RestKit , но я считаю, что основная проблема связана с регистрацией уведомлений. Я мог бы действительно использовать некоторую помощь, чтобы выяснить это ... У меня, кажется, одна и та же проблема, появляющаяся несколько раз:
An NSInvalidArguementException
из
serviceDidBecomeUnavailableNotification
в пределах RKClient
. Действие
звонит с __NSMallocBlock__
, __NSCFString
, __NSCFArray
, NSURL
,
и UICFFont
... очевидно, что делегат установлен неправильно.
ТОЛЬКО в моих запросах используется RKObjectMapping
для сопоставления ответа с
мои модельные классы. Я заметил, что objectLoader
имеет
isResponseMappable
и чеки [self.response isServiceUnavailable]
-
который тогда отправляет RKServiceDidBecomeUnavailableNotification
. это
кажется, откуда моя проблема. Единственное место, которое я вижу
isResponseMappable
вызываемый находится в пределах didFinishLoad:(RKResponse*)response
.
Вот пример трассировки стека, я подумал, что это может быть очень полезно:
Error Message:
NSInvalidArgumentException: -[__NSMallocBlock__
serviceDidBecomeUnavailableNotification:]: unrecognized selector sent
to instance 0xee168b0
CoreFoundation:2:in `0x37d4dacb -[NSObject doesNotRecognizeSelector:]
+ 174'
CoreFoundation:3:in `0x37d4c945 ___forwarding___ + 300'
CoreFoundation:4:in `0x37ca7680 _CF_forwarding_prep_0 + 48'
Foundation:5:in `0x31c6f50f __57-[NSNotificationCenter
addObserver:selector:name:object:]_block_invoke_0 + 18'
CoreFoundation:6:in `0x37d16577 ___CFXNotificationPost_block_invoke_0
+ 70'
CoreFoundation:7:in `0x37ca20cf _CFXNotificationPost + 1406'
Foundation:8:in `0x31be33fb -[NSNotificationCenter
postNotificationName:object:userInfo:] + 66'
Foundation:9:in `0x31be4c2b -[NSNotificationCenter
postNotificationName:object:] + 30'
MyApp:10:in `0x000d2157 -[RKObjectLoader isResponseMappable] + 114'
MyApp:11:in `0x000d2b83 -[RKObjectLoader didFinishLoad:] + 418'
MyApp:12:in `0x000cb151 -[RKResponse connectionDidFinishLoading:] +
36'
Foundation:13:in `0x31ca6c39 __65-[NSURLConnectionInternal
_withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 16'
Foundation:14:in `0x31bfe6e9 -[NSURLConnectionInternalConnection
invokeForDelegate:] + 28'
Если у кого-нибудь есть какие-либо полезные советы, идеи или предложения о том, как это отладить, было бы очень приветствуем! Я имел дело с этим в течение двух недель, и я только вижу это в развернутых приложениях (не может воспроизвести проблему), поэтому любое понимание лучше, чем ничего! Ура!