Skip to content

iBurnApp/iBurn-iOS

Repository files navigation

Build Status

iBurn is an offline map and guide for the Burning Man art festival. Following the 2014 rewrite, the 2015 release has been updated for iOS 8 and we're starting to write new code in Swift. We decided to use YapDatabase+Mantle instead of Core Data, and Mapbox instead of MapKit for our offline map tiles. For a more complete list check out our Podfile. For users of Android devices, we also develop a version of iBurn for Android.

iBurn App Store Link iBurn Google Play Store Link

Screenshots

Screenshot 1 Screenshot 2

Installation

  • Install Cocoapods and the most recent version of Xcode.
  • Fetch submodules and install Pods.
$ git clone https://github.com/iBurnApp/iBurn-iOS.git
$ cd iBurn-iOS/
$ git submodule update --init
$ pod install
  • Download camp data from PlayaEvents (we can't ship ours due to BMorg's location data embargo)
$ curl -o ./Submodules/iBurn-Data/data/2015/2015/camps.json.js http://playaevents.burningman.org/api/0.2/2015/camp/
  • open iBurn.xcworkspace (not the .xcodeproj file!)

  • Create BRCSecrets.m and fill it with the following contents:

     NSString * const kBRCHockeyBetaIdentifier = @"";
     NSString * const kBRCHockeyLiveIdentifier = @"";
     // To generate new passcode (without salt):
     // $ echo -n passcode | sha256sum
     NSString * const kBRCEmbargoPasscodeSHA256Hash = @"";
     NSString * const kBRCUpdatesURLString = @"";
     NSString * const kBRCMapBoxStyleURL = @"https://example.com";
     NSString * const kBRCMapBoxAccessToken = @"";
    
  • Create InfoPlistSecrets.h and add

#define MAPBOX_ACCESS_TOKEN test
#define CRASHLYTICS_API_TOKEN test

or run these commands:

$ echo -e "NSString * const kBRCHockeyBetaIdentifier = @\"\";\nNSString * const kBRCHockeyLiveIdentifier = @\"\";\nNSString * const kBRCEmbargoPasscodeSHA256Hash = @\"\";\nNSString * const kBRCUpdatesURLString = @\"\";\n NSString * const kBRCMapBoxStyleURL = @\"https://example.com\";\nNSString * const kBRCMapBoxAccessToken = @\"\";\n" > ./iBurn/BRCSecrets.m
$ echo -e "#define MAPBOX_ACCESS_TOKEN test\n#define CRASHLYTICS_API_TOKEN test\n" > ./iBurn/InfoPlistSecrets.h
  • Create .env file: (optional)
CRASHLYTICS_API_TOKEN=""
  • Create iBurn/crashlytics.sh file: (optional)
"${PODS_ROOT}/Fabric/run" $CRASHLYTICS_API_TOKEN $CRASHLYTICS_BUILD_SECRET
  • Compile and Run!

Note: Camp, Art and Event location data are embargoed by BMorg until the gates open each year. There isn't anything we can do about this until BMorg changes their policy. Sorry!

Fortunately, you can still run and test the app without it.

Contributing

Thank you for your interest in contributing to iBurn! Please open up an issue on our tracker before starting work on major interface or functionality changes. The easiest place to start is the list of bugs on the issue tracker. Otherwise, feel free to run wild!

  1. Fork the project and do your work in a feature branch.
  2. Make sure everything compiles and existing functionality is not broken.
  3. Open a pull request.
  4. Thank you! :)

Your contributions will need to be licensed to us under the MPL 2.0 and will be distributed under the terms of the MPL 2.0.

Authors

Attribution

License

© 2015 Chris Ballinger, David Chiles

Code: MPL 2.0 (similar to the LGPL in terms of copyleft but more compatible with the App Store)

Data: CC BY-SA 4.0