is there a quick way of forcing, in Xcode, a universal app to run in its iPhone version on an iPad? By 'quick way' I mean a way that does not involve coding (or too much coding). For instance, in the Summary page of my target app there is a choice button about the Devices; I tried to set that to iPhone (although my app is universal), however on the iPad my app still starts the iPad version.
Any help appreciated.
Cheers.
Change the target device family in the build settings (check screenshot).
Remove the entry in your Info.plist that points to the iPad's interface. I think it's NSMainNibFile~ipad or something similar.
I finally made it by removing any reference to iPad settings within my app's .plist file and declaring the app as suitable for iPhone devices only. Pretty much what Jonas and Brian mentioned but extended to all references.
Related
I have an app available for the iPhone only now not the iPad. I've already released 2 updates for the app(current version 1.2). Im about to release a third and in this update im adding a feature but thought Id also make it compatible for the iPad. Will apple accept that? Will I have to make a new project file for the iPad version?
You don't have to submit a separate project because all iOS applications are supported by the iPad by default, but you can if you feel the need to.
Right-click your target, and select "Upgrade current target for iPad".
I'd also recommend reading through Apple's guide on the subject.
No need to create the new project. There are two ways to solve your problem.
Change the device target to Universal and also change the logic to support both iPhone and iPad. In applicationDidFinishLaunchingWithOptions method put a condition to check the device.If the device is iPhone then load the iPhone screens and if not then load the iPad screens. This case when you upload the binary to App Store then the version number is same for both the binaries(iPhone & iPad) .
Change the device target to iPad and also change the version number whichever you want. For this also need to create separate nibs and change the logic to load only the iPad screens in applicationDidFinishLaunchingWithOptions method. For this case need to upload a separate binary with your specific version.The advantage of this step is you can make it as paid app for iPad or iPhone.
Note: My suggestion is if both are free apps then go with 1st step. If not then go with 2nd step. Still if you are not clarified feel free to ask.
I'm trying to get a ios monotouch project distributed for iphone only. But whenever i have uploaded to itunes connect the binary details keep telling me it is also available for ipad.
I did specify the targetdevice in the info.plist
Anyone had the same problem with monotouch?? or better, knows how to solve this!
thanks
You can't target iPhone only. The iPad is 100% iPhone-compatible, and will run all iPhone apps (and there is nothing you can do about it).
Maybe you can explain why you want to restrict your app to iPhone only?
A customer is interested in releasing a universal app. However, the first release will contain only the iPhone version, the second release will contain both versions.
I found a few links where ppl figured out how to make this work in the simulation environment. However, i could not find claims about apps that finally were released to the AppStore successfully. I need verification of this.
Do you have links of people claiming to have universal apps released for iphone only or did you do it yourself?
In the application's Build Settings change the Targeted Device Family to iPhone, instead of iPhone/iPad.
In the latest xcode you can do this by summary screen too.
Thanks
It's not possible to only release the iPhone version via iTunes Connect, but you can set the Target Device to iPhone-only for the first version and it'll only be released for iPhone/iPod touch.
You need to make two changes. First, Set the Target Device Family back to iPhone. Second, in the info plist remove the Main nib file base name (iPad) entry. If you don't do that last step it will run as though it was an iPhone app (small view port with 2x button) but your iPad main window and delegate will be triggered.
Here is a more details post with some images for illustration:
http://www.fullboarcreative.com/labs/2012/04/20/tip-going-from-a-universal-to-single-device-app/
Usually apple developers use Mac to develop there apps for iphone and ipad. I need to know whether it is possible to develop the same apps using ipad.
No you can't, there is no SDK and XCode running on iOS (yet).
Short answer: no. You need XCode for development, which is Mac-only.
Xcode is not available for the iPad, so I would say practically no at this point.
No, it isn't. Xcode and the iOS SDK is only available for the Mac.
No.There is no XCode or ios SDK for ipad only.
Looking through some forums, it appears it's not possible and unlikely to happen anytime soon...
http://forums.macrumors.com/showthread.php?t=856312
http://www.mac-forums.com/forums/ipad-hardware-accessories/196910-xcode-ipad.html
Apple's XCode is only available on Mac, for a beginning.
Basically NO you can't... you can not compile the app on iPad/iPhone. But think in other way.. do you want to give this functionality to your app users right? then.. you can do one thing.. you can create a template of project which will run using a xml file. you can create this xml file on iPad/iPhone using some interface. (like putting a button on area and set its color). Then you can send this xml file on server. Here you can manually put this xml file in your template project and can compile the app manually on your system. Then you can submit this app to app store for your app users. You can charge them for this.
This is something similar to http://mobileroadie.com/ but on iPad
I have an iPhone app that I have started to turn into a universal app, however the process is not complete and I want to release an update to the iPhone version.
I know that you can specify device capabilities in the Info.plist file to restrict your app to certain devices, but how can I do this to prevent the unfinished universal version from appearing in the iPad store?
Is checking the LSRequiresiPhoneOS BOOL entry (in the Info.plist file) enough?
Thanks!
I'd consider restriction to iPhone very bad decision - the iPad is designed to run all iPhone apps in compatibilty mode (except for obvious things like telephony). So you will run into severe complaints.
If it is about the half-done enhancements for the iPad part, then just turn those features off and compile for iPhone (targeted device: only iPhone; maybe tweak the plist file, too).
You could use the UIRequiredDeviceCapabilities and specify that you require "telephony" in your info.plist. That would keep it off the iPad (and iPod touch too). See Device Support.
I found a setting under Project Settings -> Build that titled "Targeted Device Family." Maybe try setting this to just iPhone, not iPhone/iPad -- I think that should also help.