I'm trying to build an app and tried to make it only support iPhone6, iPhone6 Plus but when submitted the app to App Store. They rejected it because it was crashing on iPad. How can I remove the iPad support and the other devices as well. In Xcode in Deployment Info, [Devices] is set to [iPhone].
EDIT:
My app uses M8 chip that's why I want to limit it to iPhone6, iPhone6 Plus only. As for the iPad I can't offer support it now because I can't maintain testing it and keep updating its design every time I update my app.
EDIT2:
In Xcode in Deployment Info, [Deployment Target] is set to [8.1].
You have to change the Targeted device family. Select the project, then info-->Deployment--->Targeted device family to iPhone only and you have to do the same thing in targets. After that your app will be only for iPhone.
Good Luck!
There is no way yet to set app only for iPhone 6/6+, however you can prevent running it on iPad by setting the correct title. You can't prevent running your own app on iPhone 5 till you have allowed it to run on iPhone 6/6+. iPhone, iPad or both, no versions.
I don't think you can choose which kinds of devices you are supporting for. But, you can choose minimum iOS version that your app supports in the Deployment Target. I think your solution will be changing the Deployment Target to iOS 8.0 and you are good to go.
For your problem of rejection, you can change your supported iDevice to support iPhone only from your app target in XCode. Then on the General tab, you can change it from the Deployment Target portion.
Related
So I tried to ship my iPhone app into the App Store. but it get rejected because when the App reviewer test my app they are using iPad and it seems my app is messed up.
and this was the rejection message:
We noticed that your app did not run at iPhone resolution when reviewed on iPad running iOS 10.3.1. Specifically, we were unable to Sign Up using an iPad.
So I searched that I need to make the deployment info devices into Universal. It works well on iPad when I tested out. But the problem is I'm shipping this app for iPad. and when I go to iTunes connect, they were asking for iPad screenshots.
So should I set the device deployment for iPhone or Universal?
The app must work in iPad also. choose the devices iphone only and try to run your app in ipad in 1x and 2x view.
If you want to build for iPhone only, you will need to go to the project settings > General > Devices and choose "iPhone". If you choose "Universal" then you are building for both iPhone and iPad, which is why you need screen shots for the iPad as well. If you build for iPhone only, though, the app can still run on iPad, it will get scaled up.
As for the reason why it is not working on iPad using iOS 10.3.1, you'll have to run it on a device with that version of the OS and do some debugging. The information you gave here is not enough.
So I'm trying to make a separate iPad and iPhone version for this app I'm working on and I've already made two different targets. My iPad target works as expected as it won't launch on an iPhone. However, my iPhone target still launches on both iPhone and iPad. I've also set the main interface in the deployment info as iPhone.
Here's a picture of the settings:
Does anyone know why my iPhone target isn't exclusively targeting iPhones?
EDIT: To clarify, I am building two separate versions (one for iPad, one for iPhone). My iPhone target is able to launch on both iPad and iPhone, which is not what I want. I want my iPhone target to only open on an iPhone.
It is an Apple policy decision that iPads can run all iPhone applications at iPhone resolution; it is a licensing term that you cannot take steps to override that policy decision (e.g. by detecting your environment and declining to offer any functionality).
So there's nothing you can do. Apple has spoken.
Hell all,
I have developed an app that should only work on iPhone 4 and above. The reason is during load time, the app checks the type of iPhone you have and set certain images based on the screen size.
Is this acceptable by apple for me to decide which iPhone user running and set the images based on that?
Also where do I say I want this app to run on iPhone 4 and above up until iPhone 6+ and not on any other devices such as ipad and etc?
Thanks
Borna
Set your Devices to iPhone rather than Universal under General>Deployment Info and make sure your Deployment Target is set to iOS 7.0.
As #Sam B told below, there is no way to specify certain devices.
But with following trick you can get result that you need:
Set your Devices as iPhone in General Tab of xCode proj file. Also if you want 4+ devices set Deployment Target as iOS 7, if you'll keep iOS 8+ it will be 4S+ devices only.
I don't understand how the posted answers are considered correct?
The answer to OP question is NO. There is no way for you to restrict access to certain iPhone device (4, 4S, 5, 5S, 6, 6P). If you specify your project to be "iPhone" only in Xcode then technically it will run on all iPhone no matter what the model.
Now having said that you can theoretically make it work only on iPhone 4s or above by setting iOS to 8.0 or above as one cannot load iOS 8 on iPhone 4 or below.
As for the apple reviewers, they will test your app on the latest app device, iPhone 6 or 6p. They don't have time to regression test your app on all possible apple iphone devices.
Does this make sense?
I have an app which is crashing on iPhone 4 having 7.1 installed , i want to debug app on phone using xcode 6, is it possible(as it shows unavailable currently) ? if not what are the options I am left with ?
There is no option for an "iPhone 4 Simulator" in Xcode 6. But, if you use an iPhone 4S simulator with iOS 7.1, you can achieve the same effect, because with the same screen size and OS they are essentially the same for testing on the simulator. Also see this question for reference.
Of course, if you have a physical iPhone 4, you can also test on the actual device. Make sure that your Deployment Target under TARGETS AND the iOS Deployment Target under PROJECT are set to 7.1 or below. Your Base SDK can be set higher, but this means you will have to make sure that you are either not using features or classes that are unavailable in earlier versions of iOS, or do a version check and adapt your program accordingly. For example, UIAlertController was introduced in iOS 8, and will crash a device below that if it is invoked. So you might want to do a version check and use good old UIAlertView if the iOS device version is below 8. An issue like this is the most probable cause of your crash.
Also, if it's the first time you're using this device for development, don't forget to set it up by going to Window -> Devices, selecting your connected device, and pressing Use for development.
If you don't have the iOS 7.1 SDK and don't see it as a iPhone 4S (7.1) in the simulator selection, you need to download it by going to Preferences -> Downloads.
What settings do I have to change to allow my app to work on iPhone 4? Some people can install it on their iPhone 4's but have problems and others can't.
Is it related to the Required Device Capabilities entry?
Under the general tab for your project check what your deployment target is set to. If you have it set to iOS 7 then iPhone users running iOS 4,5,6 will not be able to install your app. Set this to the minimum iOS 7 version you want to support and then you will need to make sure your app works on all those iOS versions for it to run on all iPhone 4s.