XCode Project Layout

The XCode project is laid out such that the common cross platform code related to reading using Assimp and transforming it to a Scene Kit scene graph is reused for both the iOS and macOS platforms. The testing code is similary reused for both the platforms.

../_images/xcode-layout.png

Common Code

The common code, including both sources and tests, is placed under Code/Model. This common code is then used in 4 targets, 2 of which ship the iOS and macOS frameworks while the other two are testing targets.

Targets

The project contains the following 4 targets.

AssimpKit-iOS

This target builds the AssimpKit.framework for the iOS platform using the common code.

AssimpKit-macOS

This target builds the AssimpKit.framework for the macOS platform using the common code.

AssimpKitTests_iOS

This target tests the common code using the test assets for the iOS platform.

AssimpKitTests_macOS

This target tests the common code using the test assets for the macOS platform.

Example Apps

The library also contains 2 example apps iOS-Example.xcodeproj and OSX-Example.xcodeproj which are configured for the AssimpKit.framework depedency. You can read more about the Example Apps.

Changing Code

Any code change either for fixing a bug or adding a new feature, should ideally result in updates to the test code as well as example apps.