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.
- 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.
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!
- Fork the project and do your work in a feature branch.
- Make sure everything compiles and existing functionality is not broken.
- Open a pull request.
- 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.
- Chris Ballinger - iOS Development, Map Warping
- David Chiles - iOS Development, Map Styling
- David Brodsky - Android Development, Map Data
- Savannah Henderson - Map Styling
- Andrew Johnstone - Map Data (thank you!!)
- Andrew Johnson - iBurn 2009-2013
- Icons8 - Various icons used throughout the app.
- Icooon Mono - Toilet icon
- William Keller - Last minute 2014 Map fixes
© 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