MSGraphClientSDK 1.0.0

MSGraphClientSDK 1.0.0

Microsoft Graph SDK 团队 维护。



  • Microsoft Graph

Microsoft Graph SDK for ObjC

通过将其集成到您的 iOS 和 MacOS 应用程序中开始使用 Microsoft Graph SDK for ObjectiveC!

安装

使用 CocoaPods

您可以通过 CocoaPods 使用最新版本。在您的 Podfile 中包含以下行

 pod 'MSGraphClientSDK'

使用 Carthage

您也可以选择使用 Carthage 进行包管理。

  1. 使用从他们的网站下载的下载文件或在使用 Homebrew 时 brew install carthage 在您的 Mac 上安装 Carthage。

  2. 您必须创建一个 Cartfile,列出此项目在 Github 上的 MSGraphClientSDK 库。


github "microsoftgraph/msgraph-sdk-objc" "tags/<latest_release_tag>"

  1. 运行 carthage update。这将在 Carthage/Checkouts 文件夹中获取依赖项,然后构建 MSGraphClientSDK 库。

  2. 在应用程序目标“常规”设置标签页的“链接框架和库”部分中,将磁盘上的 Carthage/Build 文件夹中的 MSGraphClientSDK.framework 拖放到您的应用程序目标中。

  3. 在您的应用程序目标“构建阶段”设置标签页中,单击“+”图标并选择“新建运行脚本阶段”。创建一个运行脚本,在其中指定您的shell(例如:/bin/sh),然后在shell下方的脚本区域添加以下内容

/usr/local/bin/carthage copy-frameworks

并在“输入文件”下添加您想要使用的框架路径,例如:


$(SRCROOT)/Carthage/Build/iOS/MSGraphClientSDK.framework

此脚本绕过由通用二进制文件触发的App Store提交错误,确保在存档时复制必要的位代码相关的文件和dSYMs。

将调试信息复制到构建产品目录后,Xcode将能够在您停止在断点时符号化堆栈跟踪。这将使您能够在调试器中单步执行第三方代码。

当将您的应用程序存档以提交给App Store或TestFlight时,Xcode还会将这些文件复制到您的应用程序的.xcarchive捆绑包的dSYMs子目录中。

先决条件

每次对Microsoft Graph的网络调用都需要进行身份验证。为此,创建MSHTTPClient实例时需要将MSAuthenticationProvider协议的实例作为参数。

您可以通过两种方式创建MSAuthenticationProvider实例:

使用MSGraphMSALAuthProvider

此仓库通过MSAL处理身份验证场景。

通过编写自己的MSAuthenticationProvider实现

您也可以选择通过任何适合您需求的方式处理身份验证。您需要遵循以下步骤,以便此SDK能与您的身份验证机制交互。

  1. 集成功后,您需要创建新文件以提供MSAuthenticationProvider的实现。

  2. 在此文件中,编写以下MSAuthenticationProvider方法的实现:


- (void) getAccessTokenWithCompletion:(void (^)(NSString *accessToken, NSError *error))completion;

此实现应能够与您的身份验证机制进行交互,以获取访问令牌或过程中的任何错误,并在完成块中返回。

如何使用SDK

假设您已经完成了上面的步骤,现在您将拥有

  1. 一个与MSGraphClientSDK pod或MSGraphClientSDK.framework集成的 Aurora xcworkspace 文件。

  2. 实现了 MSAuthenticationProvider 协议的类的实例。

完成上述步骤后,您需要按照以下步骤进行

  1. 按照以下方式,从 MSClientFactory 中创建一个 MSHTTPClient 的实例

MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];

  1. 配置一个原生的请求对象,可能看起来像下面这样

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me"]]];

  1. 通过 MSHTTPClient,以以下方式创建一个 MSURLSessionTask(例如 DataTask)对象,并在上面调用 execute 方法

MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest

completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

//Do something

}];

[meDataTask execute];

这就完成了。您现在已成功调用 graph 服务器请求用户信息。

使用资源