iOS9友盟微信分享
来源:互联网 发布:四驱车奥迪双钻 淘宝 编辑:程序博客网 时间:2024/06/15 05:51
此文记录了在iOS9下使用了友盟微信纯图片分享。
前提
注册友盟账号
访问友盟官方网站,在官方注册账号获取AppKey。
微信账号
登录微信开放平台(点击链接),填写相关应用信息,审核通过后获取到微信AppID及AppSecret
下载SDK
根据所需下载响应的SDK,并导入工程。
开始
导入系统库
libsqlite3.tbd
libc++.1.tbd
SystemConfigure.framework
添加方法:选择target->Build Phases->Link Binary With Libraries
搜索添加。
AppDelegate
#import "UMSocial.h"#import "UMSocialWechatHandler.h"...- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 设置友盟AppKey [UMSocialData setAppKey:UmengAppKey]; // 设置微信AppId和AppSecret [UMSocialWechatHandler setWXAppId:@"wx1a1183fca86e9***" appSecret:@"2f5ec5470d4fb127e2ce8bc15dd8e***" url:@"http://www.umeng.com/social"]; return YES;}
url
参数:如果你分享的网页url为空,那么默认会用这个地址。
Plist文件
URL types
在info.plist文件中添加一个URL types字段。
直接上图:
兼容
以iOS9 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断请求。目前可用如下两种方式保持用HTTP进行网络连接:
需要在plist文件中添加如下字段:
<key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>
效果如图:
在iOS9下就需要增加一个可跳转的白名单,指定对应跳转App的URL Scheme,否则将在第三方平台判断是否跳转时用到的canOpenURL时返回NO,进而只进行webview授权或授权/分享失败。
需要添加如下字段:
<key>LSApplicationQueriesSchemes</key><array> <!-- 微信 URL Scheme 白名单--> <string>wechat</string> <string>weixin</string><array>
效果如图:
如果未添加如上字段会提示:您的设备没有安装微信
控制台会打出如下错误信息:-canOpenURL: failed for URL: "weixin://app/wxff569f1617559261/" - error: "This app is not allowed to query for scheme weixin"
分享页面
首先,在需要分享内容的控制器中申明代理,并在分享事件中添加如下代码。
// 分享类型[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;UIImage *shareImage = [UIImage imageNamed:@"image"];//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法 [[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToSina] content:@"" image:shareImage location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){ if (response.responseCode == UMSResponseCodeSuccess) { NSLog(@"分享成功!"); } }];
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;
该方法一定要写在前面否者第一次会以网页的形式分享。
更多详情请访问官方文档。
iOSTalk,分享iOS成长之路的点点滴滴,微信扫描即可关注
- iOS9友盟微信分享
- ios9 qq、微信分享和登录
- iOS9 系统分享调用(UIActivityViewController)
- iOS9 系统分享调用(UIActivityViewController)
- 仿ios9风格的Android 分享dialog
- ios9 分享 打不开第三方应用
- iOS9
- ios9
- iOS9
- iOS9 下ShareSDK分享到微信、QQ失效的解决办法
- iOS9.0 微信、QQ分享提示未安装
- 第三方登录、分享适配 IOS9 系统
- iOS9中实现微信分享到好友、朋友圈
- iOS9友盟社会化分享SDK应用的几个要点
- 集成友盟分享 分享成功后iOS8回调方法正常 iOS9没有回调
- 升级到IOS9以后,QQ授权登录和QQ分享出现问题,不能正常使用了
- ios9适配中的分享(微信、新浪微博、QQ、QQ空间、支付宝)
- 关于UMeng分享iOS9上配置NSAppTransportSecurity导致UIWebView无法访问渣浪微博
- Swift学习笔记基础语法-字符串与字符
- 一个普通装企的困境与变迁
- ubuntu 14.04桌面显示快捷方式
- 装饰装修企业痛点与分析-收款问题
- 剑指 offer:从上到下打印二叉树(层序遍历)
- iOS9友盟微信分享
- Servlet、JSP学习总结
- Cannot SET AUTOTRACE 处理办法
- 第一个PHP程序——Hello World
- iOS提交应用至APP Store流程
- D3D动画相关接口理解
- SSH整合(二)——利用Spring来装配Action类
- 【c++ templates读书笔记】【4】技巧性基础知识
- 移动构造-C++11