I'm developing something for Mac OS X. It's a port of a Windows product.
One of my boss' concerns is how it will run on older versions of Mac OS X. I know Xcode has facilities for compiling for old versions of Mac OS X, but QA would prefer to actually run the older versions of Mac OS X on a Macintosh.
Since we got into Macintosh development after Snow Leopard was released, all of our machines come with Snow Leopard (10.6). As far as I know, you can't really walk into a store to buy Leopard (10.5) and anything prior to that is basically extinct.
In a question on virtualization someone said that they've done multi-boot or multiple hard drives for other versions of Mac OS X, but I'm not sure how one would obtain the install media or the license for an old version.
I see Apple has their Mac Developer Program which touts as one of its features as "access pre-release versions of the latest software" which is cool, but I don't see it anywhere on there that old versions of Mac OS X are available. Does Apple have an MSDN-equivalent where old versions of the software are available for download?
Also, is there a reliable breakdown somewhere of the rate of upgrades/updates to Mac OS X? (i.e., what % of users still run Mac OS X 10.5, 10.4, PPC-based machines, etc.)
In case you buy an old OS X from Amazon or other retailers, note that you can not install an OS which was released before the hardware was announced. Older OSes just don't have the required driver to be able to run on a newer machine, and Apple doesn't back-port drivers for older OSes. In other words, if you buy the latest new Mac from Apple, you can't install 10.5 or 10.4 or whatever. So, you need to buy an old Mac too, not just an old OS.
The breakdown of the OS ratio really depends on the software. For example, the veritable Omnigroup publishes this version breakdown of the hits of their software update server. There are many websites which tell you the version break down, see e.g. this site.
Judging from it, I would say Snow Leopard covers half of the Macs in the world. Supporting Leopard might be worth while if you have extra resources. But I would guess people who didn't buy Snow Leopard won't typically buy a new 3rd party app, so supporting Leopard won't give you 50% increase in the number of potential buyers. (I admit this last sentence is completely subjective, though.)
Apple Developer Connection does have most older OS version available for download, but it's not quite from a complete collection (specifically, they're missing a full install of 10.4.anything for Intel CPUs). They do have the GM builds of 10.6.0 (which is Intel only), 10.5.0 (Intel/PPC universal), 10.4.0 (PPC only), 10.3.0, and 10.2.0.
As others have said, you won't be able to use older versions of the OS on newer hardware, so you're going to have to get used computers for testing -- if purchasing doesn't like eBay &c, look for a company that specializes in used equipment, like PC Recycle. For maximum coverage, I'd recommend getting an Intel Mac that shipped with 10.4 (and make sure you get the installer disks that came with it), and a PPC Mac with that's as old as possible while still having a 867MHz+ G4 CPU (so you can run 10.5 on it, and don't have to worry about weird G5 builds) (again, be sure to get its original disks 'cause an older generic installer won't work).
One option (besides acquiring old OS versions yourself) is to use the compatibility labs that Apple maintains. Lots of machines, old and new, already set up with many different versions of the OS.
I believe you can get a "day pass" to the labs for ~$100. Depending on where exactly you're located and the cost of getting to Cupertino, this may or may not be a viable option for you.
http://developer.apple.com/labs/
As others noted, a number of sellers on Amazon have boxed old versions of the OS.
Historically, people used to boot off external Firewire drives to use older or beta OS versions, but of course some of the newer machines lack Firewire ports. I know EFI does support some external boot options (netboot for instance).
It might be possible to boot newer Intel hardware using a late version of 10.4 - but I couldn't guarantee it (as another poster noted, 10.4 won't have relevant hardware drivers - but there are basic generic drivers that may work. Then again, is that a realistic test???).
As an addition to Yuji's post - there are some people who are forced to stick with Leopard or Tiger for compatibility reasons (my father can't upgrade all the machines at his school, because the A3 colour printer only has generic printer support under Snow Leopard, and they also have a lot of older Adobe software). I would say that generally this applies more with institutional customers - for educational software running on 10.4, and even running on PowerPC hardware, can still be a significant issue.
For consumer software - less so - the big spike in Mac sales came after the switch to Intel, and almost all active consumer software purchasers are on Intel machines running 10.5 or later.
The other thing that needs to be considered is that 10.4 is missing many APIs introduced in 10.5 and 10.6.
Related
I would like to know if I can install Xcode with Windows XP.If possible please provide the document link also.Thank you very much for any help in advance...
It's certainly possible.
There are two routes;
Install OSx86 (aka iATKOS / Kalyway) on a second partition/disk and dual boot.
Run Mac OS X Server under VMWare.
The first route requires modifying (or using a pre-modified) image of Leopard that can be installed on a regular PC. This is not as hard as you would think, although your success/effort ratio will depend upon how closely the hardware in your PC matches that in Mac hardware - e.g. if you're running a Core 2 Duo on an Intel Motherboard, with a NVidia graphics card you are laughing. If you're running an AMD machine or something without SSE3 it gets a little more involved.
If you purchase (or already own) a version of Leopard then this is a gray area since the Leopard EULA states you may only run it on an "Apple Labeled" machine. As many point out if you stick an Apple sticker on your PC you're probably covered.
The second option is the more costly. The EULA for the workstation version of Leopard prevents it from being run under emulation and as a result there's no support in VMWare for this. Leopard server however CAN be run under emulation and can be used for desktop purposes. Leopard server and VMWare are expensive however.
If you're interested in option 1) I would suggest starting at Insanelymac and reading the OSx86 sections.
I do think you should consider whether the time you will invest is going to be worth the money you will save though. It was for me because I enjoy tinkering with this type of stuff and I started during the early iPhone betas, months before their App Store became available.
Alternatively you could pickup a low-spec Mac Mini from eBay. You don't need much horse power to run the SDK and you can always sell it on later if you decide to stop development or buy a better Mac.
No. You can not install XCode on a Windows machine. You need MacOS to run XCode.
Although you can install VMWare Server on your windows machine and then install MacOS on that virtual server and can install the XCode on that MacOS server.
But to install MacOS(VMWare server) and start working on it. your hardware must support virtualization.
To install VMWare following links might be useful.
http://www.petri.co.il/virtual_install_vmware_server.htm
http://www.virtuatopia.com/index.php/Installing_VMware_Server_2.0_on_Windows_Systems
Or there is always Google.
YOu can check if your CPU supports virtualization here.
Since Xcode is an software of Mac OS so its not possible to run Xcode without Mac OS. And for Mac OS you can dual boot your computer with a Mac OS or simply you can just use VMWare to install Mac OS in your laptop or PC. Just the necessary requirement for installing Mac OS through Dual boot or through VMWare is that you need really high configuration in your laptop or PC, Like atleast you require 5th Generation core processor with atleast 4 cores also you require more than 4GB RAM for better functioning of Mac OS. Mac OS can be installed with 2nd generation processors, Dual core, and 2 GB RAM but it will take too much time. Which is not worth installing Mac OS in your laptop or PC. And even after installing you won't be able to use Xcode efficiently with such a low configuration. So it is recommended to have 5th Generation processor with 4 core and atleast 4GB RAM.
If you have this configuration than you need some files and software to install Mac OS in your Laptop.
For installation through VMWare you can prefer to this video: https://www.youtube.com/watch?v=wodqGvug6e0
And I have the required file for the same as in video but not uploaded to the internet.
I created an application for the latest version of Mac OS X (Lion). My application uses ARC. I would however like it to be able to run on earlier versions of OS X.
My xcode says the earliest deployment target I can go is 10.4
By setting it to 10.4 does that mean I have done all that is required for my application to run on earlier versions of the OS up to 10.4?
Any help would be awesome thanks
There are a ton of API differences between 10.4 and Lion. Without seeing your app I cannot say for sure, but I would expect that it would not work correctly on 10.4 without some major changes. My suggestion is to forget about 10.4. I would be surprised if even 1% of OS X users are still running it. Stick with 10.6+ and you should be fine.
Whatever you do, only support versions that you have the ability to test on. If you don't have the capability to test on 10.6 you might even consider just supporting 10.7. If you cannot test on all of your deployment targets then you are setting yourself up for some pain.
ARC isn't supported for OS X 10.4 or 10.5. ARC is supported on 10.6, but has some problems that are not present on 10.7 (see question on this site). This isn't a show-stopper, but you should be aware of it if you use weak references.
According to Chitika (source), based on web traffic as of November 2011, 94% of Mac users were using 10.5 or newer and 72% were using 10.6 or newer. Those who haven't upgraded to 10.6 are less likely to be paying customers.
In my experience, developing a Mac application against an older SDK generally works without a hitch, but if you don't have access to an older system then you should warn your users that your application is untested on older systems. This is an unfortunate reality for independent developers. For example,
This application has been tested and runs on OS X 10.7. It may also run on OS X 10.6 but it has not been tested. OS X 10.5 and earlier are not supported.
To put it in perspective, OS X 10.4 was released in 2005. The last security update for it was 2009.
I've been developing for the Mac for the last 10 years, and my rule of thumb is it's usually OK to target the current OS version and only the previous one. Maybe even just the current version, if there's a compelling reason (new API) or the public knows a new OS version is coming out soon.
Example: in Spring 2012 everyone knows that OS X 10.8 will be released in the Summer, so new products I'd develop just on 10.7 with an eye towards 10.8.
There are a few markets where you'd want to do anything different (education being one), but these are few, far between, and usually only apply to long standing products.
On Windows, testing different OSes is made simple using VMs. Is there a simple way to do something similar for Mac testing, where I might need to run on Tiger/Leopard/Snow Leopard to verify functionality?
AFAICT, to run OS X in a VM you need OSX server or buy multiple Macs - is that what folks out there do? Or are there other cheaper options?
Due to the license, you must use Mac OS X Server if you'd like to virtualize. If you get an early Intel mac that will run 10.4, you could partition the disk and install 10.4, 10.5, and 10.6 simultaneously, though rebooting in to each OS can be a hassle.
These days there are more Mac OS X variants to test than just major OS releases. Depending on your target customers, you might also want to test on PPC, i386, and x86_64 architectures.
If you're lucky enough to live near Cupertino, Beijing, or Tokyo, and you're an ADC Select or Premiere member, you can use the ADC compatibility labs for this sort of testing.
That said, you could probably pick up a couple of older machines pretty inexpensively and get somewhat varied hardware.
You could have a single Mac with different partitions for each OS, or you could virtualise OS X server. Within the constraints of Apple's Mac OS X EULA you cannot virtualise Mac OS X.
The paid-for memberships of Apple's developer connection include the ability to download and use a range of previous versions of OS X and OS X Server for developer testing purposes. As the select membership is $500 and OS X Server is $499 then I'd think that's going to be cheaper if you want to test more than one variant of the server.
In 10.5, Apple released a read-only kernel extension/filesystem to allow ZFS pools to be mounted. A later open-source project was hosted at http://zfs.macosforge.org and was announced to be part of 10.6, but shortly before the public release ZFS was yanked, and recently, the Apple-hosted MacOSForge site has closed down the ZFS project.
So, what's the status of ZFS on Mac OS X? Is it worth using? Why would anyone be wanting to use ZFS anyway?
There have been many speculated reasons on the demise of ZFS on Mac OS X. About the only thing that you can say is that (a) it has been deprecated, almost certainly for good, and (b) that no-one knows the real reason why, or at least, isn't saying.
Update Jeff Bonwick, creator of ZFS, suggests that it was a lack of an agreement on (commercial) licensing that was the blocker.
Answers from lawsuits and patent litigation to excessive licensing fees and the impact of the Snoracle deal have been suggested; another is system stability. However, the why is somewhat unimportant, since the end result is the same - Apple no longer support ZFS on Mac OS X.
Does this mean this is the end of ZFS on Mac OS X? Not necessarily. Before the project was yanked, enterprising individuals made copies of the SVN repository (on GitHub Peaceful, Dustin, AlBlue) and of the last publicly available installers and installers were cached on the google group zfs-macos).
A new Google Code project has been set up to take over the maintenance and on-going development of the ZFS extension, and a mailing list exists with 90 members, mostly from the old Apple-hosted list.
The previous ZFS builds works on Leopard and a new build for the 64-bit Snow Leopard has been made available. Work will continue and hopefully port forward some of the later enhancements to ZFS that have been made on the OpenSolaris group since the Mac fork occurred at build 72.
Whilst Apple is looking to recruit new filesystem developers, and is likely looking to extend the increasingly crufty HFS or take lessons learned from ZFS and apply those to the next generation filesystem, probably making its appearance in 10.7 or afterwards.
In the meantime, the ZFS project continues to live on in a new location.
ZFS for OSX/macOS is under active development. The project https://openzfsonosx.org/ has downloads for Sierra 10.12 from earlier in 2017 see the FAQ for details.
As an update to this, ZFS binaries have been made available from the old Apple build and ported to Snow Leopard, and many people are using these already. The code has been synchronised with the upstream OpenSolaris codebase, and more recently, Apple has released the CDDL parts of their previously available ZFS port to developers. So it looks like for the Snow Leopard timeframe at least, ZFS will live on on Mac OS X.
It is Discontinued. So support might be tough, no?
I would like to test software designed to run on a Mac and would need a couple of OS versions (old ones, too) and maybe other Mac software to set up my (virtual) test machines.
For the same scenario on Windows, I can use the licenses available via TechNet or MSDN subscriptions. At the ADC Mac Dev Center, I couldn't find any specific information as to what is available. Does an ADC membership get me downloads of software / OS's to test against? If not, what is available?
Bear in mind that I don't believe any version of Mac OS (barring OS X Server) is licensed for use in a VM. In theory, if you want to test different versions of the OS you'll need to do either multiple installs on a single system (My first iMac came with OS 9 and OS X installed this way, not sure you could get multiple OS X versions installed on a single box) or have lots of boxes.
Yes it does. You can download the operating systems as well as betas (although not as early as "proper" beta testers).