ios开发微信分享,微享+ios

iOS分享内容到微信,微信是如何回传结果的

最近(2018年6月)微信要取消用户从第三方App分享内容到微信后的结果了,也就是不再回传分享结果,就突然想看看微信是怎么回传结果的。

10年积累的成都网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有张家口免费网站建设让你可以放心的选择与我们合作。

首先想到的是在appDelegate的application:openURL:sourceApplication:annotation方法加断点,查看url参数里面是否有带数据,但是居然没有在url发现任何和分享结果相关的数据。就这奇怪了,微信是怎么回传结果的呢?

然后回过来看一下iOS进程间共享/发送数据有哪些方式呢?

然后接下来就在application:openURL:sourceApplication:annotation处去查看generalPasteboard, 但没有发现什么异常,但是却发现WXApiDelegate的onResp:方法偶尔被调用,偶尔没有被调用,真是奇怪(后面才意识到是微信给回传数据的粘贴板item设置了一个较短的过期时间,在断点处停留的时间稍微长一点,这个item就失效消失了,所以也就看不到了)。但是偶尔又能看到一个item中有一个key为"content"的二进制数据,猜测是NSData,便取出来看一下。

不出所料,果然是NSData。(OS_dispatch_data是什么,百度一下就知道了)

然后就想怎么解析NSData数据呢,首先想到的是转成NSString。先用NSUTF8StringEncoding转换,结果为nil,失败了。然后用NSASCIIStringEncoding转换,依然不太成功,但是能看到一些东西,AppID以及SendMessageToWXResp类的成员country、language、result什么的,我知道自己接近了,就是这个,而且看起来像是序列化之类的方法产生的二进制数据。

然后我便尝试使用NSKeyedUnarchiver反序列化,可是怎么都不成功,然后我便尝试搜索上面那张截图里面的关键字,returnFromAppR-2S1.5U,bplist啥的,终于发现bplist是文件头标记,binary plist。接下来就是怎么解析binary plist文件啦,根据网上搜索到的命令 plutil -convert binary1 a.plist

然后就看到结果啦

ios开发微信分享链接怎么实现的

暂时没有这个功能呢 朋友圈只能发图片和文字 文字是长摁朋友圈的照相机哦

ios开发sharedsdk分享到微信代码怎么写

/**

* 微信好友

*/

//SSDKPlatformSubTypeWechatSession

/**

* 微信朋友圈

*/

//SSDKPlatformSubTypeWechatTimeline

SSDKPlatformType platform = SSDKPlatformSubTypeWechatSession;

[ShareSDK shareWithContentName:@"这是一个分享消息" platform:platform customFields:nil onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {

NSLog(error?@"分享失败":@"分享成功");

}];

iOS 微信分享的Universal Link配置

2019(为什么2020年现在写文章,是因为新项目有需要了  不如做个文章记录一下)项目初期需要配置微信分享进行引流,就阅读了微信开放平台的文档  发现微信在2019年9月份更新sdk  这样呢在项目配置中多了咱们标题上的Universal Link问题  但这个是什么呢

Universal Link 是 iOS9 推出的一项功能,使你的应用可以通过传统的HTTPS链接来启动APP,而不是使用 scheme 的方式了 

接下来直接进入操作:

1.在微信应用配置中 就需要填写Universal Link配置了 (注意一定是https://开头 例:)

2.在项目配置的时候有用到://向微信注册   比如:

[WXApi registerApp:@"APPID" universalLink:@""];

3.然后去Apple开发官网去配置开启identifiers  在appid中找到需要配置app的appid,打开Associated Domains功能   一定配置新的证书文件,

4然后开发者平台配置完成  进入项目中--siigningcapablillities   点击..Capability-添加Associated Domains    然后配置Domains:一定是applinks:+微信配置的域名  (例:applinks:)  (这个是固定格式applinks:加上什么什么域名 )

5.然后需要写一个apple-app-site-association文件不带任何后缀的文件  放在准备好的那个域名根目录或.well-known子目录下。 

{"applinks":{"apps":[], "details":[{"paths":["*"],"appID":"TeamID.BundleIdetifier"}]}}

6.剩下的就是关于微信SDK文档中 关于xcode配置了  比如info文件中的配置   就可以根据文档来了


名称栏目:ios开发微信分享,微享+ios
文章网址:http://pwwzsj.com/article/dsdesed.html