How to Test My Xcode 7.2-Compiled App with iOS 9.3

Build app for IOS 9.3 and 10.0

Set the Base SDK to the latest OS use new features available in the current iOS release. Set the Deployment Target to the oldest iOS version on which you want your app to deploy.

Make sure to test on an actual iOS device running the Deployment Target iOS version to check whether you use any newer APIs without first checking for their availability on a device running that iOS version, The iOS Simulator is not reliable as a test for this purpose.

Xcode 8: Compile with iOS 9.3 base SDK?

Unfortunately, it doesn't look like there's a way to change the SDK version in Xcode Beta; it could be either a bug or just the fact that Apple wants you using the beta SDK alongside the beta software. Like @l'L'l said, one must open the app in stable Xcode in order for the App Store to accept the submission.

However, I did find that downgrading the project to Swift 2 wasn't exorbitantly difficult. It only took me an hour to "downgrade" the entire project by manually fixing all of the errors in Xcode 7.3. In case it will help anyone, the main patterns I noticed during the process were:

  • Changing function declarations to not have an _ before the first argument, because the first argument is not anonymous in Swift 3
  • Removing the first argument label from all function calls, which sometimes involves renaming the function (including in delegates, which sometimes don't report an error)
  • Changing a couple built-in properties, like label.isOn to label.on
  • Adding NS before several object names, like NSData and NSTimer, which became Data and Timer in Swift 3, respectively
  • "Downgrading" the Storyboard by re-saving it
  • Compile using Xcode-stable but upload with Xcode-beta; Xcode-stable had issues with my provisioning profiles, but it turns out it doesn't matter which version you use the upload the binary from Organizer

Is it possible to compile Swift 2 code in Xcode 7 and run it on an iOS 11.1 iPhone 6?

Yes you can do that. Install new Xcode version ( 9 ) and extract sdk image. Put it into your 7th folder, and you can run from Xcode 7 on iOS 11 device. But wonder, iOS 11 works only with 64x architecture, so apps should not be compiled in 32bit

Test iOS app on device without apple developer program or jailbreak

Seven years after the inception of the App Store (July 10, 2008), Apple has finally introduced a new feature in Xcode 7 that allows you to deploy and run any number of apps on any of your devices, simply by logging in with your Apple ID. You will no longer need a paid Program membership to deploy apps on your own device (and you certainly no longer have to jailbreak your device if you're not comfortable doing so).

Well, not for the majority of use cases anyway. For obvious reasons, certain capabilities and entitlements that require Program membership such as Game Center and in-app purchases will not be available to apps deployed using this method. From Apple's developer documentation:

Launch Your App on Devices Using Free Provisioning (iOS, watchOS)

If you don’t join the Apple Developer Program, you can still build and run your app on your devices using free provisioning. However, the capabilities available to your app, described in Adding Capabilities, are restricted when you don’t belong to the Apple Developer Program.

The precise steps to getting your app onto your iOS device or Apple Watch follow immediately thus (screenshots omitted for ease of skimming):

  1. In Xcode, add your Apple ID to Accounts preferences, described in Adding Your Apple ID Account in Xcode.

  2. In the project navigator, select the project and your target to display the project editor.

  3. Click General and choose your name from the Team pop-up menu.

  4. Connect the device to your Mac and choose your device from the Scheme toolbar menu.

  5. Below the Team pop-up menu, click Fix Issue.

    Xcode creates a free provisioning profile for you and the warning text under the Team pop-up menu disappears.

  6. Click the Run button.

    Xcode installs the app on the device before launching the app.

Prior to Xcode 7, a Program membership was indeed required in order to sign the provisioning certificates required to deploy apps to devices. The only other alternative was jailbreaking. With Xcode 7, you no longer need to jailbreak your device just to run apps distributed outside the App Store, or to test apps if you cannot afford to join the Program, or to deploy and use apps that you have developed for your own personal use if you do not intend to distribute them through the App Store (in which case you probably don't need the entitlements offered by Program membership anyway).



Related Topics



Leave a reply



Submit