AppwiseCore 0.8.10

AppwiseCore 0.8.10

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Mar 2018
SPMSupports SPM

Maintained by David Jennes.


Downloads

Total1,418
Week10
Month200

Installs

Apps32
Apps WeekApps This Week 4
Pod Tries8
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. We recommend you use Bundler to manage gems, but you can manually 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:

$ bundle exec 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.

We recommend you take a look at the Example project, it contains most of the basic structure we use in each project.

Fabric integration

When using AppwiseCore, you'll want to add Crashlytics logging to your project. To do so, add (and use) the following application service (see source):

import AppwiseCore
import Crashlytics
import CrashlyticsRecorder
import Fabric

final class FabricApplicationService: NSObject, ApplicationService {
	func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]? = nil) -> Bool {
		Fabric.with([Crashlytics()])
		_ = CrashlyticsRecorder.createSharedInstance(crashlytics: Crashlytics.sharedInstance())
		_ = AnswersRecorder.createSharedInstance(answers: Answers.self)

		return true
	}
}

// MARK: - Conform Crashlytics & Fabric to recorder protocol

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

extension Answers: AnswersProtocol {
}

Author

David Jennes

License

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