社交工具集 0.2

社交工具集 0.2

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2017年3月
SwiftSwift 版本3.0
SPM支持 SPM

Victor Amelin 维护。



 
依赖于
FBSDKCoreKit>= 0
FBSDKLoginKit>= 0
VK-ios-sdk>= 0
 

  • 作者
  • Viktor Amelin

社交工具集

社交工具集的目的是从Facebook或VK获取访问令牌。您可以使用它从特定的社交媒体网络获取令牌,或者从多个(目前只支持Facebook和VKontakte)。

如何安装

要求

iOS 9.0+

Swift 3.0

使用CocoaPods安装

use_frameworks!
pod 'SocialToolKit'

如何使用

对于Facebook

更新您的AppDelegate中的以下三个方法

1.

import SocialToolKit

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    SocialToolKit.sharedInstance.appFBDidFinishLaunchingWithOptions(application: application, launchOptions: launchOptions)
return true
}

func applicationDidBecomeActive(_ application: UIApplication) {
    SocialToolKit.sharedInstance.appFBDidBecomeActive()
}

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    SocialToolKit.sharedInstance.appFBOpenURL(app: app, url: url, options: options)
    return true
}
  1. 转到Info.plist,单击Info.plist进行二次点击并选择OpenAs -> SourceCode。

将以下XML片段插入文件主体中,紧接在最后一个元素之前。

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
                <array>
                    <string>fb{your-app-id}</string>
                </array>
        </dict>
    </array>
        <key>FacebookAppID</key>
            <string>{your-app-id}</string>
        <key>FacebookDisplayName</key>
            <string>{your-app-name}</string>
        <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
    </array>
  • 将 fb{your-app-id} 替换为您的Facebook应用ID,前面要加上 fb。例如,fb123456。您可以在Facebook应用仪表板(https://developers.facebook.com/apps)上找到您的应用ID。
  • 将 {your-app-id} 替换为您的应用ID。
  • 将 {your-app-name} 替换为您在应用仪表板中指定的显示名称。
  • 将 {human-readable reason for photo access} 替换为您的应用需要照片访问权限的原因。
  1. 在viewController中添加按钮动作(例如)
import SocialToolKit

SocialToolKit.sharedInstance.requestFacebookToken(permissions: ["public_profile", "user_friends"], loginBehavior: FBSDKLoginBehavior.systemAccount, { (token, error) in
    if error == nil {
        print("TOKEN: \(token)")
    } else {
        print("ERROR: \(error?.localizedDescription)")
    }
})

对于VK

  1. 更新您的AppDelegate中的此方法
import SocialToolKit

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
        SocialToolKit.sharedInstance.appVKOpenURL(sourceApplication: sourceApplication, url: url)
        return true
}
  1. 转到项目 -> 目标 -> 信息 -> URL类型并添加URL方案vk,例如

URL方案:vk1234567 角色:编辑

  1. 转到Info.plist,单击Info.plist进行二次点击并选择OpenAs -> SourceCode。并添加AppTransportSequrity
    <key>NSAppTransportSecurity</key>
        <dict> 
            <key>NSExceptionDomains</key> 
            <dict> 
                <key>vk.com</key> 
                <dict> 
                    <key>NSExceptionRequiresForwardSecrecy</key> 
                    false/> 
                    <key>NSIncludesSubdomains</key> 
                    <true/> 
                    <key>NSExceptionAllowsInsecureHTTPLoads</key> 
                    <true/> 
                </dict> 
            </dict> 
        </dict>
  1. 添加(更新)LSApplicationQueriesSchemes
        <key>LSApplicationQueriesSchemes</key> 
        <array> 
            <string>vk</string> 
            <string>vk-share</string> 
            <string>vkauthorize</string> 
        </array>

如果您正在使用FB iOS SDK和VK iOS SDK,看起来像这样

        <key>LSApplicationQueriesSchemes</key>
        <array>
            <string>fbapi</string>
            <string>fb-messenger-api</string>
            <string>fbauth2</string>
            <string>fbshareextension</string>
            <string>vk</string>
            <string>vk-share</string>
            <string>vkauthorize</string>
        </array>
  1. 然后在viewController(例如)中使用
SocialToolKit.sharedInstance.requestVKToken(permissions: ["friends", "photos"], appId: "your app id") { (token, error) in
    if error == nil {
        print("TOKEN: \(token)")
    } else {
        print("ERROR: \(error?.localizedDescription)")
    }
}

许可证

版权所有 © 2017 Stfalcon

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

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

本软件按“现状”提供,不提供任何类型的保证,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权持有者不应对任何索赔、损害或其他责任承担责任,无论这些责任源自合同、侵权或其他,无论源自或与软件或其使用或其他相关事宜。