此问题特定于 RestKit ,但我认为基本问题与注册通知有关。我真的可以使用一些帮助来解决这个...我似乎有多次出现相同的问题:
来自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'
如果有人对如何调试这个有任何有用的提示,想法或建议,那么非常赞赏!我已经处理了这个问题已经有两个星期了,并且只在部署的应用程序中看到它(无法复制问题)所以任何洞察力都比没有好!干杯!
答案 0 :(得分:0)
检查您是否在项目中添加了为RestKit推荐的所有框架作品
1. **CFNetwork.framework**
1. **CoreData.framework**
1. **MobileCoreServices.framework**
1. **SystemConfiguration.framework**
1. **libxml2.dylib**
答案 1 :(得分:0)
只是让其他人陷入这个解决方案,我采取的方法是:
完全从我现有的项目中移除RestKit
。然后我下载了RestKit的主分支,重新集成到我的项目中(有一些不赞成的方法,不太必要的框架和重构的类,但总的来说非常简单)。我会在接下来的一周左右用新的RestKit发布这个版本,并且 HOPE 不再看到这个问题了。:)
如果我确实有这个问题,我会回来修改我的答案,理由是为什么它仍在发生。