This may seem an odd question but bear with me. I am all excited to try out iOS 7 beta, however I am developing an app that will be complete before iOS 7 comes out to the public.
So can I install iOS 7 on my device, and then develop and publish my app for iOS 6? Or would I need to downgrade to iOS 6 to develop my app and release it in the next few weeks?
I should add I want to do this because I only have one device.
You cannot release an app that has been built, compiled, or created with the pre-release SDKs and Tools. That means you can't release an app built with iOS 7 SDK features in Xcode 5 until Apple gives the green light for submission. (EDIT: iOS 7 is now public, but this will apply to any future betas - including iOS 7.1 and onward).
On the other hand, testing your app on a beta device is OK. It's not a good idea to test your iOS 6 app on iOS 7, but it will work. You can install iOS 7 beta on your device, but first think about your users. You'll want to test your app in the environment that your users will be using it in.
If you do upgrade to iOS 7 on your one and only device, you'll be stuck with the iOS Simulator - which is very very far from recommended. You can't downgrade or restore to an earlier iOS version from iOS 7.
If you are using the beta version of XCode, be sure to set the target to iOS 6, not iOS 7. When you target a version of iOS, that's the minimum version. You can run an app targeted for iOS 6 on iOS 7.
When you target iOS 6, the compiler will prevent you from including features that require iOS 7.
Still, for testing purposes, you'll want to test on a device with the latest released version. iOS 7 may have bug fixes that iOS 6 does not, so your app may run fine on iOS 7 but have bugs when run on iOS 6. Also, there may be performance differences.
You should test on both the simulator and an actual device, however if you want to risk it, the worst that will happen is your app may be rejected.
Theroretically you should not be able to run an app from Xcode 4 on an iOS 7 device. I was able to do this however, but I'm not sure why. Try deploying your app with Xcode 5 and then redeploy it with Xcode 4. In my case Xcode 4 would deploy to an iOS 7 device if the app is already installed (including all profiles).
Related
I've upgraded my Xcode to Xcode 8. Now I notice that I cannot run/debug on an iPhone with iOS 7.n.n. I've have read that it isn't supported in Xcode 8. I do know that my app will still work on iOS 7, but if something fails I would like to hang it on Xcode to debug it. So my question is:
Do I still get the bug fixes/improvement that were introduced in iOS 10 when submitting my app with a base sdk setting of iOS 9.3?
Xcode 8 (or even Xcode 7) doesn't include support for iOS 7 simulator, which is what I think you're really asking about.
To pick up the new iOS 10 SDK changes, link against the iOS 10 SDK and then set your target's minimum deployment version to iOS 7.
If you were using analytics, chances are very high that you'll find the number of iOS 7 using customers is incredibly low.
Do I still get the bug fixes/improvement that were introduced in iOS 10 when submitting my app with a base sdk setting of iOS 9.3?
No, of course not. If you do that, you are still an iOS 9 app. You must link against iOS 10 if you want to run natively under iOS 10.
However, you can do that and still be backward compatible to iOS 7. And you can easily test on an iOS 7 device, so the change to Xcode 8 does you no harm.
My current project app settings are xcode 7.3.1,I am using swift 2.2.
My app supports iOS 8 and above. With the recent changes to security and privacy setting for iOS 10, I wanted to know if uploading my app from xcode 7.3.1 will cause any issue/rejection from apple with respect to iOS 10. Is it suggested that I migrate to swift 2.3 and upload the app through xcode 8?Really puzzled
First point: The app store / iTunes Connect doesn't know or care what language your app is written in.
Second point: If you build with Xcode 7.3.1, then you are not linked against iOS 10. Therefore nothing about iOS 10 applies to you. You are running as an iOS 9 (or lower) app, under iOS 9 rules, even on an iOS 10 device.
Conclusion: You're fine; nothing has changed merely because Xcode 8 and iOS 10 exist.
Caveat: But you should check by running on an iOS 10 device anyway!
I can download the latest Xcode, but must I also be running at least iOS 9 to be able to develop an app and run it on my device without being a member of the developer program? I've got an iPhone 4 which cannot be upgraded any further from iOS 7.1.2.
My question is answered here: https://forums.developer.apple.com/thread/52904
No, I don't need iOS 9 as there is probably nothing on the iOS side preventing from using free provisioning. Xcode 7.3.1 supports iOS down to version 6, meaning I could test an app for free on a device with iOS 6.0.
I'd like to check my app's performance on devices running iOS10 beta without using the Xcode 8 Beta. The main reasons for this are to a) retain the ability to archive & upload the app to the App Store, and b) share the app's codebase with others using Xcode 7.x. As far as I understand (I could be wrong), you can't use an Xcode beta to upload apps to the App Store.
I've tried sharing the apps with the iOS10 beta devices via TestFlight. Though this does work it doesn't quite solve the problem of being able to do proper testing and debugging on the beta device. Thanks for reading.
It is possible but only if you install Xcode 8 along side Xcode 7 (see below) and you connect the iOS 10 device to your computer while running Xcode 8. Once Xcode 8 downloads and processes the iOS 10 device, you will then be able to use the iOS 10 device on that same computer while using Xcode 7.
Rename /Applications/Xcode.app (your Xcode 7 installation) to something like /Applications/Xcode7.app. Then install Xcode 8. This way you can have both installed at the same time.
And you are correct that beta tools can't be used to build and submit to the App Store. Near the very end of the beta, Apple will post the GM version of Xcode and will send an email to developers that they are accepting iOS 10 apps. Using the GM version of Xcode 8 you will be able to submit your iOS 10 app.
My iphone is currently running ios 8. When I try to run apps through XCode on my phone I get this error message:
Xcode cannot run using the selected device.
No provisioned iOS devices are available with a compatible iOS version. Connect an iOS device with a recent enough version of iOS to run your application or choose an iOS simulator as the destination.
In XCode under deployment target, there is no option for 8.0 (iOS 8) and the app will not run on my phone.
Is there an SDK I need to download for xcode?
Any help is greatly appreciated.
You need to download Xcode 6, which includes the iOS 8 SDK. You would download this from the Apple developer site, where you downloaded the iOS 8 Beta image from.
https://developer.apple.com/devcenter/ios/index.action
Xcode 5 knows nothing of the existence of iOS 8. You're going to need to get Xcode 6 from this page (direct link) if you want to run apps on your iOS 8 device.
Note that the direct link is only good for the version of Xcode 6 shipped alongside iOS 8 Beta 2. I have no idea what it will do when we get to Beta 3.
The way I got it to work was:
close all instances of Xcode.
open the Xcode 6-Beta
open Xcode 5 so both Xcode's are running at the same time
close Xcode 6-Beta, and after doing that, Xcode 5 will recognize your device as a capable one and you'll be able to deploy to your iOS 8 phone.
The reason you need Xcode 5 is because you won't be able to submit iOS 7 apps to the app store from Xcode 6, it'll give you an error so you need to use Xcode 5.