Version 1.3.1
This is Phunware's iOS SDK for the MaaS Core module. Visit http://maas.phunware.com/ for more details and to sign up.
- iOS 6.0 or greater
- Xcode 6 or greater
MaaS Core documentation is included in the Documents folder in the repository as both HTML and as a .docset. You can also find the latest documentation here: http://phunware.github.io/maas-core-ios-sdk/
MaaS Core is a required dependency for all MaaS modules.
It's recommended that you add MaaSCore.framework to the 'Vendor/Phunware' directory. Then add the MaaSCore.framework to your Xcode project.
The following frameworks are required:
SystemConfiguration.framework
MobileCoreServices.framework
QuartzCore.framework
CoreTelephony.framework
Security.framework
The following frameworks are optional:
CoreLocation.framework
NOTE: CoreLocation is used for comprehensive analytics. Apple mandates that your app have a good reason for enabling location services. Apple will deny your app if location is not a core feature for your app.
After specifying the frameworks, you will need to add a linker flag to your build target.
To do this:
- Navigate to your build target.
- Navigate to the Build Settings tab.
- Find the Linking Section -> Other Linker Flags
- Add "-ObjC" to Other Linker Flags
You can now proceed with installation of additional MaaS modules.
At the top of your application delegate implementation (.m) file, add the following:
#import <MaaSCore/MaaSCore.h>Inside your application delegate, you will need to initialize MaaS Core in the application:didFinishLaunchingWithOptions: method:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// These values can be found for your application in the MaaS portal (http://maas.phunware.com/clients)
[MaaSCore setApplicationID:@"APPLICATION_ID"
setAccessKey:@"ACCESS_KEY"
signatureKey:@"SIGNATURE_KEY"
encryptionKey:@"ENCRYPT_KEY"]; // Currently unused. You can place any NSString value here
// OPTIONAL: If you want to enable logging in MaaS Core, call the following:
[MaaSCore setLoggingLevel:MaaSLogLevel_Debug forService:[MaaSCore serviceName]];
...
}MaaS Core uses the following third-party components. All components are prefixed so you won't have to worry about namespace collisions.
| Component | Description | License |
|---|---|---|
| AFNetworking | A delightful iOS and OS X networking framework. | MIT |
| RNCryptor | CCCryptor (AES encryption) wrappers for iOS and Mac. | MIT |
| NSOperationStack | A LIFO (Last-In, First-Out) queuing extension for NSOperationQueue. | MIT |
| TMCache | Fast parallel object cache for iOS and OS X. | Apache 2.0 |