Vkontakte-iOS-SDK-v1 1.3

Vkontakte-iOS-SDK-v1 1.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Andrew Shmig 维护。



  • 作者
  • Andrew Shmig

Vkontakte iOS SDK

示例

我们将有一个单屏幕应用程序,因此我们将用户认证挂载在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

该方法是以下样子

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // code

    [[VKConnector sharedInstance] setDelegate:self];
    [[VKConnector sharedInstance] startWithAppID:kVKAppID
                                      permissons:[kVKPermissionsArray componentsSeparatedByString:@","]];
    // code
}

在此情况下,常量 kVKAppIDkVKPermissionsArray 看起来如下

static NSString *const kVKAppID = @"3541027";
static NSString *const kVKPermissionsArray = @"photos,friends,wall,audio,video,docs,notes,pages,status,groups,messages";

通过将当前类设置为代理,我们可以在用户应用程序的认证过程中(以及请求实现过程中)处理7种类型的“通知”

  1. VKConnector:willShowModalView
  2. VKConnector:willHideModalView
  3. VKConnector:accessTokenInvalidated
  4. VKConnector:accessTokenRenewalFailed
  5. VKConnector:accessTokenRenewalSucceeded
  6. VKConnector:connectionErrorOccured
  7. VKConnector:parsingErrorOccured

详细信息可以参考 VKConnectorProtocol 文档。

应用程序启动后会出现此认证窗口

modal view

如果用户认证我们的应用程序,将会调用代理的 VKConnector:accessTokenRenewalSucceeded: 方法;否则,将调用 VKConnector:accessTokenRenewalFailed: 方法。如果请求过程中发生网络故障,则将调用代理的 VKConnector:connectionErrorOccured: 方法,如果发生服务器社交网络的响应解析错误,则将调用代理的 VKConnector:parsingErrorOccured: 方法。

在获得访问令牌后,我们可以代表用户执行请求。请连接 VKUser.h 并使用以下语法:

id myFriends = [[[VKUser currentUser] friends] online];

如果有必要在进行请求之前检查令牌的有效期,则将调用代理的 VKConnector:accessTokenInvalidated: 方法,您应该在其中调用 VKConnector 类的 startWithAppID:permissions: 方法来刷新访问令牌。

请求是同步的,请记住这一点。

许可证

版权(c)2013 Andrew Shmig

任何获得此软件及其相关文档文件(“软件”)副本的人,免费获得在此软件上不受限制的权利,包括但不限于使用、复制、修改、合并、发布、分发、转授许可和/或销售软件副本,并允许向软件提供副本的人这样做,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的质量担保,包括但不限于可销售性、适用于特定目的和不侵犯知识产权的担保。在任何事件中,作者或版权持有人不对任何索赔、损害或其他责任负责,无论基于合同行为、侵权行为或其他原因,无论源于、因之或与软件的使用或其他用途有关。