If you are in the situation that you have this very important Swift 1.1 based application to show your customer now, and not the time yet to migrate it to Swift 1.2, you must stick to XCode 6.2. But that does not work. You receive a "Device not eligible" error or "platform directory not found" error.
To debug / deploy your Swift 1.1 application to an IOS 8.3 device with XCode 6.2, there is a workaround.
1. Archive old XCode 6.2
In Finder, go to /Applications and archive Xcode.app. This is an important step, as we need to unpack it after the upgrade to XCode 6.3
2. Update XCode to 6.3
Upgrade XCode to 6.3 using the App Store application.
3. Rename XCode 6.3
After the upgrade, rename Xcode.app to Xcode6.3.app4. Unpack XCode 6.2
Now unpack the zip file created in Step 1. Afterwards, you have 2 Xcode applications in /Applications, the old Xcode.app (6.2) and Xcode6.3.app5. symlink IOS 6.3 Device Support into Xcode 6.2
Open Terminal.app and enter:
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/
ln -s /Applications/Xcode6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3\ \(12F69\)/
sudo chown -R root:wheel /Applications/Xcode.app
This sym-links the IOS 6.3 platform directory from Xcode 6.3 into Xcode 6.2.
6. Start Xcode 6.2 and run your app on an IOS 8.3 device
Start /Applications/Xcode.app and try to run your application on an IOS 8.3 device. If you still receive the "Device not eligible" error, click on Product > Destination > "Your Iphone" and try again.It might be possible that you need to issue new provisioning profiles the first time you run the app on IOS 6.3.
7. select the command line tools
If you use Carthage, you may perform xcode-select to select the Xcode 6.2 build tools, otherwise your Carthage dependencies fail to compile. Do not forget to switch it back to 6.3 if needed.
#> sudo xcode-select -p # print currently selected xcode commandline tools
#> sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
For sure the best fix is to migrate your Swift 1.1 application to Swift 1.2 asap and work with XCode 6.3.
No comments:
Post a Comment
Due to the high amount of Spam, you must solve a word verification.