测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可证 | Apache 2 |
发布日期上次发布 | 2017年3月 |
由Eric Horacek维护。
依赖关系 | |
AFNetworking | ~> 3.0 |
AFOAuth2Manager | ~> 3.0 |
libextobjc/EXTScope | >= 0 |
注意:此SDK处于alpha阶段。请试用并给我们反馈!
Automatic SDK是构建由Automatic支持iOS应用的最佳方式。
使用Automatic iOS SDK,您的用户可以使用他们的Automatic账户登录您的应用。想象一下Facebook或Twitter登录,但与带来用户社交网络不同,而不是解锁您可以使用来为您的应用增添动力的丰富汽车数据。
图片:您应用的新登录界面
一旦用户批准您的应用访问其数据,您的应用就可以
我们迫不及待想知道你将构建什么。让我们开始吧!
automatic-[client-id]://oauth
.集成Automatic iOS SDK。我们建议使用CocoaPods,它使得集成变得像添加一样简单
pod "AutomaticSDK", "0.0.1"
到您的Podfile中。
配置您的应用以使用您之前决定的URL方案。您可以通过将以下内容添加到您的Info.plist
文件来实现这一点。例如,如果您的客户端ID是123abc
,则将看起来像这样
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>automatic-123abc</string>
<key>CFBundleURLSchemes</key>
<array>
<string>automatic-123abc</string>
</array>
</dict>
</array>
使用你的客户端ID和客户端密钥创建AUTClient
的实例。
AUTClient *client = [[AUTClient alloc] initWithClientID:@"CLIENT_ID" clientSecret:@"CLIENT_SECRET"];
当你准备好使用Automatic API授权你的应用时,调用-[AUTClient authorizeWithScopes:success:failure:]
让SDK为你打开Safari
[self.client
authorizeWithScopes:AUTClientScopesTrip | AUTClientScopesLocation
success:^{
NSLog(@"🎉 Your app is now authorized. 🎉");
}
failure:^(NSError *error) {
NSLog(@"Failed to log in with error: %@", error.localizedDescription);
}];
实现 <-application:openURL:sourceApplication:annotation: 来处理用户授权你的应用后,Automatic将重定向的定制URL方案。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([self.client handleOpenURL:URL]) {
return YES;
}
return NO;
}
一旦你的客户端获授权,你可以使用 AFOAuthCredential
将其凭证存储在钥匙串中。
[AFOAuthCredential storeCredential:self.client.credential withIdentifier:@"credential"];
你现在可以为用户代表其发送请求到Automatic API。
[self.client
fetchTripsForCurrentUserWithSuccess:^(NSDictionary *page){
NSArray *trips = page[@"results"];
// Do something cool with the trip data here.
}
failure:^(NSError *error){
NSLog(@"Something went wrong.");
}];