I have developed a Universal App that works on both an iPad running iOS 9.3.5 & an iPhone running iOS 6.1.4, using two different Storyboards.
I realise that I need to upgrade in order to be able to distribute my App on the App Store.
Can I run Xcode 7 on OS X Lion? And, more importantly, will my Objective-C code still work in Xcode 7?
The code I am using is very basic. I am essentially using a UINavigationController to present data from an SQLite database.
I am not using any animation, location services or camera based classes.
At the moment, I have set my deployment target as 6.1.
I am using 2 third party frameworks: SSZipArchive & Reachability
Can anyone give me some reassurance, before I assign a month's worth of work to the scrap heap?
It is really hard to tell, since it means jumping 3 versions (!) ahead. Anyway, I wholeheartedly recommend you to set git in your project, to make sure you can always revert if something goes wrong. BTW- I would recommend updating to Xcode 8, the latest version of Xcode.
Following are the answers to your queries :
Which version of Xcode 7, you will be using? You will have to upgrade your OS too to run Xcode 7 as it runs on OS X 10.10.4
Your code will probably work on Xcode 7, but you might have to tweak a few things. But you will have a lot of online help to fix these issues.
From Xcode 7s Release notes:
Xcode 7 requires a Mac running OS X 10.10.4
In general, you can copy /Applications/Xcode.app to /Applications/Xcode_4_6_3.app and than update (or maybe better install) Xcode 8beside it, so you can always use your legacy version side-by-side.
Without knowing your code nobody can tell if it needs modifications to build under Xcode7. As the step from Xcode 4 to Xcode 7 is big, plus you want to build for the App Store and therefor have to target iOS 10, I assume you will have to tweak your code due to deprecations and such.
You need to build with Xcode8 to archive this btw.
If you were working with Storyboard, I would also expect issues as Storyboard has been developed a lot in between.
Will my MacBook Pro OSX Lion, handle the XCode 4.6.3 to Xcode 7
Absolutely not. Xcode 7 requires a much later system version than Lion.
In general what I have done in your situation is to install the required system and Xcode onto an external drive or a partition on the internal drive, and boot from that. This allows me to experiment and see whether the transition is going to work.
There is no need, therefore, to guess — which is what it appears you are trying to do.
Related
I want to test my app in iOS 6. Currently I am using Xcode 6
I read some articles that state "you have to download older versions of Xcode (e.g. Xcode 5) and in Xcode 5 download the iOS Simulator 6 and then run in it."
But if I do it like that, I am getting the following errors for only specific XIB files like:
Command /Applications/Xcode 2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool failed with exit code 255
How I can fix this issue?
You are usually able to copy simulators from one Xcode to another, effectively installing the iOS 6 simulator into Xcode 6 like you want to. However, in looking around, it seems as though Xcode 6 doesn't support simulators under iOS 7.
My recommendation would be to install Xcode 4 or 5 and run your app there, but it sounds like you've already developed some of your app using Xcode 6. If that is the case, you'll have a lot of warnings. It's not a good idea to develop an app in a newer version of Xcode then run in an older version. Apple tries to get out the bugs when updating your Xcode version, but I doubt they do much testing or work on supporting downgrading the version.
If your xib files aren't complicated, you might rebuild them in the older version of Xcode and try to run again. There's almost always something that changes in how Apple formats xib files with each version. I believe that's what's causing your problems.
If you want to open xibs made in Xcode > 5 in Xcode 5, you will have to specifically save them in Xcode 5 format:
Of course, then you won't be able to use any modern features, e.g. size classes.
I'm using Xcode 5.1.1 on a MacBook Pro running OS 10.8.5. I've built an iPhone app (my first) using the iOS 7 SDK. Things are very stable, and the app is, I believe, ready for TestFlight.
Now I'm assailed by Xcode 6 and iOS 8. I want to go forward, but am kind of spooked that switching Xcode at this point may run the risk of breaking things. A lot of the reviews I read are negative, but I expect people who have problems are more likely to bellyache than those for whom things go smoothly. OTOH, I read that TestFlight is well-integrated into Xcode 6.
I recognize that answers to this question may be opinion-based, but I haven't found anything specific offering guidance for my particular circumstance.
Should I take the chance and upgrade Xcode and the app, or wait until I've launched, then upgrade and work iOS 8 support into an update?
Afterthought
I just checked and the upgrade to Xcode 6 requires an OSX upgrade to 10.9.3, which adds another layer of terror. :-O
Resolution
Ok, I steeled myself and went forward with the upgrade--Mavericks and Xcode 6. First thing I noticed is that my keyboard isn't appearing in my user input modals. But that's a subject for another post. Other than that, the OS and Xcode seem to be working ok.
Yes! There will be a few adjustments to make, but there always is. The only thing that's caused me extra time so far is Xcode 6 Auto-Layout for iOS 7 devices (e.g. layout margins). But it's not too bad.
Chances are many of your users are already on iPhone 6 and 6 Plus and/or iOS 8. Do you really want to ship to them without optimizing for their devices?
I am currently using xcode 5.1 with Mac 10.8.5. But i can not install ios simulator in this xcode? any one tell me how to install ios 5 simulator ?
Man, this really made me angry today when I upgraded from Xcode 5.0 to Xcode 5.1 and discovered that I no longer had a functional iOS 5.1 simulator. There was nothing in the Software Update process that gave me any heads-up whatsoever that this would disable iOS 5.0/5.1 simulators. Bad Apple! Bad!
Anyway, here's the workaround I came up with. It seems pretty clean.
I noticed that in ~/Library/Caches/com.apple.dt.Xcode/Downloads there was an old file sitting around called Xcode.SDK.iPhoneSimulator.5.1-5.1.dmg (thank god I never cleared out that cache directory).
I double-clicked this disk image to mount it, and then double-clicked the .pkg file inside that. The package installer then placed the contents into a subdirectory of /Platforms.
I then moved /Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk into /Applications/Xcode/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs and restarted Xcode.
Bam. Done. Back in business.
Note: Another approach, if you happen to have a thorough Time Machine backup of your full system, as Pandey Laxman pointed out earlier, is simply to restore the contents of /Applications/Xcode/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk from an older backup. In my case, I wasn't able to do this because my development system is a MacBook Air that I keep backed via Time Machine up onto a permanently-installed 32GB SanDisk Cruzer Fit USB flash drive (as well as two extra Time Machine backups on separate network drives). Anyway, because the backup drive is relatively small, when I first set up Time Machine on this system, I had excluded /Applications from my backup (something I don't recommend doing).
In order to develop for the latest version of iOS, you need the latest iOS SDK, which requires the latest version of XCode, which in turn requires the latest version of OSX (at least as of writing this iOS 8.3 requires XCode 6.3, which requires OSX 10.10 - all the latest and greatest).
I would guess that Apple doesn't want to support iPad 1s and old iPhones anymore running iOS 5. Thus, they've done what they could to discourage developers from supportting them.
I, personal, put a lot of effort into coding to support iOS 5 through 8. I am not in hurry to throw that backwards compatibility away, but obviously developing for the most current version of iOS takes priority.
To get to the point, you can't install or run an iOS 5 simulator on OSX 10.10 Yosemite. I couldn't get an iOS 6 simulator to run either for some reason (even though I was able to install it in XCode 5).
I did, however, find a solution so I could use simulators for iOS 5 through 8 on my machine.
How? Setup a dual boot into an older os and install some software which can no longer be downloaded, but I tracked down.
I've posted the steps and all the software here. Nothing is difficult about any of this, but it will take many hour of downloading and running installations, ect. Reserve a day to do this while working another machine most of the time.
Create a partition on your hard drive from which you can run OSX Lion. I found 32 GB was large enough.
You may also want to create an additional partition at the same time rather than use a flash drive in step 2. I also made it 32 GB, but it could probably be a lot smaller (8? maybe even 4 gig?).
Here's a link to help with that:
http://arstechnica.com/apple/2014/06/how-to-create-a-test-partition-for-the-os-x-yosemite-beta/
Create a bootable installer drive for Lion. You can use a flash drive, or the extra partition suggested in step 1 (that's what I did when the only flash I had on me was acting up).
Here's the os:
OSX 10.7.2 Lion
https://drive.google.com/file/d/0BwmycZWygE8EUlhCYWlOWjlCcHM/view?usp=sharing
Here's directions for doing this:
http://www.tech-recipes.com/rx/11807/os-x-lion-convert-os-x-lion-dmg-installer-to-a-bootable-usb-thumbdrive-install-without-an-optical-drive/
Run the installer. Restart the machine whiling holding down the "option" key on the keyboard to select your boot device.
Once you have Lion up and running, you need to upgrade it to 10.7.5 (sorry I didn't have that to post to begin with).
Simply use the basic software update mechanism to do this.
Install XCode 4.6. Here's the software:
XCode 4.6.3
https://drive.google.com/file/d/0BwmycZWygE8ETnlFQ1BSYVV1ZUE/view?usp=sharing
Normally, you ought to be able to install an iOS 5 simulator via XCode, but Apple has blocked this.
You can however, install it manually as others have described in this thread for the various sdks (as long as you already have the software!)
Here is the software (since we don't have just happen to be lucky enough to have it previously installed):
Sorry, I don't have 5.1, only 5.0
iOS 5.0 Simulator
https://drive.google.com/file/d/0BwmycZWygE8ETndPOFJyUVg0b3M/view?usp=sharing
Install the command line tools if necessary. Again, XCode ought to allow you to do this, but it will fail when you try the normal way. Go ahead and give it a try.
Here's a dmg instead which you can install yourself that is compatible with this setup:
Command Line Tools (XCode 4.6 / OSX 10.7)
https://drive.google.com/file/d/0BwmycZWygE8EWm9QTW5HYV9PUnM/view?usp=sharing
Get your project to build in this new environment. There are permission issues and such when you try to cross over to your primary drive.
I found the easiest way to get everything working was to copy whatever I needed to the Lion drive and make sure all the relative paths were identical.
I also had to play a bit with the code because what compiled for the 7 and 8 sdks didn't work perfectly with this one. That's on you.
I believe the iOS 6 simulator will already be installed for you, but otherwise you should be able to download that still via XCode if needed.
Enjoy having all these simulators now!
you need to copy the simulator SDK to Xcode 5.1.
First copy the simulator SDKs from your previous installed Xcode.
then paste it in
Xcode 5.1 "Show Package Contents->Contents->Developer->Platforms->iPhoneSimulator.Platforms
->Developer->SDKs folder
There restart the Xcode 5.1.
Unfrotunately ,Xcode 5.1 in OS X 10.9 or 10.8.5 the iOS 5 simulator is no longer available.
Better to use some older versions like 4.6 for use iOS 5 simulator
using of Xcode 5 under OS X v10.8 then if you go to Preferences -> Downloads you should see the 5.0 and 5.1 simulators available under Components. You can download and install directly from there.
If you're using Xcode 5 under OS X v10.9 then the iOS 5 simulator is
no longer available.
xCode 5.02 up to available iOS 58 simulator but after updated the xcode through 5.1 the available simulator start from iOS 6
iOS Simulator
Performance issues can arise when running apps within the iOS Simulator on OS X Mavericks with a simulated OS version of iOS 6.1 or earlier.
A workaround is to disable timer coalescing while using the iOS 6.1 or earlier simulator by executing the following command in a Terminal window:
sudo sysctl -w kern.timer.coalescing_enabled=0 (15501929)
https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/xc5_release_notes/xc5_release_notes.html
This question is out-dated. Mavericks is released and everything works fine with Xcode 5 and iOS 6 on an iPod 4th gen.
I'm thinking about upgrading my OS X to Mavericks, but I still want to keep developing my iOS app. I read on the internet that Xcode 4.6.3 is not compatible with Mavericks (OS X 10.9). So, this would force me to use the new Xcode 5. However, Xcode 5 comes along with the new iOS 7 SDK. The problem is that I own an iPod 4th gen, which isn't compatible with iOS 7.
So, has anyone tried this already? I think this should be possible, because at the WWDC 2013, Apple was so proud to tell that more than 90% of the costumers work with the latest iOS, which is currently still iOS 6. But with the release of iOS 7, they will be ruining that fact, because iOS 7 doesn't seem to be compatible with iPod 4th Gen. And a lot of people own such a device.
Did I miss something, or is Apple going to wrong way?
You can install Xcode 4 by temporary editing the System Version.
go to /system/library/coreservices
Find SystemVersion.plist and open it
Change the two bottom numbers (10.9) to 10.8.4 and save
Install Xcode 4
Change those numbers back to 10.9 and save.
Done, You now have Xcode 4 on 10.9 :)
Good Luck!
Yep.
I deploy onto my 4th gen touch from Xcode 5 on ML - not Mavericks, but should be the same.
Note, though, that you won't be able to submit to the App Store from Xcode 5 until just before iOS 7 is released.
Note, though, that you want to install Mavericks onto a seperate partition!!! Don't make it the only OS on your machine until it is released.
I was also running the same problem when I updated to xcode 5 it removed older sdk. But I taken the copy of older SDK from another computer and the same you can download from following link.
http://www.4shared.com/zip/NlPgsxz6/iPhoneOS61sdk.html
(www.4shared.com test account test#yopmail.com/test)
There are 2 ways to work with.
1) Unzip and paste this folder to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs & restart the xcode.
But this might again removed by Xcode if you update xcode.
2) Another way is Unzip and paste where you want and go to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs and create a symbolic link here, so that the SDK will remain same even if you update the Xcode.
Another change I made, Build Setting > Architectures > standard (not 64) so list all the versions of Deployment Target
No need to download the zip if you only wanted to change the deployment target.
Here are some screenshots.
You can install Xcode4 and Xcode5 on the same Maverick system. Just download Xcode 4 from https://developer.apple.com/downloads/ and drag Xcode.app to Desktop, rename it to Xcode4.app and move it to /Applications.
Done!
Correct, change the Deployment Target and set it to 6.1, even im also working on OS X 10.9 but want to use simulator 6.1.3 with Xcode 5. Im little confused that OS X 10.9 is going to support Simulator 6.1.3 with Xcode 5 or not. I want to make Simulator 7.0 look like iphone frame when it runs but nothing happening ...
I only have the Macbook, which I CANNOT upgrade to Lion. I'd like to get started developing IOS applications. I've got an iPod Touch 5.0.1, so I'm good there. My main question is this-
When I finish making my applications and I deploy them to Apple, will they work just fine on other devices, like iPhone 4S 5.1.1?
Also, if I pay the $100 to Apple to develop, will they support my Xcode 4.2 for the whole year?
Will I be able to deploy my applications using this scenario without fear of Apple cutting me off?
Thanks in advance.
Xcode 4.2 is the last officially supported Xcode version that runs on Snow Leopard, but if you do developing on it, anything that works for older iOS's will run on your iDevices running newer OS's. You might be able to get newer SDK's to run with Xcode 4.2 but myself, I wouldn't risk it.
I think the big issue you're going to run into is that if you install a new OS onto your iDevice for testing, you may end up not being able to use your device for testing (in the Xcode organizer). So you probably want to keep at least one device back on the last supported iOS version for Xcode 4.2.
And this should take care of you for the whole year.
And hopefully you'll make enough money from whatever app you're building to afford a Macintosh where you can run Mountain Lion (OS 10.8) and Xcode 4.4 or 5 or whatever will be out a year from now.
Yes.
Yes.
Yes.
It really doesn't matter which Xcode do you have. You can even have Xcode 3 ;)