Running Xcode 4.01 and 4.2 on the same computer? - ios

I am currently running Xcode 4.02 to develop my production products for release to the AppStore. My normal dev system is an i7 iMac and I also use a MBP when away from my office. I want to start testing development for iOS 5 so have downloaded the Xcode 4.2 package and iOS 5 beta and first plan to install it on a my only other Mac, an original MBA that I know from experience of developing on it in a pinch (when my traveling MPB was down and had the MBA sent to me) will be pretty (actually, really) slow.
Preferring of course to have a fast dev system, my question is, can I safely install the Xcode 4.2 developer preview and the iOS 5 beta on my iMac and/or MBP without screwing up my production development environment? I see from the 4.2 release notes that "You can have multiple versions of the Xcode toolset installed.", I assume by installing Xcode 4.2 in a different -Xcode- directory. What make me wary is that the release notes also state that "NOTE: Only one version of the System Tools ... can be installed on a computer at a time. The last installed set of these components replaces any previously installed set."
So is it a good or bad idea to have both Xcode installs on the same computer at the same time or should I stick with installing 4.2 on a different machine and if I really need to have a more powerful system, consider getting a newer box?

You are right, you just need to install in a different directory. Developer is the default, you just need to change it.
As for the System Tools, as far as I know they don't interfere in you ability to release apps to the AppStore. Still, you can uncheck them when installing and Xcode 4.2 will use Xcode 4.0 System Tools without problem (that's what I have right now).

Related

Install ios 5 simulator to xcode 5.1?

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

How to build a MonoTouch app with SDK version 4.x (not target earlier version with current sdk)

I have a legacy application distributed Ad-Hoc that runs on older iPod Touches (running iOS 3.1.3) with a custom connection to rather expensive 3rd party hardware. Unfortunately my annual renewal of the provisioning profile (which also involved rebuilding with the most recent version of XCode that will compile armv6 (4.5) and the corresponding SDK) seems to have broken the app.
I know that you can set the target platform earlier (and I've done that). But my problem seems to be specifically related to the SDK. The hardware these devices interface with is several hundred miles from me so testing is very difficult.
My first set of problems were related to deprecation of the TouchID APIs, but I've worked around that problem. Unforatunately, I still have crashes and they are proving very elusive to debug.
The simplest solution for me would be to just rebuild against the older SDK (4.x). Is this possible? To make matters worse my Mac is running 10.8.4--so there's a limit to how far back I can get XCode working on it.
I was able to get this to work by renaming my current version of XCode to something else, downloading and installing XCode 4.4 something from the developer site. Then I downloaded an earlier version yet and used the techniques described in this post:
Adding Older iOS SDKs to Xcode 4.1 in Lion
To extract the older SDKs. I was then able to copy these SDKs into XCode 4.4 (as described in the post). Now I was able to build using older versions of the SDK.

Developing for IOS on 10.6.4

Ill start developing for IOS but the hardware I got only suport up to 10.6.4
I know that Xcode 4.2 seems to work on Snowleopard...
but the last version requires 10.7.4, in there anyway to make the last version work on the 10.6? If not, if I just use the 4.2, can I still develop with no problems? what Im going to be missing out?
Thanks
Edit: Thanks guys, Ill be building myself a hackintosh...
Older versions of Xcode are still available:
If you can't install the latest version of Xcode on your MAC, you can get older versions at connect.apple.com.
Notes:
However, they won't come with the latest SDKs.
And you can't develop for the latest iOS devices with an old version
of Xcode.
In short, you will probably need to upgrade your hardware in order to develop using the laters version of Xcode.
Apple are very sneaky - they want to sell hardware - so by dropping support for various OS versions in Xcode and not supporting older hardware with newer OSes they are effectively forcing developers to buy the latest hardware to keep up to date with software development.
You can still develop older iOS apps (i.e. using older SDKs and targeting older iOS versions) using an older version of Xcode (Apple do at least make the older versions of Xcode available through the developer portal). However, you'll need to carefully figure out what iOS versions you can target because Apple are also increasing the minimum app specifications in order to submit new apps and updates to the App-Store. So soon enough it won't be possible to submit apps developed using Xcode 4.2 to the store and you will need to update the Apple hardware you develop on if you want to make apps that will be submitted to the store.
The most annoying thing about this is that you can't even use an older Apple computer as a build server. I have a Mac mini which is less than 5 years old and I can't use it for development any more - it would be perfect as a build server!

Using XCode 4.3.3 to build apps for pre IOS 5.0 users

My apologies if this question has been asked before. I can see there are a lot of questions that appear similar, however it seems they are mainly asking to do the reverse of what I am asking here.
I took a break from developing for a few months, because I had sold my macBook, and in the meantime upgraded my iPhone 4 to IOS 5.1 (over wifi)
Before selling the macbook, I made a carbon copy of my drive and made sure it could be booted and used to maintain things (on a borrowed mac).
Anyway I am now back on line with a second hand macbook classic, which came with a fresh Lion install, and whilst the workstation backup drive I made boots up fine, I discovered to my dismay that Xcode 4.2 no longer lets me build to my iPhone, so I had to go ahead and install XCode 4.3.3 Under Lion. 6GB of update downloads and installs later, all is well, however I am now left with a puzzling question.
If I make a new app, it appears to be an IOS 5.1 app, and the only simulator available is IOS 5.1 iPhone and IOS 5.1 iPad. and of course my iPhone device.
so... if I go ahead and submit this app to the app store, (ensuring I don't use any 5.1 specific features), does this mean users with versions of IOS lower than 5.x can still download and deploy the app? I can't test it as there are no simulators, and I only have access to 5.1 installed devices. I tried downloading additional simulators, but the default new project seems to preclude them from the menu system.
What is the best way to make one (1) app that everybody (including 5.x users) can download?
I would have stayed with Xcode 4.2 but this would mean having to trash my iPhone to do device testing.
Alternatively is there some way of going back to my original workstation (4.2) and configure it to allow me to do device testing on my 5.1 device?
In Xcode, select the project file in the project navigator, and then the target. In the first section of the "Summary" tab you have "iOS Application Target". There you can choose earlier iOS versions.
That's all.
In xcode go to preferences command + "," navigate to downloads. choose components tab, and you will find the ios simulators, download the one you wish from there

Macbook 1,1 - IOS 5.0.1 - Xcode 4.2 - If I develop in this, will it work on current gen devices?

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 ;)

Resources