AppwiseCore 0.8.1

AppwiseCore 0.8.1

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jan 2018
SPMSupports SPM

Maintained by David Jennes.


Downloads

Total868
Week24
Month161

Installs

Apps25
Apps WeekApps This Week 6
Pod Tries1
powered by Segment

GitHub

Stars1
Watchers1
Forks0
Issues0
Contributors1
Pull Requests0

Code

Files30
LOCLines of Code 1,385


  • By
  • David Jennes

AppwiseCore

Version
License
Platform
Swift version

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate AppwiseCore into your Xcode project using CocoaPods, specify it in your Podfile:

use_frameworks!

pod 'AppwiseCore'

Then, run the following command:

$ pod install

Usage

Create an implementation of the Config protocol, and a subclass of the generic AppDelegate class (referencing your config type). If you use networking functionality, it's recommended to use the Router and Client types.

If you need database functionality, additionally add the "AppwiseCore/CoreData" dependency. It will automatically be initialised as long as you've implemented the AppDelegate & Config types.

Fabric integration

When using, you'll want to add Crashlytics logging to your project. To do so, add the following logger to your project:

import Crashlytics
import CrashlyticsRecorder

extension Crashlytics: CrashlyticsProtocol {
	public func log(_ format: String, args: CVaListPointer) {
		#if DEBUG
			CLSNSLogv(format, args)
		#else
			CLSLogv(format, args)
		#endif
	}
}

extension Answers: AnswersProtocol {
}

And then create the needed recorders in your app delegate:

@UIApplicationMain
final class AppDelegate: AppwiseCore.AppDelegate<Config> {
	override func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
		guard super.application(application, willFinishLaunchingWithOptions: launchOptions) else { return false }

		// initialize fabric
		Fabric.with([Crashlytics()])
		_ = CrashlyticsRecorder.createSharedInstance(crashlytics: Crashlytics.sharedInstance())
		_ = AnswersRecorder.createSharedInstance(answers: Answers.self)
		
		return true
	}
}

Author

David Jennes

License

AppwiseCore is available under the MIT license. See the LICENSE file for more info.