OneDrive / onedrive-sdk-ios

OneDrive SDK for iOS
https://dev.onedrive.com
Other
100 stars 87 forks source link

Note: OneDrive SDK for iOS to be deprecated / archived, please use Microsoft Graph SDKs instead

What is happening?

As of March 10, 2022 the OneDrive SDK for iOS is beginning the process of being deprecated and ultimately the project archived.

Why is this happening?

There are several reasons why we are choosing to end support for this SDK. Most importantly in the time since this SDK was last updated we have seen the emergence of Microsoft Graph as the preferred path for interfacing with OneDrive programmatically. Microsoft Graph receives the latest and greatest updates and provides more up-to-date SDKs as well.

Additionally the OneDrive SDK for iOS currently uses the UIWebView component that has been marked deprecated by Apple. Although no current deadline for updating applications has been provided (see article) we expect this functionality to stop working at some point in an iOS update.

How do I make the transition to Microsoft Graph?

To get started with Microsoft Graph on iOS please use the following resources:

Get started with the OneDrive SDK for iOS

Build Status

Integrate the OneDrive API into your iOS app!

1. Installation

Install via Cocoapods

2. Getting started

2.1 Register your application

Register your application by following these steps.

2.2 Set up Keychain Sharing Entitlements in your Xcode Project

Click on your project in the Navigator pane in Xcode. Click on your application target and then the "Capabilities" tab. Scroll down to "Keychain Sharing" and flip the switch on. Add "com.microsoft.adalcache" to that list.

2.2 Setting your application Id and scopes

2.3 Getting an authenticated ODClient object

[ODClient clientWithCompletion:^(ODClient *client, NSError *error){
    if (!error){
        self.odClient = client;
    }
 }];

2.4 Making requests against the service

Once you have an ODClient that is authenticated you can begin to make calls against the service. The requests against the service look like our REST API.

To retrieve a user's drive:

[[[odClient drive] request] getWithCompletion:^(ODDrive *drive, NSError *error){
    //Returns an ODDrive object or an error if there was one
}];

To get a user's root folder of their drive:

[[[[odClient drive] items:@"root"] request] getWithCompletion:^(ODItem *item, NSError *error){
    //Returns an ODItem object or an error if there was one
}];

For a general overview of how the SDK is designed, see overview.

For a complete sample application, see OneDriveAPIExplorer.

3. Documentation

For a more detailed documentation see:

4. Issues

For known issues, see issues.

5. License

License

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.