Titanium Community Questions & Answer Archive

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

Is it possible to deploy directly to an iPad/iPhone for testing, not via iTunes?

Is this possible? Syncing from iTunes requires you to use a single iTunes account across all development machines (we have a single iPad at work currently). Is there any way to deploy the app directly to the device, and not have to sync through iTunes?

Thanks

— asked May 30th 2010 by Michael McGlynn
  • device
  • ipad
  • iphone
  • itunes
  • testing
0 Comments

8 Answers

  • Using Titanium Studio, build: 3.2.0.201312191547
    iOS SDK version 7.0.3
    xCode Version 5.0.2 (5A3005)
    OSX 10.9.1 (Mavericks)

    By Plugging in via usb the device
    Run >Refresh Devices
    then in Run > iOS Device > phone name

    will build and install directly on handset.

    This will not debug in the Studio console - but is deployed directly to the handset.
    To debug -> open the project in xCode and run on the device -> it will debug to the console in Xcode

    be careful on real devices
    my iPad Air and iPad Mini are reporting themselves as handheld and not tablet
    This causes difficulty as the app shows as an iPhone app on these devices and SplitWindow is not available..

    This is not a titanium issue really as on investigation in a native app checking the Idiom also reports Idiom of iPhone.

    I have worked around this issue by creating a native module with the following property

    -(id)Idiom{
    if ( [(NSString)[UIDevice currentDevice].model hasPrefix:@"iPad"] ) {
    return @"ipad"; /
    Device is iPad */
    }
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad){
    return @"ipad";
    }else if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
    return @"iphones";
    }
    }

    However the same thing can be achieved within alloy i guess without the need for a module.

    then inside alloy.js you can :-
    Alloy.isTablet = check custom idiom
    Alloy.isHandhled = !Alloy.isTablet;

    this enables SplitWindow etc

    Hope this helps

    — answered February 10th 2014 by Eamon Stafford
    permalink
    0 Comments
  • Sorry - forgot to format correctly :-(

    Using Titanium Studio, build: 3.2.0.201312191547 iOS SDK version 7.0.3 xCode Version 5.0.2 (5A3005) OSX 10.9.1 (Mavericks)
    By Plugging in via usb the device Run >Refresh Devices then in Run > iOS Device > phone name
    will build and install directly on handset.
    This will not debug in the Studio console - but is deployed directly to the handset. To debug -> open the project in xCode and run on the device -> it will debug to the console in Xcode
    be careful on real devices my iPad Air and iPad Mini are reporting themselves as handheld and not tablet This causes difficulty as the app shows as an iPhone app on these devices and SplitWindow is not available..
    This is not a titanium issue really as on investigation in a native app checking the Idiom also reports Idiom of iPhone.
    I have worked around this issue by creating a native module with the following property

    -(id)Idiom{
         if ( [(NSString)[UIDevice currentDevice].model hasPrefix:@"iPad"] ) {
             return @"ipad"; / Device is iPad */ 
        } 
        if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad){ 
            return @"ipad"; 
        }else if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
             return @"iphones"; 
        }
    }
    

    However the same thing can be achieved within alloy i guess without the need for a module.
    Then inside alloy.js you can :-

    Alloy.isTablet = check custom idiom 
    Alloy.isHandhled = !Alloy.isTablet;
    

    This enables SplitWindow etc
    Hope this helps

    — answered February 10th 2014 by Eamon Stafford
    permalink
    0 Comments
  • I really wish. It looks like Apple has made this proprietary. We've tried to figure out how to do it for a long time. For now, we have to deploy through iTunes to get it on your phone.

    — answered May 31st 2010 by Jeff Haynie
    permalink
    0 Comments
  • Give this a try: http://testflightapp.com/

    "iOS beta testing on the fly. With TestFlight, developers simply upload a build, and the testers can install it directly from their device, over the air."

    It is pure awesome-sauce.

    — answered January 21st 2011 by Bart Lewis
    permalink
    0 Comments
  • Jeff, if you want to know how it is done, look at this link. It only works with OS 4.x devices though. One thing that would make life simpler for us is if build.py created the .ipa file instead of (or in addition to) the .app folder. I do that using the steps I describe in this thread, among others.

    — answered January 21st 2011 by Doug Handy
    permalink
    0 Comments
  • Hi,

    I have an ipad and an iphone with the same itunes account and i found very annoying how itunes works, so I decide to investigate how to deploy directly to the device.

    I'm doing this from XCode > Organizer > Applications… click the '+' sign to add the binary (.ipa file), that is found on your code folder > build > iphone > build >release-iphoneos

    but it always install the app in the device with the name 'titanio', i don't know how to fix this but, at least for testing, works fine.

    hope this helps.

    — answered March 17th 2011 by Javier Rayon
    permalink
    1 Comment
    • Open your project, change it from 'Simulator' to 'Device' with your device plugged in, and change it to 'Release'. It will install directly.

      Titanium's way is clunky and I've always gotten an error trying to use it.

      — commented March 17th 2011 by Josh Lewis
  • I export to iTunes, then either use XCode to put the .ipa file from the iTunes library directly onto the device (in the organizer window).. or upload the .ipa to TestFlight to send to test users (pure awesome-sauce +1)

    — answered March 17th 2011 by James Buchanan
    permalink
    0 Comments
  • if with testing you mean "get the app on the device to see if my function i just wrote works"
    than you always can open the xcode projects in iphone/build with xcode and just press build and run on the device like you would do with a normal iphone project. im doing it this way when testing on the device. the titanium way over itunes is just way to complicated for me. oh and you get debug messages when running with xcode. isnt that nice.

    — answered March 17th 2011 by Jaap Groeneveld
    permalink
    0 Comments
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.