.fx Files
Elements for Cocoa uses .fx
files to reference frameworks and libraries from the compiler and the IDE. You can think of .fx files as "pre-compiled headers", binary files that encapsulate all the metadata gathered from a framework's or library's .h files. This allows both the compiler and the IDE intelligence (such as Code Completion) to know the contents of a framework or library without having to reparse the .h files (which can be slow).
You can read more about .fx
files here.
Elements comes with pre-built .fx files for all the frameworks in the [macOS SDK](macOS, iOS SDK, tvOS SDK and watchOS SDK versions that are officially supported, as well as for a few select non-framework libraries (such as libsqlite3
, libxml
and libz
). You can also generate .fx files for other SDK versions (such as betas) yourself using the FXGen tool as described in Importing New SDKs, and you can import additional non-SDK frameworks and libraries (such as open source libraries, commercial ones, or even your own libraries written in Objective-C) as well, as explained in Import Projects.
When compiling your own library projects with Elements, .fx files will automatically be generated (in addition to the binary and .h files for use from Objective-C), so that other Elements projects can use your library right away.
Supported SDKs
Elements for Cocoa is designed to be able to work with any version of Apple's macOS, iOS, tvOS and watchOS SDKs. The product ships with support for the latest SDKs that are officially released at the time an Elements version was built.
Support for newer SDKs can usually be downloaded within a few days of the new Xcode's availability, here, but pending any drastic and unexpected changes to the tool chain for Apple's SDKs, you can also import newer or beta SDKs using the FXGen tool that is included in the Fire, even if we have not gotten around to supporting them officially yet.
You can also use FXGen to import older SDKs that we do not ship .fx
for anymore, or download them from here. We expect Elements for Cocoa to work with any SDK as far back as iOS 5.0 and OS X 10.6 (and newer, of course), and with Xcode 5 or kater. We have not tested Elements and FXGen with SDK and Xcode versions prior to that, and do not officially support those.
See Importing New SDKs for more details on this.
You really should be using the latest released Xcode and SDKs (or newer betas), and setting Deployment Targets to support older devices.