• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

So what are the Windows ports of iTunes and friends using internally?

IPalindromeI

Well-known member
Is it a descendant of the OPENSTEP Enterprise/Yellow Box for Windows stuff? Some new port of Cocoa?

A lot of it appears in %PROGRAMFILES%\Common Files\ AFAIK.

 

nglevin

Well-known member
Disclaimer: I have not reverse engineered iTunes, ever.

From what I recall from people who are more familiar with iTunes, it leverages at least some parts of the C based CoreFoundation. This used to be called CFLite, though I don't believe the latest open source versions of CoreFoundation have the build scripts to build it as such. The latest available version is 855.17, unfortunately version 1151.16, which came with OS X 10.10, is still listed as "coming soon". The complete index of available, open sourced versions of CF can be found on Apple's Open Source website.

Some forks of it exist on Github. One can be found from Apportable's Github repo, as the Apple Public Source license is GPL like in the sense that it requires derived works to open source their changes.

I believe there were also some parts of Carbon that iTunes leverages for the Windows port. These do not seem to have been open sourced in any significant capacity. The best I can find are CarbonHeaders, which describes some of the internal details for enumerated constants used by Carbon, but lacks anything bits as significant as CarbonCore.

I don't believe iTunes on Windows uses any Objective-C. I haven't seen or heard of any evidence that iTunes on Windows leverages the Objective-C/Swift runtime.

EDIT: iTunes on Windows also installs a CFNetwork.dll file, which I assume it depends on for networking. The last open sourced version of CFNetwork (129.20) dates back to Mac OS X 10.4.10, but is nonetheless still functional.

 
Last edited by a moderator:
Top