First App rejected for odd reasons

Mark Wilcox m_p_wilcox at yahoo.co.uk
Wed Jun 5 05:21:48 EDT 2013


>> I may be wrong about this (can anyone verify?), but if you're building for iOS 5 or later, you should be perfectly safe selecting armv7 only and building for that, since any devices capable of running iOS 5 and above are armv7 devices only.


Yes, this is correct and a good idea - the iPhone 3G was the last device to have an ARMv6 processor and that can only run iOS 4.3 or earlier - that's why Apple has dropped support for armv6 builds from the more recent Xcode versions.

I expect (really hope) that LiveCode only duplicates the engine code within the Universal binary and puts the main stack in a data section that is shared by both code variants - if that's the case, this might only save you a few megabytes of engine code, but you should do it anyway - iOS5+ with armv6 is pure waste.

I'd not seen the main executable size issue before and a quick Google suggests both this and the not yet mandatory PIE warning are new.  This is either a subtle crackdown on low quality apps produced by tools other than XCode or there are some new products or tools on the way which will care about this in the future.  I'll bring it up on the engine forum.

As I understand it, only the main stack is actually bundled inside the executable in a standalone, so a simple fix would be to create a launcher stack as your main stack which simply loads the previous main stack which you can include in the bundle separately.  However, creating apps much, much larger than they need to be is not friendly to your users.  Large images should be JPEG compressed - if they contain text that loses quality due to JPEG compression then split the images up (or if it's all text, store it as text not an image!).  Audio should also be in a suitable compressed format (i.e. not WAV).

In this case it sounds like LiveCode 6's application browser might be handy for finding out what's actually inside the stack easily, then removing all the media and referencing it externally.  Otherwise it might be easier to rebuild the stack by copying the scripts across into a new one that only references external media from the start?

Mark


________________________________
 From: Chris Sheffield <cmsheffield at icloud.com>
To: How to use LiveCode <use-livecode at lists.runrev.com> 
Sent: Monday, 3 June 2013, 20:54
Subject: Re: First App rejected for odd reasons
 

Another thought. In the standalone settings, are you building a universal binary? I may be wrong about this (can anyone verify?), but if you're building for iOS 5 or later, you should be perfectly safe selecting armv7 only and building for that, since any devices capable of running iOS 5 and above are armv7 devices only. This may also reduce the size of your executable.


More information about the use-livecode mailing list