OS X 10.7 or higher, Intel Mac and a copy of the OS X 10.6 SDK (not supplied). |
Drag the FixSDK application to your hard drive. The Applications folder is the typical location. |
Obstacle | FB release 5.7.6 requires QuickDraw headers to build standard applications (even if those applications don't use QuickDraw - special builds with -DDECARBONATE -m64 notwithstanding). Like all headers, QuickDraw headers are located in the OS X 10.6 SDK (Software Development Kit). Apple removed the QuickDraw headers in OS X 10.7 and they haven't been reinstated as of the 10.9 SDK (and probably won't ever be). The FBtoC team limited FB's Build Settings SDK selection to 10.6 and lower due to the Apple header changes and FB's current dependence on QuickDraw. | |
Problem | FB programmers currently must write their own declarations for any new API calls in OS X 10.7+. If they could select the appropriate( 10.7, 10.8, 10.9 ) SDK during the Build process, the access would be virtually automatic. | |
Solution | Involves two steps: | |
(1) Make changes to FB/FBtoC to allow selection (in Build Settings) and processing of 10.7+ SDKs. This has been done and the version is available on the FBtoC web site. | ||
(2) Copy the QuickDraw headers from a 10.6 SDK and populate the 10.7+ SDK appropriately so FB’s build can find them. FixSDK provides this piece of the solution and also a way to reverse it. |
Fix | Click the "Fix" button for the corresponding SDK or press the 'Fix All' button. | ||
Restore | Click the "Restore" button for the corresponding SDK or press the 'Restore All' button. | ||
Export/Import | Every Xcode update (usually) only contains the latest OS SDK. The 'Export All' button allows the user to make a backup of all currently installed SDKs to an external directory. Import reverses the process, copying an individual SDK or a directory of SDKs to Xcode. Note: to export a single SDK, alt-click the Fix/Restore button next to the SDK. |
FixSDK should be included in the normal Xcode update cycle but otherwise only needs to be run once for each SDK. |