/evernote-cloud-sdk-ios

Evernote Cloud SDK for iOS

Primary LanguageObjective-COtherNOASSERTION

Evernote Logo

Evernote Cloud SDK 3.0 for iOS

This is the official Evernote SDK for iOS. To get started, follow the instructions bellow. Additional information can be found in the Getting Started Guide.

More information about our developer program can be found here: Evernote Developers

Installation

Cocoapods

pod 'EvernoteSDK', '~> 3.0'

Manually

Drag & Drop evernote-sdk-ios.xcodeproj into your project.

Now open your target's Build Phases and add the following items to your Link Binary With Libraries section:

  • EvernoteSDKiOS.framework
  • MobileCoreServices.framework
  • libxml2.dylib

Configuration

Users will have the fastest OAuth experience in your app if they already have the Evernote app installed. When this is the case, the authentication process will bounce to the Evernote app and authenticate without the user needing to enter their credentials at all. To enable this add following two properties to your Info.plist:

Note When your app is in development and uses the "sandbox" environment, authentication will always use web-based OAuth, even if you have the Evernote app installed. After upgrading to a production consumer key, be sure to test authentication again with the Evernote app.

Usage

API Token

Register for an Evernote API key (and secret)...

You can do this on the Evernote Developers portal page. Most applications will want to do this-- it's easy and instant. During development, you will point your app at Evernote's "sandbox" development environment. When you are ready to test on production, we will upgrade your key. (You can create test accounts on sandbox by just going to sandbox.evernote.com).

...or get a Developer Token

You can also just test-drive the SDK against your personal production Evernote account, if you're afraid of commitment or are building a one-off tool for yourself. Get a developer token here. Make sure to then use the alternate setup instructions given in the "Key Setup" section below.

Import

Simply import the SDK inside your project:

import EvernoteSDK
#import <EvernoteSDK/EvernoteSDK.h>

API Key Setup

ENSession.setSharedSessionConsumerKey(<Consumer Key>, consumerSecret:<Consumer Secret>, optionalHost: ENSessionHostSandbox)

// using a developer token:
// ENSession.setSharedSessionDeveloperToken(<Dev Token>, noteStoreUrl: <Note Store URL>)
[ENSession setSharedSessionConsumerKey:<Consumer Key> consumerSecret:<Consumer Secret> optionalHost:ENSessionHostSandbox];

Authentication

ENSession.shared.authenticate(with: self, preferRegistration: false, completion: { (_error: Error?) in

})
[[ENSession sharedSession] authenticateWithViewController:self preferRegistration:NO completion:^(NSError *authenticateError) {

}];

Documentation