Device Xcode iPhone programming selection - iphone

I was wondering how to restrict an iPhone app only to run on an iPod Touch in Xcode. Do I edit the .plist file that is in the project or can iTunes Connect handle that? Also what does the required device capability optional plist entry mean?

You can limit to the iPhone alone, but there's no way to limit to just Touch devices that I know of.
Since the iPhone is a strict superset of the Touch, there's no reason to need such a limit.

I had to limit mine to iphone only because it was a GPS app therefore can only be run on an iPhone so apple denied it because it wasnt limited in the plist

Related

Change compatibility of submitted app from universal to iPhone only

My app that I submitted yesterday to the App Store had to be compatible only for iPhones because that is how I already set it to like this.
Now I saw that on iTunes on my app it says that is compatible with iPhone, iPad and iPod and it really should be only iPhone.
I tried to solve the problem with adding the element telephony to the array Required device capabilities in info.plist like this.
Will that make in iTunes to say Compatible with iPhone only and not allow installs on iPads and iPods ? If not how can I solve the problem ?
Yes, that should do it according to this other stack overflow post:
How to Restrict the iOS app only for iPhone excluding iPad?
Essentially there's no way to restrict apps by device unless the device doesn't have a feature you need, in this case, the ability to make calls (telephony).

Distribution of monotouch application for iphone only

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?

iPhone APP Submission Restricting Hardware With Microphone

We have an app that we would like to restrict to only devices with Microphones. We added this into the Plist and now can not submit the app since we have already submitted the app without the restriction. What is the deal with this, any easy way around this?
Also, Is there a way to restrict installation on the iPad / iTouch while allowing installations on iPad? Is there a Plist entry for this? The only real item the sticks out is the IOS Version.
Also what about devices that can have Microphones plugged in but not imbedded?
The easiest way to do the submission with the microphone restriction would be to create a completely new app in the appstore, and just change the bundle identifier of your local Xcode project. Apple can't complain that it used to not be restricted in this manner when it's an entirely new app.
You can handle both external and internal microphones with Audio Queue Services. A more high-level implementation is AVAudioRecorder.
I can't help you with your first query but you can compile only for iPad by specifying iPad & not iPhone/iPad in the target devices part of the project's settings in Xcode.

App ONLY for iPhone

My app has been rejected 2 times because its only a iPhone app, the second time i uploaded it i was pretty sure i had changed the build settings to iPhone only, but i guess not. On Targeted Device Family: I have iPhone, i guess that makes it iPhone/iPod Touch.
What if i want my app to work only on the iPhone, thats it. Apple called me on the phone, told me about the problem, and then i reuploaded it, i guess i didnt really fix the problem. can someone help me? Thanks, Jacob
Do you mean iPhone only application or iOS application which doesn't include iPad? Apple wouldn't reject an app if it was released on iPod Touch as well as iPhone (and I've seen examples where functionality doesn't even work on the iPod Touch but it was allowed through anyway).
I suspect that you have built the app for iPad at some point and then removed it, but not removed it properly? This would then create an iPad version which would do nothing when loading and that could be the rejection reason.
What exactly did Apple send you in their response email, they are usually very good with a reason for rejection.
Take a look at page 90 in the iOS Application Programming Guide provided by Apple on developer.apple.com
You can set a UIRequiredDeviceCapabilities key in your Info.plist file for telephony (I don't see one for vibration).
Since the iPod Touch doesn't have telephony capabilities this should restrict the app to iPhone only.
To me, it sounds like you have have an app that relies on vibration and are supporting both the iPhone and iPod touch, which doesn't support vibration. You need to disable support for the iPod touch, and then Apple will accept your app.

How to keep iPhone app out of iPad store?

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.