white label ios application installation and … · character encoding. run ... the next step is to...
TRANSCRIPT
Background
§ Application built for civic agencies to bring voting information to the public
§ Code written to make deployment easy, without extensive iOS development experience
Background - API
Response includes: § Contest and Referendum § Candidate information § Polling locations § Local voting information
Background – White Label
§ App not in the App Store, but ready to deploy
§ Customizable text and images § Feature complete and ready to go
Background – Open Source
§ BSD 3-Clause License § https://github.com/votinginfoproject/ ios7-white-label-app
Basic Requirements
§ Macintosh computer with a recent version of OSX
§ Xcode 5+ (for iOS 7 apps) § Xcode command line tools installed § Technical proficiency on a Mac
Setup – before you start
First, get your API keys: § Google Civic Information API Key § Google Maps iOS SDK API Key § Google Directions API Key § Google Analytics Tracking ID
Setup – Dependencies
Xcode – required for iOS development, in the App Store Git – should be installed on the Mac with Xcode $ git --help
CocoaPods – a dependency manager for Objective C projects $ sudo gem install cocoapods
Setup – get the code
Go to https://github.com/votinginfoproject/ios7-white-label-app
Copy the HTTPS clone URL In Terminal, clone the repo:
$ git clone https://github.com/votinginfoproject/ios7-white-label-app.git
Setup – install dependencies
Navigate to the app’s working directory:
$ cd ios7-white-label-app/objc/VotingInformationProject/
Install dependencies with CocoaPods $ pod install
Setup – Settings
Navigate one more level in: $ cd VotingInformationProject
Copy the settings template files $ cp CivicAPIKey.plist.template CivicAPIKey.plist$ cp settings.plist.template settings.plist
Setup – Settings
In Xcode, in the left sidebar, find and click on VotingInformationProject/ Resources/ settings.plist
Setup – Settings Get your API keys together and update the .plist file. You can also do this with a plain text editor. Update the GoogleMapsAPIKey, GoogleAnalyticsTrackingID, and GoogleDirectionsAPIKey Also, update the BrandNameText with what you want the app to be called.
Setup – Settings
In Xcode, in the left sidebar, find and click on VotingInformationProject/ Resources/ CivicAPIKey.plist
Setup – Build the project
Click the “Play” button in the top left of the Xcode window: If everything works, you should get a success message:
Run – Additional Configurations
There are a few more things to consider before packaging the app for submittal to the App Store § About, Terms, and Privacy Policy content § Customized images § Additional language support
Run – Additional Configurations
About, Terms, and Privacy Policy content are in Resources/Localizable.strings
Run – Additional Configurations
Edit, save, and rebuild You can change any of the text in Xcode or a plain text editor that supports UTF-16 character encoding.
Run – Additional Configurations
Translations are also in Resources/Localizable.strings
Spanish translations are not available yet, but are in progress
Run – Additional Configurations
Additional languages can be added by navigating to the project settings… and adding a new language. A new strings file will be created automatically
Run – Additional Configurations
Customize the app’s images by updating files in the Resources/Images directory Tips: § Use the same name § Keep the same pixel
dimensions
Run – Additional Configurations
Customize the AppIcons, Background, and LaunchScreen images for a complete visual rebranding. You don’t need to change these, though.
Publish
That’s everything for setup and configuration! The next step is to package the app and submit it to the App Store. Apple has lots of documentation on this process.
Publish
The process takes some time to work through, but isn’t particularly difficult. Many of the issues you may encounter are not new, and resolutions can likely be found with a quick Google search. If additional technical support is needed, contact: Jared Marcotte at [email protected]