Skip to content
No description, website, or topics provided.
C Objective-C C++ Python Assembly JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
System Latest source drop Dec 3, 2014
XcodeTemplates/JNI Application.xctemplate Hello example fix and documentation improvement Oct 21, 2014
docs Update docs for new SBAndroid packaging Nov 5, 2014
tests Update to CFLite based Foundation Oct 21, 2014
.gitignore Update to CFLite based Foundation Oct 21, 2014
CONTRIBUTING.md Update to CFLite based Foundation Oct 21, 2014
LICENSE Update to CFLite based Foundation Oct 21, 2014
README.md Update docs for new SBAndroid packaging Nov 5, 2014
authors.md fix typo Oct 21, 2014

README.md

ApportableFoundation

ApportableFoundation is an open source implementation of Apple's Foundation Framework that extends Apple's open sourced CoreFoundation CFLite implementation. When paired with Apportable's freely available SpriteBuilder Android plugin, this repository provides a buildable and runnable Foundation for the Android platform.

In addition to our appreciation to Apple for open sourcing CFLite, we owe a debt of gratitude to other Foundation open source implementations - notably GNUstep and Cocotron.

More generally, Apportable has been an active open source user and contributor throughout its history.

Thanks to everyone who has contributed to ApportableFoundation!

Components

ApportableFoundation consists of three modules - Foundation, CoreFoundation, and CFNetwork. It also includes several private headers required to build these three modules.

Installation

  • System Requirements:

    • Xcode 6
    • OSX 10.9+
  • git clone git@github.com:apportable/Foundation.git

Building and running ApportableFoundation depend upon lower level include files and libraries that are available in the Xcode Plugin that is packaged in the SpriteBuilder Android Plugin.

  • Install the SpriteBuilder Android plugin.

  • Early versions of the SpriteBuilder Android plugin are missing Xcode templates.

    • Check:
      • ls -l /Library/SBAndroid/Developer/Xcode/Templates/Project\ Templates/Application/JNI\ Application.xctemplate
    • If it doesn't exist:
      • cp -r XcodeTemplates/JNI\ Application.xctemplate ~/Library/Developer/Xcode/Templates/Project\ Templates/Application

Back up

Before building this repo, back up the installed version of the module you plan to build.

For example:

  • mkdir backup
  • cp -rp /"Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/Foundation.framework" backup
  • cp -rp /"Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/CoreFoundation.framework" backup
  • cp -rp /"Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/CFNetwork.framework" backup

Xcode Build

To Build Foundation:

  • Open System/Foundation/Foundation.xcodeproj
  • Click the Build arrow in Xcode
  • sudo rm -rf "/Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/Foundation.framework"
  • sudo cp -rp ~/Library/Application\ Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/Foundation.framework "/Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks"/

Similar for CoreFoundation and CFNetwork.

Note that the SpriteBuilder Android plugin must be installed.

Command Line Build

  • cd System/Foundation
  • xcodebuild -config Debug
  • or xcodebuild -config Release
  • sudo rm -rf "/Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/Foundation.framework"
  • sudo cp -rp ~/Library/Application\ Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks/Foundation.framework "/Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid0.9.sdk/System/Library/Frameworks"/

Similar for CoreFoundation and CFNetwork.

Note that the SpriteBuilder Android plugin must be installed.

Examples/Tutorials

Forum

Ask and answer questions on the Apportable Open Source Forum

Contributing

Check out the Contributor's Guide

Contact

opensource@apportable.com

You can’t perform that action at this time.