iOS swift 关于微信微博QQ分享的一些问题

近一段时间写分享功能,原本以为是很简单的功能,没曾想后来还是费了些力气才搞定。
碰到过几个小问题记录一下以防止大家踩雷把自己搞得很疲惫。

注册什么的自己去看相关的SDK文档,相信都不难,下面就碰到的问题做一下阐述:

1、检测是否安装该app:
之前用的友盟分享,使用简单SDK,使用判断方法:

        if umeng.isInstall(UMSocialPlatformType.wechatSession) {
           //
        }

但是该判断方法存在缓存问题,也就是你如果在使用中删除了某app,它是检测不到的。当然如果不是很严格的话这个方法也可以使用,至多提示分享失败。

            let hasWeChat = UIApplication.shared.canOpenURL(NSURL.init(string: "weixin://XXX")! as URL)
            if !hasWeChat {
                FSHub.toast("未安装该应用")
                return
            }

这个方法能用,其中XXX是URL Schemes。但是也不太安全,因为不管是微信,QQ,还是微博,都不止一个URL Schemes。这个方法是两个应用之间能够互相打开的根本方法。

友盟其实还提供了一个属性:(官方文档)

/**
 返回当前有效(安装并是可用的)平台列表
 */
@property(nonatomic,readonly,strong) NSArray * platformTypeArray;

这个属性是可用的,并且没有缓存,可以通过判断相关平台是否在这个数组中来判断是否安装这个了这个平台(总觉得有点歪门邪道的意思,虽然验证过确实可行)

最后我没有使用上面的任何方法,而是把友盟的SDK换成了Mob的shareSDK,使用的判断方法如下:

ShareSDK.isClientInstalled(.wechat);

问题解决【遮脸】
最后提一嘴,分享需要做是否安装判断,未安装的平台最好隐藏,不隐藏的话也不能提示用户诸如“未安装微信”这样的带有明显的app名字的提示语,苹果会认为你引导用户安装该平台。应该写成“未安装该平台“之类的,总之不要出现带明显app信息的字眼。

2、关于微信分享回调错误的问题
问题复现:点击微信分享,分享成功后选择留在微信,按下home键回到桌面,在打开app,会看到分享取消的提醒。
这是因为只有直接返回才会走成功回调的函数,其他任何条件都是走取消的函数,这个不是sdk的问题, 是苹果的应用权限机制的问题,留在第三方相当于已经没有权限访问您自己的应用,所以拿不到成功回调,但是事实是成功的,关于这个问题目前是没有办法处理的,最好的方法是去掉取消分享的弹窗。

3、关于QQ分享,接收到分享信息的人只显示链接(有可能是短链接,也有可能是完整链接),而不是图文并存的格式:
这是因为QQ分享要求分享出去的链接是转化后的模式,例如https://www.baidu.com,而不能是http://183.64.206.217:8888/ 这样带有明显域名的样式。(这个问题一般会在测试的时候会有,线上应该不会有这个问题)

4、关于微信分享web,缩略图不显示的问题
如果任何情况下分享的缩略图都不显示,请检查图片尺寸,bundle id ,app key ,app secret,url schemes 等是否对应或设置正确。

现在有一种特殊情况:不管是iOS设备还是安卓设备,成功分享到微信,一切显示正常,但是如果接收这条分享信息的设备是iOS设备(iPhone,iPad,等)缩略图不显示,但是如果是安卓设备,缩略图就正常显示了。
这个问题问过Mob的客服,客服说是微信本身的问题,但是我分享别的app里面的内容到微信都显示正常,所以我觉得不是微信的问题。
最后经过各种尝试:发现是分享内容的问题。分享的标题描述里面含有“XXX元”,“赚钱”等字眼,修改了标题描述后再分享,各个设备的显示就都正常了。(想配个图来说明一下的,懒得截图😄)

5、Mob分享微博,使用shareSDK,分享内容不能编辑的问题。
使用shareSDK的都知道微博分享授权成功后点击分享直接就分享出去了而没有编辑界面,而有的时候又有编辑的需求,这个时候只能自己写一个controller作为编辑页面,编辑完成后的内容作为content分享出去。

(代码不多,问题描述很多,图也懒得截,谅解,有问题联系)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容