基于URL的社会化分享工具,可以抛弃SDK了
2015-11-03 11:57
483 查看
nixzhu/MonkeyKing
https://github.com/nixzhu/MonkeyKingMonkeyKing helps you post messages to Chinese Social Networks, without their buggy SDKs.
MonkeyKing use the same analysis process of openshare, support share Text, URL and Image toWeChat, Weibo or QQ.
MonkeyKing also can post message to Weibo by webpage.
One more thing: MonkeyKing supports OAuth.
Requirements
Swift 2.0, iOS 8.0
Example
Share to WeChat (微信):
Basic
In your Project Target's Info.plist, add URL Type as follow:
You need apply your own
appIDfirst, off course.
If your App support iOS 9, you need set
LSApplicationQueriesSchemesin
your
Info.plist:
<key>LSApplicationQueriesSchemes</key> <array> <string>weixin</string> </array>
Your app check if can open WeChat will need it.
If your App support iOS 9, you need set
NSAppTransportSecurityin
your
Info.plist:
<dict> <key>NSExceptionDomains</key> <dict> <key>api.weibo.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionMinimumTLSVersion</key> <string>TLSv1.0</string> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>
Just like this.
Prepare you message and share it:
@IBAction func shareURLToWeChatSession(sender: UIButton) { MonkeyKing.registerAccount(.WeChat(appID: weChatAppID)) let message = MonkeyKing.Message.WeChat(.Session(info: ( title: "Session", description: "Hello Session", thumbnail: UIImage(named: "rabbit"), media: .URL(NSURL(string: "http://www.apple.com/cn")!) ))) MonkeyKing.shareMessage(message) { success in print("shareURLToWeChatSession success: \(success)") } }
If you need handle call back, add following code
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { if MonkeyKing.handleOpenURL(url) { return true } return false }
to your AppDelegate.
It's done!
If you don't want to register account before share each time, you may do it in AppDelegate like follow:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { MonkeyKing.registerAccount(.WeChat(appID: "wxd930ea5d5a258f4f")) return true }
OAuth
Weibo OAuth:let account = MonkeyKing.Account.Weibo(appID: weiboAppID, appKey: weiboAppKey, redirectURL: weiboRedirectURL) MonkeyKing.OAuth(account) { (dictionary, response, error) -> Void in print("dictionary \(dictionary) error \(error)") }
If user do not installed Weibo App on their devices, MonkeyKing will use web OAuth:
More
If you like use UIActivityViewControllerto share, MonkeyKing has
AnyActivitycan
help you.
Check the demo for more information.
Installation
It's recommended to use CocoaPods or Carthage.
CocoaPods
CocoaPods is a dependency manager for Cocoa projects.CocoaPods 0.36 adds supports for Swift and embedded frameworks. You can install it with the following command:
$ [sudo] gem install cocoapods
To integrate MonkeyKing into your Xcode project using CocoaPods, specify it in your
Podfile:
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! pod 'MonkeyKing', '~> 0.5.2'
Then, run the following command:
$ pod install
You should open the
{Project}.xcworkspaceinstead of the
{Project}.xcodeprojafter
you installed anything from CocoaPods.
For more information about how to use CocoaPods, I suggest this tutorial.
Carthage
Carthage is a decentralized dependency manager for Cocoa application. To install the carthage tool, you canuse Homebrew.
$ brew update $ brew install carthage
To integrate MonkeyKing into your Xcode project using Carthage, specify it in your
Cartfile:
github "nixzhu/MonkeyKing" >= 0.5.2
Then, run the following command to build the MonkeyKing framework:
$ carthage update
At last, you need to set up your Xcode project manually to add the MonkeyKing framework.
On your application targets’ “General” settings tab, in the “Linked Frameworks and Libraries” section, drag and drop each framework you want to use from the Carthage/Build folder on disk.
On your application targets’ “Build Phases” settings tab, click the “+” icon and choose “New Run Script Phase”. Create a Run Script with the following content:
/usr/local/bin/carthage copy-frameworks
and add the paths to the frameworks you want to use under “Input Files”:
$(SRCROOT)/Carthage/Build/iOS/MonkeyKing.framework
For more information about how to use Carthage, please see its project page.
Contact
NIX @nixzhu or Limon @LimonTop
Credits
WeChat logos from WeChat-Logo by Ray.
License
MonkeyKing is available under the MIT License license. See the LICENSE file for more info.
相关文章推荐
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术05--运算符重载
- Hibernate中的SQL查询
- Java资源大全中文版
- MyBatis学习总结(五)——实现关联表查询
- Java中的static关键字解析
- PHPExcel 导出
- BootStrap学习笔记-7
- JS中的window.setTimeout()详解
- HTML5 简单的js 库
- QT实现的类似QQ的头像选择窗
- python3.x中lambda表达式遇到的一些问题以及解决办法
- ReAct 基本语法
- android shape的使用
- sqlserver2008r2安装
- GO语言学习:go语言实现android应用的步骤
- 浅谈工业级物联网项目架构设计及实施
- sqlserver四舍五入使用round函数及cast和convert函数
- CocoaPods的安装使用和常见问题-简书
- (转)MyEclipse自动生成Hibernate实体类, oracle篇
- 第十二章 数据备份与还原