google / eDistantObject

eDistantObject (eDO) - Remote invocation library for iOS
Apache License 2.0
174 stars 36 forks source link

Fix remote invocation failure on EDOObject wrapped EDOWeakObject. #213

Closed mobile-devx-github-bot closed 3 years ago

mobile-devx-github-bot commented 3 years ago

Fix remote invocation failure on EDOObject wrapped EDOWeakObject.

EDOWeakObject forwards everything to -forwardTargetForMethodSelector: without implementing -methodSignatureForSelector:, which causes EDOObject throwing exceptions when it tries to fetch method signature for a wrapped EDOWeakObject.

To avoid the similar bug being caused by other NSProxy(s), this exception will be handled by EDO messages by looking up the -forwardTargetForMethodSelector: firstly to determine which object the -methodSignatureForSelector: will be casted to.