SUPAbstractLocalEntity.h in SUP Version 2.1.3 (iOS RBS)
I was working on a native iOS application with SUP version 2.1.2. The application was working fine in the MBS (message based synchronization) mode.
I have recently upgraded to SUP version 2.1.3 and there were certain changes in the setup of the iOS project. In order to better manage the 'Generated Code and Imported Libraries', the documentation suggested to create static libraries as targets in XCode. This documentation can be found at http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01217.0213/doc/html/apr1337118761234.html.
I have followed the steps and got the following error during build:
- init methods must return a type related to the receiver type (SUPAbstractLocalEntity.h)
This error is due to this statement:
-(SUPQuery*) initChildrenQuery:(SUPQuery*)query :(SUPStringList*)keys;
Basically, the init method is returning a type that is neither 'id' nor a class that is in a superclass or subclass relationship with SUPAbstractLocalEntity class. This violates the ARC as pointed out in the Objective-C ARC documentation (http://clang.llvm.org/docs/AutomaticReferenceCounting.html).
Here are 2 approaches:
1) The build error can be prevented by simply changing the return type to 'id'. However, I don't think that is the right/elegant solution.
2) The header files shouldn't be included from the ARC target (which is our main target). But in this case, we wouldn't be able to use any SUP classes in our main target.
I was wondering if anyone else ran into this problem.
I found the solution to this problem.
Sybase indicates that this problem is resolved with Patch 01. Here is the issue number and more details: http://search.sybase.com/kbx/changerequests?bug_id=710674
If you want to perform search on Sybase for issues like this, this should help http://search.sybase.com/search/simple.do.