PDA

View Full Version : 5.3.3 iOS Libraries Fail to Build



Jiropole
07-19-2012, 02:04 PM
Inadvertent cross-post, but tcarr suggested reposting my iOS client library issue here.

We are updating to the latest versions of your server and client libraries in hopes that it fixes some persistent, intermittent issues. However, when I try to build with the 5.3.3 version of your iOS libs, I see several compiler errors, amidst hundreds of semantic warnings. I've been struggling with the alpha maturity level of the iOS libraries since this project began, having made several patches to the 5.3.1 version. I've reported most of these issues via these forums, and hopefully the patches were folded back into your dev trunk (fingers crossed because I would hate to have to repatch each new version). However, I'm concerned that I'm seeing *build* issues with the new version. Can you comment?

The majority of the errors are in EsConnectionResponse.m, and I'm also seeing one for EsDhAesEncryptionContext stating there's a duplicate interface definition. I haven't made any attempt to debug them as I'd like to know why this public release won't build - is the code not tested prior to release? This is for an iOS 5.0 project in XCode 4.3.3, and ARC settings are not the issue.

tcarr
07-19-2012, 02:23 PM
I've created a ticket in our system, and asked Jason to look at this. Since I don't have a Mac myself, and the dang iOS apps can't be compiled except on a Mac, I can't help.

jvonnieda
07-19-2012, 07:23 PM
Inadvertent cross-post, but tcarr suggested reposting my iOS client library issue here.

We are updating to the latest versions of your server and client libraries in hopes that it fixes some persistent, intermittent issues. However, when I try to build with the 5.3.3 version of your iOS libs, I see several compiler errors, amidst hundreds of semantic warnings. I've been struggling with the alpha maturity level of the iOS libraries since this project began, having made several patches to the 5.3.1 version. I've reported most of these issues via these forums, and hopefully the patches were folded back into your dev trunk (fingers crossed because I would hate to have to repatch each new version). However, I'm concerned that I'm seeing *build* issues with the new version. Can you comment?

The majority of the errors are in EsConnectionResponse.m, and I'm also seeing one for EsDhAesEncryptionContext stating there's a duplicate interface definition. I haven't made any attempt to debug them as I'd like to know why this public release won't build - is the code not tested prior to release? This is for an iOS 5.0 project in XCode 4.3.3, and ARC settings are not the issue.

Can you please describe the steps to reproduce the issue you are describing, and post some (or all) of the error messages? I have just done a rebuild of the included Cocoa Touch examples with the included API and everything builds without errors.

It is sometimes necessary to re-import the client API to your project due to changes in paths in the project file. We have some instructions available for doing that at:

http://www.electrotank.com/docs/es5/manual/index.html?cocoa_touch_project_wont_compi.htm

If that doesn't solve the issue, please do post some error messages and we should be able to help you further.

Thanks,
Jason

Jiropole
07-20-2012, 12:53 PM
Thanks for the response, Jason. I had basically done a plug-and-play with the 5.3.3 folder instead of the 5.3.1, but I had indeed forgotten the path reference in the project. So that's probably the fix, thank you.

We were only trying 5.3.3 to solve persistent issues with connections falling into an inconsistent state, but are now contracting with ET to analyze the issues. Unless this work ends up requiring us to upgrade, I'll want to stick with 5.3.1, due to the fact that I've made many patches and memory leak fixes.

So I guess, subjectively and objectively, would you say 5.3.3 has been more fully vetted than the 5.3.1 version I had to repeatedly debug? Of course I'd like to run the latest, but I'd need to feel confident that ET stands behind 5.3.3 as a fully mature and well-tested version.

tcarr
07-20-2012, 01:07 PM
We have a known bug in 5.3.1 and earlier that (very rarely) would cause the server to stop processing requests from a particular client. In addition, if the problems you are having are due to a bug in ES5 instead of your custom code, and you are using 5.3.3, we will then have a way to reproduce those bugs (your project) and so we can fix them.

When you say that you have made many patches and memory leak fixes, do you mean in our api? If so, we will need to know what changes you made.

Jiropole
07-21-2012, 05:59 PM
With Jason's help I successfully got the 5.3.3 client running. Things seem VASTLY improved in the short tests I've run, but I can't see anything conclusive yet. I'm getting the sense that clients connect stably every time (instead of 5-10% failure rates) and that even the timing of events seems much tighter. More testing to come. If this is simply due to the upgrade, then the IO problem in 5.3.1 affected our systems much more than rarely.

tcarr
07-21-2012, 07:28 PM
I'm very glad to hear it's working better for you! If you can give us a list of the different patches you made to the 5.3.1 library, Jason will very interested in looking at them and applying at least some of them to the iOS api for the next release and give you a beta build of that iOS api.