I've an existing iPhone app.
I need to create a separate app for iPad app (and of course use shared code).
But have the two apps to be uploaded to apple store as one app.
Is creating a new target fit my case? If yes can you provide me with step by step tutorial?
Thanks.
Related
I'm shipping two binaries; one for iPhone/iTouch and the other for iPad. It's the same application.
Will Apple ensure that the user will never receive an iPhone version of the app on the iPad? If YES, then I don't have anything to worry about, but if not then I do have a problem.
The reason I ask is the iPhone application will simply not work correctly on the iPad because the server knows it's an iPad and will deliver the iPad HD content to it and the iPhone cannot handle that. I would rather not hack my application to send the server a fake device type if running the iPhone app on the iPad in order to receive the correct resources.
Suggestions?
I've been looking for this for a while because I couldn't prevent the iPhone app to load on the iPad. Searched a bit to understand why this was happening, followed #hotpaw2 instructions and found this on the official apple store rules:
UPDATE:
2.4.1 To ensure people get the most out of your app, iPhone apps should run on iPad whenever possible. We encourage you to consider
building universal apps so customers can use them on all of their
devices. Learn more about Universal apps.
https://developer.apple.com/app-store/review/guidelines/
The SDK and/or App store rules prohibit you from preventing an iPhone app from running on an iPad in 1X or 2X zoom mode, unless there are other requirements listed in the app plist. Apple's app review is known to test iPhone-only app submissions (unless there are other requirements) on an iPad, and reject the app if it doesn't run properly.
Other requirements (as listed under UIRequiredDeviceCapabilities in the app's plist) might include your app requiring telephone capabilities (or healthkit, etc.), which might help you temporarily, but still won't prevent the app from running on some hypothetical future iPad product that includes telephony capabilities (and/or healthkit, etc.).
Actually you can.
Add telephony to UIRequiredDeviceCapabilities in your plist file.
But i really not recommend it and maybe you could get rejected because of gratuitously using this property.
I think you should handle that there are iPad versions and iPhone versions on iPads, use the second one as an iPhone.
Also don't forget that retina iPads will use upscaled applications at retina resolution while none retina ones use the standard resolution. And this behavior can tweaked using jailbreak tweaks like RetinaPad and FullForce.
In the plist settings, add Application requires iPhone environment and set the boolean to YES
I have made several xcode versions for different sizes on the iphone (iphone4,iphone5, iphone6, iphone 6+, all which have different storyboards, due to the different sizes. Due to the complexity of my app I wasnt able to do constraints. Is there any way I can upload different versions of my app for different platforms on the app store?
For example, I want to upload my Xcode project for iphone4 to the app store, so that it is available for people with iphone4, and I want to upload my other Xcode project for iphone5 to the app store, so that it is available for those with iphone5.. and so on.
Thank you. This is the first time I have ever uploaded an app to the Apple app store so any help would be greatly appreciate.
One suggestion, for that problem you can use the new "size classes" in xcode 6. I recommend you watch the WWDC video and read this document. Doing that you only have to have one app.
https://www.codefellows.org/blog/size-classes-with-xcode-6-one-storyboard-for-all-sizes
It would be good if you use single app using adaptive layout for different version of device
In iTunes Connect you cannot create apps with same name,sku number,bundle-identifier .Those details should be unique . If you want to create different version apps for iPhone4 and iPhone5, then you have to create different apps in iTunes connect with different Names and Bundle identifier for different versions.
Please refer this before submitting Apple to reject any apps that don't use iPhone 5 displays as of May 21st
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
When I name a file ~ipad or ~iphone will they only be bundled into the apps for the specific devices or into both?
If both how can I achieve that a file is only compiled with the iPad or iPhone version?
Thank you, a0down
One of the main features of a universal app is that the binary is the same for both iPhone and iPad. What you submit to the app store is a single binary that contains all the assets and code required to run the app on both devices.
Unfortunately the only way for you to get what you want would be to create two completely separate apps - one for iPhone, one for iPad - and submit them both to the store.
We have an iPhone app and want it to support iPad also.
But as I learned if you submit an app to Apple and indicate it is Universal, while in reality it is not (for example iPad is not supported at the time of submission, this is restricted by their policy).
So, what is the best way that we simultaneously allow further development of our application such that we also support iPad?
ps: we didn't want to create separate projects for iPad and iPhone since they share lot of code, but as I mentioned we encountered following obstacles.
Submit your app as an iPhone app. When you support iPad change it to a universal app when you submit your update.