Sunday, 17 March 2013

Never-ending fights with XCode

As I indicated yesterday I need to move my infrastructure with all services to a new server and XCode showed me that I'll have some headaches to re-submit my app. And my feat turned to be valid - again.

I admit, I'm not a professional iOS developer. I don't have any professional background neither in Objective-C nor with iOS/XCode. So from that side it's understandable that I have difficulties. Also I have a very little low-level computer architecture knowledge. Which makes everything a bit harder. And unfortunately that's not something you can just learn from a blogpost.

The skill set you need for developing mobile apps is pretty small. A little programming, a little library knowledge and some political know-how about the submission process and ecosystem. It is scary but doable. However the problems I'm facing all the time do not relate to any of those. This time I got some.

First there were problems with the linked library's architecture. It said it couldn't find the armv7 sections in the compiled lib code. I've been toggled back and forth between the lib and the app, recompiling them several times and varying the architecture flags. No success. After some deep research I've found a tag in the compile params that runs the compiler agains only the existing platforms. That is solved.

Not some static headers were loaded in a wrong form. Trust me that was totally useless information for me. I was suspicious of the way I compiled the static lib - long story short, after couple of recompiling I got it right.

Then some extensions were using wrong architecture, x64 instead of i86. Okay that was fine to fix. Sort of.

Then at this point it was running in the simulator perfectly. Wanted to test it on a device and then it said that one of the entitlements was wrong. I opened the organizer, checked everything and seemed ok. On the apple provisioning portal then I've seen that some was expired. Replacing them just made the whole situation worse. At some point I had to revoke and regenerate all. Luckily that was a clean thing to do.

And done. Application archive is valid. Ready to upload. Upload. Upload complete. Almost pouring the champagne when I've received the error message that it's missing a screenshot. It turned out it misses the 4 inch size shot. I could just leave it, but I've checked the app on a 4 inch screen and it's broken, no event handlers on button, layout is slipped. Unfortunately there is no such a flag to not to use the new large screen. So I have no other option than adding the support for iPhone 5.

I mean before it happened I just had to save and archive the app. Now it's again problems after problems. And the funny thing I just had to change 1 string in the app. It really makes me think if it's a convenient platform to invest in (as it costs 100 gran per year). Or how much of those issues I could solve with a proper iOS/Objective-C knowledge. I don't know.

Do you also having these migration related problems?



No comments:

Post a Comment