RE: 10.6 SDK for Xcode 4.4?
RE: 10.6 SDK for Xcode 4.4?
- Subject: RE: 10.6 SDK for Xcode 4.4?
- From: "Dallman, John" <email@hidden>
- Date: Thu, 26 Jul 2012 19:20:27 +0000
- Thread-topic: 10.6 SDK for Xcode 4.4?
Jeff Johnson wrote:
> We can't truly support an app on an OS version without being able to build
> and debug the app on that OS, so deployment target is not sufficient.
Same here.
> Until today, when 10.8 became the latest released OS, we supported only the
> latest OS (10.7) and the previous version (10.6), which is a very common
> practice for developers. We will eventually drop 10.6 support, but it isn't
> going to happen overnight. We need a way to handle 10.6, 10.7, and 10.8
> simultaneously, and Xcode fails us here.
Our solution to this is More Hardware. For the product I work on, we release
a major and minor version each year: major in spring, minor in fall. Since we
have always had to support each version for more years than Apple supported
an OS version - we ship an updated build of each of the 3-4 active versions
every few weeks - we simply bought new hardware for each Mac OS X version we
built on.
This was tolerable because we don't develop on Macs: the software is cross-
platform and the development is mostly on Windows with some Linux. So we only
needed Macs as build/test machines, which can be used for debugging if we get
a Mac-specific issue. So we don't need very many, but we did need to buy enough
to allow for the odd breakdown, because in two year's time, you can't buy a
machine that will run an old Mac OS X. This didn't really encourage us to move
to doing more development on Macs.
We also don’t use Xcode as an IDE, since we develop in a language it doesn't
support: we just use the command-line tools, so we don't worry about wanting
to use a new IDE for older versions of the product.
We always built stuff for backwards compatibility, so that we could move
forwards and stay on supported OSes. This meant that we couldn't use new
features of Mac OS X swiftly, but since we do mathematical modelling rather
than consumer apps, this was tolerable, if annoying. For example, we couldn't
move to using GCD for threading until we started building on 10.7, since GCD
came in at 10.6, but our builds on 10.6 had to be backwards-compatible to 10.5.
> And using different SDKs on different OS versions is not a good option,
> because the shipping version of the app can only use one of the SDKs, and
> Apple's frameworks can behave very differently depending on the SDK you
> compile against.
With the announcement of the one-year release cycle, and only one version's
worth of backwards compatibility from SDKs, we had to change the plan. So
now the cycle works like this:
Mid-year: Apple ships a new OS and tools. We buy a new set of machines to
run them.
Fall: We ship the new minor version of the product. There are two builds:
one on the new OS, with backwards compatibility to the previous OS, and one
on the pervious OS, with backwards compatibility to the OS before that. So
this fall, I'll ship a new minor version, with two different builds. The
first one is built on 10.8 with backwards compatibility to 10.7, using the
newly-purchased machines. The second is built on 10.7 with backwards
compatibility to 10.6, using the machines we bought last year. Both of those
will get updates for two years or more, and the machines that build them are
dedicated to that work. So when a machine drops out of being used for
regular support, it may be useful for prototyping something, but quite likely
it's old enough that it gets scrapped.
Spring: we ship a new major version, only on the latest OS. So in spring
2013 I'll ship a new version built on 10.8 with backwards compatibility
to 10.7. The minor version
Mid-year, another release, and the cycle starts again.
This is tolerable for a large business that is hoping that customer uptake
on Mac will increase. I don't know if the income from Mac actually justifies
buying all these machines at present, and the amount of manpower that has been
and will be eaten up this year doing two platform updates, to 10.7 and then
10.8, is a further problem.
And no, this product is not on the App Store. It is really not a consumer
product.
--
John Dallman
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden