Giter Club home page Giter Club logo

foundation's Introduction

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 [email protected]: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

[email protected]

foundation's People

Contributors

collinjackson avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.