i have done developed an apps, preparing for submission currently. The apps is actually developed for iPhone/iPod only. I have go to Xcode, target -> Build Settings -> Targeted Device Family,but the available option selection is either 1 or 2, which option should i select in order to make the app available for iPhone only?
open your project target - > genereal - > device Info --> devices --> iphone
for sample
In addition to Anbu's answer, there is something you should be aware of.
This drop down box saying iPhone or iPad (or both) does not itself determine what platforms your app runs on, or who it should be shown to on the market.
You can't run normal iPad apps on an iPad Pro without modification. How does Apple know you want to offer it to iPad Pro customers? They check to see if you have uploaded iPad Pro screenshots. Same with every variation in iDevices.
If it is complaining, as Anbu said its probably because you have indicated in your Project that it should also run on some platform (like iPads) but not uploaded screenshots which would allow it to be offered to iPad customers. Easily fixed.
Related
I have AppA v.1.0 that supports iPhones and iPads. I have a new update for it AppA v.2.0, for which the iPad design is ready but the iPhone's design is not. I need to launch it asap only for iPads. I don't want to create a separate application.
So what I want is to provide AppA v.1.0 for mobiles and AppA v.2.0 for iPads.
First of all you cannot do that.
If you remove iPhone support you will most likely get a rejection of your binary
This bundle does not support one or more of the devices supported by
the previous app version. Your app update must continue to support all
devices previously supported. You declare supported devices in Xcode
with the Targeted Device Family build setting. Refer to QA1623 for
additional
information:https://developer.apple.com/library/ios/#qa/qa1623/_index.html
Secondly if somehow you could do it then if you have AppA v1.0 and release AppA v2.0 then 1.0 is not available anymore to anyone on App Store and v2.0 becomes the released version. What that means for your NEW iPhone users is that if they search for your app name on their device they will see no search results returned. On iPad it will be shown. Again your two options are
Make a universal app and support both iPhone and iPad. If you got most of the code working for iPad then making it work for iPhone isn't that big leap.
Make a new app for iPad only.
When submitting an iOS app to iTunes connect, is it possible to exclude 3.5" devices? I do not want to support this screen size, just 4" and above.
I checked the iTunes Connect App Properties documentation and the App's Metadata documentation and unfortunately there doesn't look like there is an easy way to restrict your app from not being downloadable onto a iPhone 4S and older device.
But one thing you could try doing is setting your app to build for armv7s & armv8 (see this related question for more elaboration), or if that doesn't work, you could try throwing a "you need a modern iPhone in order to run this app" if it's launched on a smaller screen. This might be okay if your app is free, but you certainly will have an interesting time getting it onto the store if it's a paid app.
I have a universal app, it supports both iPad and iPhone. I do not want the app to be downloaded or launched in iPad 1 alone.
When the user downloads the app from App Store, is there a way to disable the download or launch of the app only for the first generation of iPad.
If not, can I add it in "What's new" option during the release of the app to App Store. Since it is a next version of release.
Please help.
Thanks in advance.
You could try to find a restriction with the UIRequiredDeviceCapabilities key in the info.plist. But this key only allows restrictions like armv7, magnetometer, etc. (full list available here). So you can't filter only iPads of the first generation.
Anyway, what you could do is checking at runtime whether it's an iPad 1 or not.
With this Library it's quite simple:
if([[UIDevice currentDevice] platformType] == UIDevice1GiPad){
//it's an iPad 1!
}
I don't believe you can restrict your software to a certain class of devices, but you can impose limits based on iOS version. The newest version of iOS supported by the original iPad is 5.1.1, which is quite dated now, so you might consider requiring iOS6+ on the App Store.
Also, you could require the device to have a camera, which the iPad 1 does not. But beware that Apple could reject your app if it does not actually use the camera.
Best possible way is to give the support for iOS 6+ which will exclude the ipad first generation.
Update:
iPad HD : iPad Retina (high resolution) (2048x1536)
iPad : Medium resolution (1024x768)
iphone : Low Resolution (below 1024x768)
I'm a c++ developer and mostly develop our apps on cocos2d-x to support cross platform.
Since we are supporting all device resolutions, we need to ship all resource contents (iphone, ipad and ipadhd) in one universal binary for Apple AppStore. The accumulative size is 38MB for our app and its already in the Apple AppStore.
We have been thinking about spliting app to support for iPhone, iPad and iPadHD separately. But in "xcode > Target > Devices", I can see only three options iPhone, iPad and Universal.
What I'm aware of?
If I go to support iPhone and iPad individually, I need two different names like AppName and AppName for iPad.
We can not use the existing name and bundle id, and continue to support only one of the target devices if it is already a universal binary.
What I want to accomplish?
I want to have three different packages for same app with three different names(or bundle id's) like AppName, AppName for iPad and AppName HD for Apple AppStore.
Packing only resources required to support the individual target device (I can use python scripting to remove irrelevant resource assets).
Whenever there is any update, release for individual target devices.
What is the issue?
How to support iPad HD only? I don't want to bundle ipad(12MB) and ipadhd(17MB) resources in one binary. Is it possible to accomplish this task?
If the above problem has no solution and I choose target device as iPad, Do I need to support iPad and iPad HD both?
Thanks
Manish, one solution is to "simply" download the large images after the user purchases the app. It's common with games that that happens. First you download the app off the app store, and then it says "Loading dragon costumes!" or whatever and then it downloads a half gig of dragon costumes.
Whatever platform you are using , Unity3D or whatever, there is usually a trivial way to do this (since most games do it).
BTW two points, (a) 38mb is nothing for a game, so forget that. and (b) you are very smart to only target users with modern machines. Users with old machines are cheap, they don't pay for stuff. It's all but pointless supporting anything less than iOS7, for example, unless you are the biggest most world-famous games.
I have created an ipad application. I still haven't uploaded it to the app store, this application has a specific bundle ID.
Meanwhile, I was creating the same application content and features but compatible only with iPhone/Ipod devices.This application has a different bundle ID and a different Xcode file.
So, now i have two Xcode files, one for the iPad and the other one for iPhone, each one with different bundle IDs.
The next step would be uploading this application to the app store, so the situation is , how can i upload it and link two different xcode files together, one for ipad and the other for iPhone
keeping in mind, this is a paid application, so if the user has paid for it on his iPad, he should get the iphone version for free ( on the same App ID ) .
You cannot upload two versions of the same app to the app store.
I suggest consolidating into 1 file, a universal file that will work for BOTH iPhone or iPad.
Other option, would be to create a new app under a different name for iPad or iPhone / iPad only.
Excerpt from Apple's programming guide:
Creating a Universal App
A universal app is a single app that is optimized for iPhone, iPod
touch, and iPad devices. Providing a single binary that adapts to the
current device offers the best user experience but, of course,
involves extra work on your part. Because of the differences in device
screen sizes, most of your window, view, and view controller code for
iPad is likely to be very different from the code for iPhone and iPod
touch. In addition, there are things you must do to ensure your app
runs correctly on each device type.
Xcode provides built-in support for configuring universal apps. When
you create a new project, you can select whether you want to create a
device-specific project or a universal project. After you create your
project, you can change the supported set of devices for your app
target using the Summary pane. When changing from a single-device
project to a universal project, you must fill in the information for
the device type for which you are adding support.
Read the full version HERE