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.
Related
I recently pushed an application to appstore. Now i have no idea why, but it says that its compatible with ipad too. In Deployment info i picked IPhone only. How is this possible and how can i change this fast.
Thank you
Even if you have chosen iPhone in Deployment info. The app will still get install in iPad. Here are list you can chose in deployment info.
Universal :- These apps are designed to work on both iPhone and iPad.
When running on an iPad, these apps confirms to the larger screen of iPad as well as screen of iPhone.
iPhone apps :- These are apps designed specifically for iPhone. These apps can still run on iPad. However they will run on iPhone compatibility mode. There are some apps that utilize unique features of the iPhone such as ability to place phone calls. These apps will be unavailable to iPad.
iPad :- Designed specifically for iPad. Cannot install on iPhone.
I have an iOS app which resizes/looks fine between iPhone 4 through to iPhone 6s Plus. However, when I run the same app on any iPad device I get black bars on all sides of my view. I've tried several things to fix it but nothing has works. Here is what it looks like
I checked the following settings:
General>Deployment Info>Devices: iPhone
Autolayout turned on
Size Classes Disabled
No warnings in interface builder
Problem exists on ios 8.0 and 9.0
Works fine in iPhone devices
Xcode 7.2 (started project in Xcode 6.4)
Launch Screen.storyboard exists
I only want it to run on iPhone...
Paragraph 2.10 of App Store Review Guidelines
2.10
iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
iOS iPhone app doesn't fill screen on iPad
That is the definition of an app not targeted for iPad, as explained above in the accurate comments from #NicolasMiari.
On the other hand, if you have a genuine reason to not target iPad, because the hardware does not provide a key capability you need, you can explicitly request for that capability, and your app will not launch (nor be proposed on the App Store when browsed from that device).
Examples include SMS, Telephony, HealthKit. See the Device Compatibility Matrix.
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.
I have an older nib-based iPhone project that I would like to make universal. To save time, since a redesign is approaching, I would like it to run as an iPhone app running on an iPad (emulation mode) but still be available on the app store as a universal binary.
I can easily generate an iPad-only binary that runs in emulation by right-clicking my iPhone target -> "duplicate target" -> "Duplicate and Transition to iPad". That's how I get an iPad target that runs in emulation mode (along with a folder full of iPad compatible nibs that are not used by the app - the new target uses the original iPhone nibs).
But how to submit this as a universal app? When I switch the target to universal it stops using emulation mode and looks for it's own set of nibs (which need considerable UI tweaking - even the auto-generated ones)
Anybody know any workarounds?
I'm afraid that can't be done. Apple's definition of a Universal App is one that runs on both devices WITHOUT emulator mode on the iPad.
You can however duplicate your iPhone storyboard into an iPad storyboard and tweak your UI so that it resembles what you see in iPhone Emulator Mode. I've explained how to do this here: http://pinkstone.co.uk/how-to-convert-your-iphone-storyboard-into-an-ipad-storyboard/
I have written an app intended for the iphone. Obviously it is ok if it used on the ipad in the iphone mode, but it is an iphone app.
My app got rejected by Apple, I received a mail with a screenshot named Screen_shot_0.png as attachment, that was empty with in the middle the text "My Universal App on iPad" (which you if you open in Xcode the file MainWindow_iPad.xib).
Probably the app was uploaded with the Universal setting, not sure.
I did add icons, launch images etc. for both iphone and ipad.
Now I am confused about the following settings (click on Xcode project file): I will give my settings:
Project "appname"
iOS Deployment Target: 6.1 (should I take an older one?)
Targeted Device Family: iPhone (should this be iPhone/iPad?)
Targets "appname"
Targeted Device Family: iPhone (should this be iPhone/iPad?)
Everything works on iPhone4, iPod, iPad3.
The only thing is that the launch image of the iPad is cut off a bit at the right side, which causes me to think that some iPhone splashscreen is used instead. Would this be an issue for Apple?
If you want an app written for iPhone to run on iPad in iPhone mode, then you've actually done too much.
Just write it as a an iPhone-only app, and the iPad will automatically support it in iPhone mode. iPhone mode on the iPad offers users a chance to zoom to 2x resolution, but everything is "as if" it's running on an iPhone. Be sure NOT to upload as (or set attributes to claim it is) Universal. Don't provide multiple versions of screenshots, only provide iPhone screenshots. Think of "iPhone mode" as an iPhone emulator that runs on the iPad.
Only use "Universal" if you want to package both iPhone and iPad apps (typically with separate storyboards and definitely with distinct screenshots) in a single package that can run on either device. Upload as iPhone only and it will run on iPad in iPhone mode. Good luck!