Titanium Community Questions & Answer Archive

We felt that 6+ years of knowledge should not die so this is the Titanium Community Questions & Answer Archive

SDK4 compiling with titanium 1.3.2

As I just received the mail from Apple telling that from now all apps and updates must be compiled with sdk4, I was wondering if I could now compile with SDK4 and Titanium 1.3.2.
Does someone know if the updates to apps compiled in SDK 3.1 must really be compiled with SDK 4?

— asked July 1st 2010 by michel perrin
  • sdk
  • updates

3 Answers

  • Hi there Michel

    Yes, Titanium Mobile apps compile using Ti Mobile SDK 1.3.2 and iPhone SDK 4 (Final). The Team released 1.3.2 primarily to troubleshoot any niggley snags with the new OS - prior to a 1.4.0 release, and provide OS4 compatibility as soon as poss.

    What is apparent though is that once you've upgraded the SDK to 4, it's no longer possible to compile to 3.1.x (that's an Apple thing, not a Titanium thing). The choices are 3.2 for iPad and 4.0 for iPhone.

    Now, my understanding is that this means that the iPhone 2G can't get app updates - because only OS4 submissions are being accepted and new (OS4) apps wont work with those older models.

    The benefit with having Apple 'push' customers up means we (as developers) have less of an issue catering for a myriad of permutations of device configuration.


    — answered July 2nd 2010 by Chris Reed
    • i am really confused by the term "no longer possible to compile to 3.1.x (that's an Apple thing, not a Titanium thing)" - i am no expert by any stretch, but in xcode you pick your deployment target version, and this can be anything all the way down to 2.0.

      how does titanium go about picking version targeting? where is that? does titanium automatically choose the lowest possible? maybe it is so obvious that i can't see it. that happens.

      btw… where is 1.4 anyway? 1.32 fixed my one problem, but added such slow performance that it cancelled itself out. so, it's almost like it didn't happen.

      — commented July 2nd 2010 by paul seymour
    • Thanks Chris for your answer that's confirming more or less what I taught. It means that for the next update of my app that's in the App Store I need to recompile with SDK4. I guess that on the Apple side it means also a longer(and deepe) review time than a normal update. Hope we'll get some feedback on this pretty soon.

      — commented July 2nd 2010 by michel perrin
  • Indeed it´s an apple thing:
    After upgrading your SDK to 4.0 you won´t be able to compile to 3.1.x.
    Even in XCode there is just 3.2 and 4.0 left over. I tried to reintall the downwards SDK version but then 4.0 disappeared.

    But I tried to compile the newest Kitchensink with Apple SDK 4, Titanium SDK 1.3.0 and could still install it on my iPhone 2G with 3.1.3 and it worked. I checked nearly all functions.

    — answered July 4th 2010 by Marco Huppertz
    • hello. just to be clear, you can target lower versions of iOS, certainly. so, if you don't make any specific 4.0SDK calls, to new stuff in that, you can target all the way down to iPhone 2.0 depending on what is used in code. so, not sure what is meant by "apple thing." however, it is a "appcelerator thing" that there seems to be no way to choose deployment targeting in titanium, so far. unless i can't find that…. which is highly likely.

      — commented July 5th 2010 by paul seymour
    • http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/ - this helped me understand. i am not actually a coder, really. but, after this read, it became clear. there is documentation in the apple dev site, too.

      — commented July 5th 2010 by paul seymour
  • i just re-read the answers already given, and i am pretty confident they are wrong. again, not an expert, but dealing with this with my coders working on an objective-c based app. but, what apple is requiring is for apps to be BUILT WITH the 4.0 sdk. they do not have to be TARGETED to iOS4. which means, depending on how the app is coded, and for what functions, you can even release apps for the original iPod touch users still using iPhone OS 2.

    so to answer the original question, of course you have to use SDK4 to compile. the REAL question is - does titanium handle targeting lower os's now? and, as far as i can tell from this forum or anywhere in the documentation - the answer is - NO. so far, anyway. i hope it is in 1.33 or 1.4 or whatever is coming next. whenever that is. if not, then seems like titanium will FORCE our apps to have to be 4.0 apps. which would be really bad.

    — answered July 7th 2010 by paul seymour
    1 Comment
    • as a followup - a genius guy compiled titanium 1.33 off github for me - and, it seems like the target is already set to iOS 3.1. so, perhaps magically, titanium will take advantage of iOS4 features, yet keep it possible that targeting will stay at iOS 3.1. which would be great.

      sadly, however, with 1.33 - my app crashes whenever a tableview is scrolled. so…. hmm…

      — commented July 9th 2010 by paul seymour
The ownership of individual contributions to this community generated content is retained by the authors of their contributions.
All trademarks remain the property of the respective owner.