Can I still upload an application that does not support iOS8+? - ios7

Can I still upload an application that does not support iOS8+?
I currently have an app that we are releasing for iOS7 and 7.1, but it was rejected because it was not compatible for iOS8.
We are currently in the process of building the iOS8 version, but wanted to release something quickly.

You just need to build & submit it with XCode 6, iOS SDK 8.0.
They may reject if the app doesn't work with iOS 8. Do a quick test to make sure it doesn't crash, and all major functions are working fine.

No you can't. I'm not sure the exact date that apple made it mandatory to support iOS 8 but I do know it has passed so any new apps/updates submitted to the app store need to support iOS 8.

Related

How to stop supporting iOS7

I have just installed Xcode 5, and I have an application that should be targeted only to iOS 6.0 and iOS 6.1 devices.
How can I stop supporting iOS 7.0 ??
That is not possible, you can stop supporting previous versions of iOS, but not the other way. You need to prepare your app to work on iOS7.
YOu don't need to redesign your app or anything, just open in with XCode 5 and get rid of all the warnings/small bugs.
As others have noted, you can't "not support iOS 7". However, you can delay upgrading to the iOS 7 SDK (at least, in the short term).
To do such, simply continue using Xcode 4 to build your app. When you're ready to submit it, simply do such using Xcode 4 like you normally would.
For the time being, Apple will most likely accept apps built using the iOS 6 SKD. (Imagine, for example, that you've spent several months or a year building your app... Apple will still let you submit it for the time being even using an older SDK).
Further, the app will run and appear correctly (in many/most cases) using iOS 6 UI components for the most part (in example, UIAlertView is an exception to this, which will use the iOS 7's UIAlertView look).
In the long term, however, you really should convert your app to use the latest SDK.
It's not possible to prevent the installation of your app to devices that meet minimum version requirements.
Of course, you're free to check in your app the iOS version and do something about that. For example, if your concern is really that the user user should download another, iOS 7-designed version of your app, you can inform her about this possibility:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([self.window respondsToSelector:#selector(setTintColor:)]) // iOS 7
... // redirect user to better, tint-enabled version
return YES;
}

App works fine in iOS 7 with no modifications?

We've been working on getting our app to work properly with all the changes in iOS 7. Particularly the colors and layouts of things. But these changes are still in development.
The version of our app in the app store has none of these modifications. When testing locally, it works on iOS 6 fine and looks horrible on iOS 7. Yet, upon downloading it from the app store and installing it on an iOS 7 iPad, it seems to work just fine -- just as it used to in iOS 6 (!). We are wondering if there is some "compatibility flag" that the app store folks can switch, which means "not ready for iOS 7 -- use compatibility mode"? I'm not sure how else to explain this. Wondering if anyone else knows?
Our app:
http://appstore.com/cedarssuite
Summary: running via the simulator on iOS 7 or on a development iPad that has iOS 7, the app looks horrible. But downloading the approved app store version and running on iOS 7, it works just fine. Why?
A note: This is no longer correct. Since February 2014, Apple only accepts SDK7 builds
That's normal. all the old apps work fine on new iOS versions since those app. Base SDK set to that old version. in your case (iOS 6.0). They will run using old sdks. But, when you built with the new sdk (Base SDK 7.0) they look horrible as you said and some times they crash. because of layout changes and controls behaviours in the new iOS.
You are only asked to build with the new sdk to take advantage of the new features.
keeping your app. built with the old versions doesn't seem to have disadvantages other than new features. since apple still accept publishing apps with old sdk back to 4.3.
If you set the base SDK < 7, it will use the old iOS 6 style. Of course, that basically requires you compile with an old version of Xcode, and you can't use iOS 7 features, even when running on iOS 7.

Upgrading App to support iOS 5

I have developed an ios4 app and now want to upgrade it to ios5. What are the sort of things i need to be aware of in terms of the switch being successful and not causing any pains? My most important question is that if i do push a new change to apple, what will ios4 users see when an upgrade is available that supports only ios5 and up? Can they just ignore that update and continue using the ios4 version they had installed? Will the appstore error out if they try to download the ios5 upgrade anyway? What exactly will happen?
Thanks
The biggest change in IOS 5.0 is the ARC project, so if you converted it to ARC it won't work with older devices like 3g (3gs can have ios 5.0 so it's safe).
Other than that, a user that has an iOS 5.0 device (or an upgraded one) would be able to get the update as soon as it is made available from apple store.
Keep in mind that lower end ios 5.0 devices might not have enough memory for the application though, it's the same that applies for ios 3 / ios 4 and sequentially ios 5/ios 6.0.

Deprecated errors while converting app compatible with new IOS

I am developing an application.
The main thing is that i have to make compatible it with latest IOS.So, I just want to know
whether i need to install latest xcode sdk for that ? or
i can make it with sdk lower than latest?
Thanks for Helping .
The only reason you would need to use the latest SDK would be to take advantage of the latest iOS 5 changes (new API's and features like Storyboarding).
But anything that is built under older SDK's (such as iOS 4.3) is supposed to run just fine on iOS 5. In reality, that isn't always the case though.
You can/should make the target SDK be the lowest "target" device you want to handle (eg, 3.2), though you can compile/build with either iOS 4 or iOS 5. If you don't build with Xcode 4, though, you'll need a physical iOS 5 device to test on. (Good to have one anyway, but it's inconvenient having to do all your testing on a device.) If you do build on Xcode 4 be sure to test both against iOS 5 and a lower version (if you want compatibility with a lower version).

Can I build for 4.x simulator but run in 3.x simulator?

Ok, there have been some questions alluding to this before, and I've even read some second-hand reports of people successfully doing this, but so far I haven't found a concrete answer.
Basically, I want to build an application for simulator using iOS 4.x, and then run it on a 3.x simulator.
I have both SDKs installed, so all I need is the last mile of getting the app to show up in the 3.x simulator.
I tried just copying the app across from Library/Application Support/iPhone Simulator/4.2/Applications to Library/Application Support/iPhone Simulator/3.0/Applications but it doesn't show up when I load the 3.x simulator. There's a binary plist called applicationstate.plist, which I'm guessing keeps track of what apps are installed on the simulator, but I don't know what the binary format is so I'm kind of stuck at this point.
Has anyone managed to load a 4.x app onto a 3.x simulator? And if so, how did you do it?
Why are you even trying to do this? What are you trying to achieve? If what you really just want to do is ensure the app works on iOS 3.x then simply state that in xcode and don't worry about the actual simulator. The simulator could be running iOS 5.0 for all you should care as long as you have set 'iOS Deployment Target' to '3.0' in xcode's project settings. That will ensure the application is compatible with iOS 3.x and above. Obviously you then still need to ensure you're not calling methods from SDK 4.x when it will run on an iOS 3.x device. If that is what you're trying to test then what you're doing won't actually work. You should (as Apple advises) always grab hold of a real device running the target firmware version and test it on that. Grab an old iPod for example with iOS 3.x and try testing your app on that to ensure you haven't called iOS 4.x methods when running under an older firmware.
The answer is: No, you cannot build for 4.x simulator and run on a 3.1.x simulator or earlier due to fundamental changes in the way the simulator works.
The only way to test 3.x support is to either run it on a 3.x device (after setting min deployment target), or build on an older xcode that supports 3.x simulator (which isn't feasible if you use Xcode 4, except for iPad 3.2).
Note: Setting the deployment target does not test compatibility with older operating systems. It's the operating system that it actually RUNS on that matters (such as "iPhone 4.3 Simulator", "iPhone 4.0 Simulator", "iPad 3.2 Simulator", or an actual device).
Of course, now that 3.x users make up less than 10% of the total population, it's not really worth the trouble to support it anymore.