乐趣区

关于android:ShareSDK常见问题

QQ- 分享报错 901111,9001010 等

因为 QQ 当初须要审核后才能够分享(之前分享不须要审核),所以此谬误解决办法只需通过腾讯开放平台的审核即可,另外要查看注册好的利用的根本信息,包名、md5 签名和 Bundle id 是不是填写正确,和我的项目里是统一的;

开放平台申请流程

各个开放平台,第三方平台,用 ShareSDK 分享也是须要申请,失去第三方的受权的,所以申请是必须的,申请流程您能够参考:链接

Facebook 如何分享链接卡片的模式

fb 分享链接,是依据链接中的配置,主动获取的,无奈从客户端中设置代码或者接口来配置,只能通过前端的配置来操作,具体能够参考此处阐明:Facebook 显示卡片成果

Android 端微信分享多图

微信分享多图会报如下谬误;

微信从 6.7.3 开始限度了多图的分享,从微信 6.7.3 版本之后微信的朋友圈还是好友都无奈分享多图的解决;

Android 端微信一个 key 是否能够绑定多个包名

微信开放平台申请利用,一个 key 只能绑定一个包名,无奈绑定多个包名,如果须要申请多渠道包名的 key 的话,须要申请多个 key;

Android 端微信没有回调

微信回调:这个 WXEntryActivity.java 类 必须要在 wxapi 下,wxapi 必须要在您的工程的包名 package 下。此处的包名必须与您的微信开放平台配置的包名统一才能够的;目前 ShareSDK 提供了 Gradle 集成形式,会主动依据您的包名生成回调配置,如果 gradle 集成的话能够不须要本人手动配置;

Android 端 ShareSDK 跳到微信后,返回操作,勾销分享,还是提醒胜利

您好,微信从 6.7.2 的版本之后批改了策略,是微信本人管制的,目前所有应用微信分享的都是这种成果;

Android 端 ShareSDK for 微信小程序

ShareSDK 能够关上小程序吗?
能够的;

ShareSDK 能够分享后小程序,从小程序还原回 app 吗?
能够的,且能够本人携带参数,具体详情见链接:链接

Android 端微信回调与利用宝渠道回调抵触

微信规定回调类只能用 WXEntryActivity。所以 ShareSDK 对其做了适配,如果利用宝抵触的话能够这样解决:链接

Android 端新浪微博客户端分享报签名谬误

查看没有微博状态是不是在草稿箱中,并且有 SSO 的相干提醒,此类问题个别是是因为微博开放平台配置的包名和签名与您的 app 的不统一导致的,确保签名和包名配置的 统一即可;

Android 端腾讯 QQ 与 QZone 分享没有回调, 或者提醒勾销

离线集成的话,须要在 AndroidManifest 中配置 QQ 的回调配置;

<activity
    android:name="cn.sharesdk.tencent.qq.ReceiveActivity"
    android:launchMode="2"
    android:noHistory="true">
    <intent-filter>
        <data
            android:scheme="tencent100371282" />
        <action
            android:name="android.intent.action.VIEW" />
        <category
            android:name="android.intent.category.DEFAULT" />
        <category
            android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

其中,tencent 前面的是 QQ 的 AppId,须要保障此 AppId 必须与你配置的 QQ 的 AppId 保持一致,否则回调会异样;如果是 Gradle 集成,无需本人手动配置上述内容,ShareSDK 会主动依据您的配置生成内容,防止本人配置谬误,如果 gradle 还是提醒勾销,能够删除 build 目录,从新加载即可;

Android 端 Google 登录提醒外部谬误?

google 开发者后盾,须要配置签名信息,这个谬误是因为您在 google 开发者后盾中的签名配置与您的 app 的不统一导致的,留神 google 配置的格局是 SHA1,不须要去掉冒号;

Android 端 Facebook 想要分享胜利,须要做哪些内容

Facebook,须要先申请利用,失去 key,具体步骤查看链接:链接; 须要留神的是一些开关的关上,和回调地址的配置;配置完之后,将 key 配置到我的项目中,ShareSDK 文档中有阐明,配置完即可分享;

Android 端 ShareSDK 的界面怎么删除不须要的平台

离线集成,能够间接删除 Jar 包的形式即可,ShareSDK 结尾的 jar 包,除了 ShareSDK-core 这个 jar 不能删除,其余的按须要的删除即可;Gradle 集成的形式,是您在 MobSDK 下的 ShareSDK 外面加了什么平台,它就会有什么平台,具体参数能够参考 Demo 中的 MobSDK.gradle 文件,这里有全量的平台配置;

Android 端 SDK 配置第三方 key 的形式

我认为第三方 key 的配置,配置在 xml 中,或者 gradle 中配置不平安,有其余的配置形式吗? A11.ShareSDK 提供了三种配置形式,一是在 ShareSDK 后盾配置,二是在客户端中代码配置,三是惯例在 xml 中或者 gradle 文件中配置,SDK 的拜访优先级顺次递加,也就是说如果您在 ShareSDK 后盾配置了,就不会拜访代码中和 xml 中的配置参数了;具体配置查看文档:第三方平台初始化配置;

Android 端是否能够在 App 中不同中央显示不同的平台

ShareSDK 的 OnekeyShare 提供了接口,能够暗藏某个平台,oks.addHiddenPlatform(QQ.NAME);,比方这句就是暗藏 QQ,想要暗藏其余的平台反复调用即可,留下您想留下的平台即可;

Android 端 OnekeyShare 分享,不同平台分享不同内容

OnekeyShare 的分享有提供接口,能够自定义某个平台分享的内容不同,具体详情见链接:链接

Android 端 ShareSDK 的默认 onekeyshare 的回调如何批改

在 oks.show 之前增加代码,本人能够管制,留神 oncomplete 中是子线程,给提醒的话须要传到 UI 线程中增加提醒;

oks.setCallback(new PlatformActionListener() {
    @Override
    public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { }
    @Override
    public void onError(Platform platform, int i, Throwable throwable) { }

    @Override
    public void onCancel(Platform platform, int i) {}});

Android 端 OnekeyShare 分享 UI 界面的自定义配置

private void showShare(String platform) {final OnekeyShare oks = new OnekeyShare();
    // 指定分享的平台,如果为空,还是会调用九宫格的平台列表界面
    if (platform != null) {oks.setPlatform(platform);
    }
    // 去除分享正在后盾的提醒
    oks.setDisappearShareToast(true);
    // 敞开一键分享默认 ui
    oks.setSilent(true);
    // 暗藏 QQ 平台不显示(想暗藏什么平台,填写什么平台,能够屡次调用)
    oks.addHiddenPlatform(QQ.NAME);
    .............
    // 启动分享
    oks.show(MobSDK.getContext());
}

Android 端 OnekeyShare 分享是否能够不要九宫格页面

能够的,在 onekeyshare 分享的代码中加上您先独自调用的参数即可;eg:oks.setPlatform(QQ.NAME); 加上这句就是独自分享到 QQ;

Android 端微信分享失败

微信分享失败,提醒 toast:分享失败,或者进入 onerror 中,首先查看分享的办法参数是否足够,分享类型是否须要配置,如果这些配置没有问题,那么查看图片,能够先测试下独自分享文本,如果能够,必定是图片因为的问题,首先查看下是否有存储权限,其次查看下可能是图片加载失败,能够换个图片链接再做测试;

Android 端 QQ 如何能力返回 unionid

这个首先须要去腾讯申请 Unionid 接口权限申请流程:目前只反对同一个开发者号码下已审核的利用进行买通。如有须要,能够发邮件到 connect@qq.com 申请,提供利用类型、信息(AppId 和 AppKey),附上营业执照图片、网站备案截图(若有网站利用须要提供该项)即可。买通后同一个 QQ 登录不同 APP ID 利用后返回的 unionid 统一。具体买通事宜后续工作人员会通过邮件确认,请在 1~5 个工作日注意邮件,以邮件回复为准。http://wiki.connect.qq.com/%E5%BC%80%E5%8F%91%E8%80%85%E5%8F%8D%E9%A6%88 如上是腾讯申请的流程,收到回复确认后,回到 ShareSDK 受权,获取受权信息即可,外面就有 unionid 参数了;

Android 端 Facebook 是否能够实现图文分享

Facebook 目前不反对图文分享的模式,客户端只反对独自图片或者链接的形式分享;然而,当初安卓可当初的版本有话题分享,能够构建成图片的成果,分享话题文字的办法是:sp.setHashtag(“ 话题文字 ”);,其余办法不变,能够实现图文的成果进去。

Android 端 line 的 web 登录返回 Authorize token is empty

谬误起因:回调地址配置问题;检查一下 gradle 集成代码中配置的回调地址配置和 line 开发者后盾配置的是否统一;

Android 端印象笔记如何从沙箱模式切换到生产模式

印象笔记切换服务器的形式,能够通过批改利用信息中的“HostType”来实现。在中国大陆,印象笔记有两个服务器,一个是沙箱(sandbox),一个是生产服务器(china)。个别你注册利用,它会先让你应用 sandbox,当你实现测试当前,能够到 http://dev.yinxiang.com/support/ 上激活你的 ConsumerKey,激活胜利后,批改 HostType 为 china 就好了。至于如果您申请的是国际版的印象笔记(Evernote),则其生产服务器类型为“product”。

QQ 分享后来自的显示(美的厨房)

问题形容:分享完 QQ 好友之后,发现显示的不是本人的利用名称;

问题起因:此处显示的利用名称,与图标是 QQ 依据配置的 AppId 和 AppKey 主动展现的,不受 SDK 与用户代码管制,所以更换了本人的 key 则会主动扭转成本人的配置;因为用户应用的 QQ 的 AppId 和 AppKey 是咱们官网默认的,官网默认的 AppId 的利用名称就是美的厨房,或者是 ShareSDK.xml 里的 ShareSDK 的 AppKey 用的是默认的也不是本人申请的;解决问题:如果是 ShareSDK 用的 是默认的,到 http://mob.com 去申请利用失去 AppKey 替换即可,如果是 QQ 的 AppId 和 AppKey 没有替换,请到 http://open.qq.com 去申请利用失去 AppId 和 AppKey 替换默认的配置就好的了(默认的配置是在 assets 下的 sharesdk.xml 文件中);

Android 端 Facebook 分享、受权间接走的 oncancle 回调,或者在有客户端的状况下没有拉起客户端

谬误起因:Facebook 开发者后盾对应的利用没有设置上线

检查一下 Facebook 开发者后盾对应利用的上线开关有没有关上,如果没有关上,将开关关上就能够进行测试,如果临时无奈设置上线,能够通过 Facebook 开发者后盾邀请测试用户,并应用测试用的 Facebook 账号进行测试;

Android 端高版本机型上分享图片不显示,低版本机型分享失常

这个个别是没有应用 ShareSDKFileProvider 导致的,反编译 apk 检查一下 Manifest,看一下是否有一下配置,如果没有手动在 Manifest 中增加上

<provider
            android:name="cn.sharesdk.framework.utils.ShareSDKFileProvider"
            android:authorities="${applicationId}.cn.sharesdk.ShareSDKFileProvider"
            android:exported="false"
            android:grantUriPermissions="true" />

Android 端微信海内主体利用问题 - 分享图片失败

目前微信海内主体的微信开发者张不反对分享图片,只反对网页、小程序类型的音讯,具体详情见链接:https://developers.weixin.qq.com/community/develop/doc/000aea379d0a9015c41aeaa0259400

Android 端新浪微博网页端分享问题 - 提醒不反对登录

目前新浪微博平台反对网页短信分享,但局部账号会报错“不反对登录”,是因为该微博账号曾经开启了“多重验证”,但网页端不反对验证码验证,所以会报错“不反对登录”

Android 端 Facebook 受权报错问题

Facebook 受权报错:Tried accessing nonexisting field (devices) on node type (GamesServiceUser)

这个是因为 Facebook 游戏类的利用账号受权字段有改变,须要降级到 ShareSDK3.9.3 之后的版本,同时加上“FaceBookAppType “game””配置,具体配置如下:

Facebook {
                appKey "1412473428822331"
                appSecret "a42f4f3f867dc947b9ed6020c2e93558"
                callbackUri "https://www.baidu.com/"
                shareByAppClient true
                // 游戏类账号配置
                faceBookAppType "game"
            }

Android 端 QQ- 分享报错 25201

错误码 25201 是 Android 包名查看未通过, 个别是因为包名配置谬误或者是在腾讯开放平台上线, 但没有与 QQ 开放平台关联导致;

QQ 开放平台关联步骤:

登录 QQ 开放平台 - 利用治理–挪动利用–关联腾讯开放平台–绑定了 AppId 和 AppKey –而后查看–批改平台信息–Android 平台,输出包名和签名能够了

Android 端去除 QUERY\_ALL\_PACKAGES 权限

能够通过 exclude “android.permission.QUERY\_ALL\_PACKAGES” 代码去除

注意事项: 去除之后, 须要手动配置一下对应的包名 参考文档 , 不然分享性能无奈失常应用, 因为这个权限是 Android 高版本判断第三方平台是否装置用的 详情链接

iOS 端微信无奈分享到微信,因为利用 Bundle id 信息校验不通过

在微信开放平台上注册利用,须要把 Bundle id 填写的跟本人我的项目里的 Bundle id 统一,微信会动静检测这个 Bundle id

iOS 端 Twitter 分享报错,提醒 V2 权限

排查步骤:

1. 确认 Twitter 后盾关上 V2 权限参考截图

2. 在 infoplist 中增加 MOBTwitterVer 为 2

iOS 端微信无奈分享到微信,因为以后分享的利用未取得分享权限

如果在微信开放平台上注册的是海内挪动利用,是只能分享网页链接类型的,其余的类型不反对

iOS 分享微信报错(因为不反对的分享类型,无奈分享到微信)

首先得查看结构分享参数里传的参数,传的类型是不是微信反对的,其次如果注册的是海内的利用,微信目前只反对分享网页类型,其余的暂不反对!如果说要分享小程序,然而 userName 或者开发类型传的不对,就报这个谬误

iOS 端微信微信分享链接或者分享小程序报 200300 的错误信息的问题

须要查看下结构分享参数里传值问题,有可能是图片太大,或者是链接参数问题导致的问题,也可能是 Universal\_Links,存在本地多个利用 host 雷同的问题导致,还有可能是有新旧 SDK 混用

iOS 端微信点击跳转不了客户端,没有反馈的问题

第一,查看是否有在 plist 文件里配置初始化咱们 SDK 的 AppKey 等信息,第二查看是否在启动的时候初始化了微信平台,有可能正文掉了初始化,第三没有配置微信的 URL Scheme 和白名单,第四结构分享参数传值不满足条件,例如图片太大,第四,失落了微信的 js 和 connection 文件

iOS 端微信报 40125,invalid AppSecret 谬误问题

首先须要查看下在客户端里 plist 文件里配置的初始化咱们 SDK 的 AppKey 是不是本人的,而后在咱们的后盾找到这个对应的 AppKey 的利用关上社会化平台设置的选项,找到微信好友,朋友圈,珍藏看看状态是否勾选的开启,有没有配置 AppId,AppSecret 等信息和本地代码里是否配置的统一,如果开启的就要配置统一,没有开启能够不配置,配置的统一还有这个问题,那就自身微信初始化的 AppSecret 的问题,这个须要本人在微信上从新去获取 AppSecret,有可能是注册的利用过期

iOS 端微信登陆提醒此公众号并没有这些 scope 的权限错误码:10005

微信注册利用没有开明登陆性能或者注册利用过期

iOS 端微信有的时候呈现,分享缩略图,本人分享的只有本人能看见图片,他人看不见的问题

通过测试发现有 红包 支付者 两个词不能同时呈现,红包两头 加空格 标点符号 都不行。

iOS 端微信登陆报错:code=40163,errmsg=“code been used,hints:[req\_id:….]”, 申请失败

这个谬误是指 code 的被用了屡次,有可能是用户本人在我的项目里不仅调用了咱们的接口,还有应用原生的接口解决了某些货色引起,这个要具体查看代码,还有可能是在零碎回调例如 openurl 里做了某些解决引起的,能够先把本人 一些解决正文掉,从新试下

iOS 端微信领取不走回调问题

有可能是零碎办法里没有实现微信的接口,例如

iOS 端增加微信原生领取和咱们 SDK 一起应用须要留神的中央

i. 不须要本人去微信上下载他们原生的微信 SDK,只须要用咱们 SDK 里的微信 SDK 就能够,咱们下载 SDK 的时候能够勾选带领取的微信 SDK,还是不带领取的微信上 SDK 下载,一个我的项目里只能有一个微信 SDK

ii. 本人依据原生领取接口调用,须要加微信原生的初始化

iii. 在解决回调的时候,要本人做好判断解决,如果 4.2.0 版本之后,不走微信的回调的话,要记得加以下办法解决

/**
 能够获取被 sharesdk 截取的微信 sdk 回调

 @param operation 设置的回调 block
 */
+ (void)setWXCallbackOperation:(void(^)(id req,id resp))operation;

示例代码

#import <WechatConnector/WechatConnector.h>

[WeChatConnector setWXCallbackOperation:^(id req, id resp) {NSLog(@"%@",resp);

}];

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{[WXApi handleOpenURL:url delegate:self];
    return YES;
}

iOS 端 QQ 分享提醒以后 QQ 版本太低,须要更新至新版本才能够反对

失落了 mqqopensdkapiV4 这个白名单

iOS 端微信,QQ 分享到客户端,然而只是关上了客户端,并没有跳转到好友列表界面

须要查看下配置的 URLScheme,白名单以及 Universal Links,像 QQ 跳转到客户端,只是关上了 App,可能是白名单漏写了,也可能是结构分享参数里的参数问题;微信当初多了 Universal Links,除了 URL Scheme,白名单,还有 Universal Links,没有配置或者域名过期了都可能呈现这种状况,还有分享进来了,然而跳不回来 App;

iOS 端企业微信分享报错,不反对的 SDK 调用,应用程序没有调用此 API 的权限

须要转到相应企业下能力分享受权的,在企业微信上,我 -> 设置 -> 切换企业这里转下,或者音讯 -> 其余企业 都能切换企业,利用(应用企业 A 的 AppKey) 分享或受权时 企业微信以后处于企业 A 能力失常分享或受权,否则会呈现权限问题,企业微信只能对应的企业去分享

iOS 端 APICloud 里微信分享报错:registerApp:universalLink

除了白名单以及配置 Universal link,须要查看下 config.xml 里是不是有 querySchemes 这个参数设置,设置了这个,须要增加 weixinULAPI,那么 res 里的 info.plist 里的白名单列表,不会拷贝到 工程里了,会有效,这个应该是 ApiCloud 自身的机制导致的

iOS 端微信显示未验证利用,QQ 显示未辨认利用等

能够参考下这个文档:https://docs.qq.com/doc/DZHNvSGJLS3pqbHNl 首先确定 ShareSDK 更新到 4.3.3 或者以上版本,因为从这个版本开始咱们有同步更新微信的 SDK 到 1.8.6.1 或者以上版本,其次确定 Universal links 是否配置正确,如果这 2 个都没问题的话,须要等微信那边统计分享失败率降落,到时候会主动去掉的

QQ 的请参考这个:https://wiki.connect.qq.com/ulink%E9%80%82%E9%85%8D%E9%80%9A%E7%9F%A5 首先确定 ShareSDK 更新到 4.3.3 或者以上版本,因为从这个版本开始咱们有同步更新 QQ 的 SDK 到 3.3.7 或者以上版本,其次确定 Universal links 是否配置正确,另外要查看下这个白名单 mqqopensdkminiapp 是否增加了,更新到 4.3.14 版本,只 qq 分享这个白名单能够不必增加,也不会产生这个问题,还有可能是 pod 引入的咱们的精简版的 SDK,去掉了 qq 的 SDK

iOS 端微信分享跳转到客户端,提醒 Universal links 校验不正确,以及分享始终跳转到正在链接的界面

须要查看

(1)微信上配置的 Universal links 是否与微信初始化里的 Universal links 统一:

[platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1" universalLink:@"https://70imc.share2dlink.com/"];

(2)我的项目里是否配置了 Universal links

(3)如果是应用咱们后盾生成的 Universal links,须要查看下咱们后盾填写的 Team id 和 Bundle id 是否和本人里应用的证书的 Team id 和 Bundle id 统一,Team id 能够在苹果的开发者网站内找到(留神先查看下在我的项目里 plist 文件里配置的初始化咱们 SDK 的 AppKey 和 AppSecret 是哪一个,在去咱们后盾找到对应的 AppKey 下的利用查看,同理微信初始化里用的什么 AppId 在微信上要找到对应的 AppId 下的利用配置查看,不要找错利用

查看 Team id 等信息

(4)查看后盾有没有配置平台的初始化信息,如下图:

找到这个选项里的微信,朋友圈和珍藏,在点击设置,关上:

看下这个状态开关是否关上的,如果是关上的就必须要配置下 AppId,AppSecret 和 Universal links,和本地代码里配置统一,如果是敞开的就能够不配置。

(5)之前有一个客户,我的项目通过版本查看,发现因为以后版本与上个版本核查后发现 info.plist 文件中多一配置项,默认为 YES,导致分享后关上第三方利用后以后利用敞开所以产生“因为利用平安校验不通过,无奈实现分享”。将其批改为 NO 即可解决。否则无奈进入 appdelegate 中的 continueUserActivity 办法。

iOS 端分享 QQ,跳转到 QQ 之后,网页报错问题

查看了 QQ 的 SDK 版本号,还有配置的 Universal links,还要查看下 qq 的客户端的版本,版本太低也不行,须要卸载 qq 客户端,重新安装才行,还有须要查看下用户是否在零碎回调里做了解决

iOS 端 QQ,QQ 空间分享图片,然而看不到图片的问题

查看白名单配置是否残缺,有可能是这个配置问题

iOS 端更新到 4.4.0 版本的 SDK,QQ 会报如下谬误 Cannot find protocol declaration for ‘QQApiInterfaceDelegate’; did you mean ‘TencentApiInterfaceDelegate’

最新的 SDK 里同步更新了 QQ 的 SDK,这个问题是之前旧版本的 QQ SDK 没有删除洁净,要删除洁净,另外之前 QQ 的头文件援用都要删除掉,应用

#import <TencentOpenAPI/TencentOpenApiUmbrellaHeader.h>

这个才行,因为新版本 QQSDK 适配了 swift

iOS 端[TencentOAuth initWithAppId:enableUniveralLink:universalLink:delegate:]: unrecognized selector sent to instance 0x2824acc30

{“status”:2,”platform”:24,”reqID”:1,”res”:{“error\_code”:200303},”action”:9}

因为 QQ SDK 版本低了导致

iOS 端退出 AuthenticationServices 在低零碎会解体的问题

dyld: Library not loaded: /System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices Referenced from: /var/containers/Bundle/Application/56CA4BD6-3EE3-4088-98C6-CB3A9A60C083/chongfa.app/chongfa Reason: image not found

须要把库设置为 Optional 可选;低版本不反对这个依赖库;

iOS 端 error\_code=200101, description= 参数谬误:text}

结构分享参数可能独自定制某个平台的接口,或者平台类型传的是总的类型

iOS 端每个平台报 error\_code=200100, description=Platform configuration error:Connector is not exsit}谬误问题

报这种问题是因为失落了平台的 Connection 的文件,如果是 pod 集成,可能没有写对应的平台的命令导致

iOS 端分享报 error\_code=200100, description= 平台配置谬误:appid is nil 这个谬误

第一,有可能是应用了新版本,然而初始化这些还是旧版本的初始化导致,第二是没有在 plist 文件里正确配置初始化咱们 SDK 的 AppKey 等信息,第三,是可能在咱们的后盾关上了平台配置的状态开关,然而没有配置 AppId

iOS 端微博报错

Error Domain=ShareSDKErrorDomain Code=200301 “(null)” UserInfo={error\_code=200301, statusCode=-3}

Error Domain=ShareSDKErrorDomain Code=200301 “(null)” UserInfo={error\_code=200301, statusCode=-5}

Error Domain=ShareSDKErrorDomain Code=200301 “(null)” UserInfo={error\_code=200301, statusCode=-8}
要查看下 ATS 配置了没有,曾经在微博上注册的 bundle id 是否跟本人我的项目里的 Bundle id 填写统一,另外还有在微博上注册的利用有没有提交给微博那边审核

iOS 端 unity 中 Facebook 报错

有可能是 SDK 更新到最新版本,然而 Facebook 初始化还是用的旧版本的初始化,旧版本的初始化有设置这个 authtype 的,新的初始化曾经没有了这个参数。能够查看下初始化

iOS 端 Facebook 报错 error\_code:200302,error\_msg:”Failed to authenticate the application because of app name mismatch.Please check the application name configured by the dialog.”

须要查看 Facebook 初始化 displayname 填写是否和在 Facebook 上注册的利用名称统一,最好是英文名,其次查看这个开关是否关上:

iOS 端 Facebook 分享链接模式没有任何内容显示的问题

须要查看下本人传的链接,可能是传的链接有问题

iOS 端 Facebook 分享是否能够不传 AppSecret

Facebook 分享能够不传 AppSecret,然而不能传 nil 或者 null,能够传任意大于 0 的字符串

iOS 端 Facebook 分享胜利了,然而回调走的失败,报未知状态的谬误问题

这个问题是因为 Facebook 自身没有返回正确的回调状态导致的问题,目前解决这个问题的方法,是在分享之前加下受权的办法,先受权在分享

[ShareSDK authorize:SSDKPlatformTypeFacebook settings:nil onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {if (state== SSDKResponseStateSuccess) {NSLog(@"%@",user.rawData);
}
else{NSLog(@"%@",error);
}
}];


iOS 端 Facebook 报错:200302:”(#100) Tried accessing nonexisting field (security\_settings) on node type (User)”

新注册的 Facebook 用户用的咱们的老版本的 SDK 可能会报这个谬误,只须要更新 SDK 就能够

iOS 端 Facebook 报错:[FBSDKBasicUtility dictionary:setObject:forKey:]

我的项目里有 2 个 Facebook 的 SDK 导致

iOS 端 Facebook 登陆报错

是因为应用的 pod ‘mob\_sharesdk/ShareSDKPlatforms/Facebook\_Lite’,这个命令,没有导入残缺的 Facebook 的 SDK 导致的谬误

iOS 端 Facebook 报错:ShareSDKErrorDomain Code=200000 “(null)” UserInfo{com.facebook.sdk:FBSDKErrorArgumentNameKey=videoURL, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Must

结构分享参数里的 type 可能抉择了 Auto 类型,而后主动把 url 视作视频来分享,所以导致这个报错,如果要分享链接要抉择 webpage 类型

iOS 端 Twitter 分享报错问题

Error Domain=ShareSDKErrorDomain Code=200302 “(null)” UserInfo={error\_code=200302, user\_data={ error = “Read-only application cannot POST.”; request = “/1.1/statuses/update.json”;}}

首先把权限改为第三个

如果还不行,能够重置这些:

iOS 端 SnapChat 登陆报错问题

NSInvalidArgumentException’, reason: ‘-[NSTaggedPointerString containsObject:]: unrecognized selector sent to instance 0xa43c868d15dff13d

LSApplicationQueriesSchemes 设置成 String 类型了。所以 SDK 将它读取成 String 时,解析失败,报错了。改为 Array。

iOS 端 Kakao Error Domain=KLKErrorDomain Code=11 “”templateId” is nil.” UserInfo={NSLocalizedFailureReason=”templateId” is nil

kakao 须要设置独自定制接口,设置模板 id 才行

iOS 端 No visible @interface for ‘SSDKRegister’ declares the selector ‘setupWeChatWithAppId:appSecret:’

找不到接口,头文件导入问题或者 SDK 导入问题,还有可能是用户本人我的项目里有自定义雷同名称的宏导致的

iOS 端 LinkedIn 问题

LinkedIn 分享 visibility 传值,不能传 connection-only,分享 text 和链接能够传 PUBLIC 以及 CONNECTIONS,也能够传 nil

iOS 端 unity 里如何删除掉不要的平台的库文件

如果在 unity 里只删除掉原生 SDK 里的微信 SDK,生成 XCode 会找不到 ShareSDK.h 文件,整个 SDK 都不会生成在 XCode 里,这个不仅要删除掉微信 SDK,还须要把其余文件里的相应的平台的库文件给删除掉才行,如果只是删除掉原生 SDK,须要把 pltpds 文件里的 folders 字段删除掉

iOS 端 Youtube

Youtube 报错,youtube 外面的 appsSecret 不能传 nil,能够传空或者其余轻易的值

iOS 端 Swift 版本中分享菜单要设置某平台不弹出编辑界面的问题,设置有效的问题

是因为平台类型写的不对导致,须要这样写 SSDKPlatformType.typeWechat.rawValue;前面肯定要加 rawValue 参数

iOS 端 unity 中分享报错 error\_code=200101, description=Parameter error:text

是因为结构分享参数里传值有问题

content.SetContentType(ContentType.Image);

这个参数写错导致的问题,应该这样写 content.SetShareType(ContentType.Image);

iOS 端如下图

须要设置零碎最低反对 iOS8.0

iOS 端 swift 中报错:-[\_\_SwiftValue iconNormal]: unrecognized selector sent to instance 0x170244a10

在 swift 中传平台类型须要加 rawValue,例如 SSDKPlatformType.typeSinaWeibo.rawValue

iOS 端 -[WBImageObject setDelegate:]: unrecognized selector sent to instance 0x282b44860

这个谬误是因为我的项目里不仅有咱们 SDK 的微博 SDK,还本人下载了晚期的微博 SDK,没有删除洁净,或者是其余第三方的外面有微博 SDK,须要都删除掉,只保留咱们 SDK 里的微博 SDK 就能够

iOS 端 unity 的默认的 AppKey 都改为本人的了,然而转成 Xcode 的之后,还是显示咱们默认的 AppKey 和配置

用户本人写了一个类,加了本人自定义的货色,例如:

这个自定义的须要把这个标识换成 [PostProcessBuildAttribute(0)] 这个才行

iOS 端 unity 中在应用咱们的组件下如何在配置本人的 URL Scheme,才会不使咱们的配置笼罩本人的配置

unity 中本人我的项目里配置 URL Scheme,如何做?用户本人写了一个类,加本人的 URL Scheme,那么在本人的类外面引入 [PostProcessBuild(数字)] 或者 [PostProcessBuildAttribute(数字)] 这个属性标识 就行,要与咱们文件里的[PostProcessBuildAttribute(88)] 这个数字不同。也能够在咱们的文件里加他本人的 URL Scheme,能够在本人须要的社交平台的 pltpds 文件外面,增加本人须要设置的 scheme

iOS 端 NSInvalidArgumentException’, reason: ‘-[\_\_NSArrayM enqueue:]: unrecognized selector sent to instance 0x2833b7450’

须要在我的项目的 Build Settings 中的 Other Linker Flags 增加”-ObjC”

iOS 端 flutter 中如何自定义分享菜单,显示须要的平台

能够在弹出分享菜单的接口里的第一个参数里传下分享平台类型

SharesdkPlugin.showMenu(null, [ShareSDKPlatforms.qq,ShareSDKPlatforms.sina,ShareSDKPlatforms.wechatSeries], params, (SSDKResponseState state,
        ShareSDKPlatform platform,
        dynamic userData,
        dynamic contentEntity,
        SSDKError error) {showAlert(state, error.rawData, context);
    });

iOS 端 error\_code=200201, description= 文件未加载 :sharesdk.js

这个问题是因为 unity 转成 XCode,本人手动把 unity 里的原生 SDK 导入到 XCode 里导致的,手动导入的话,须要本人在官网下载 SDK,或者是改后缀

iOS 端微信分享报如下谬误:error\_code=200302, error\_message=The request timed out., description=Request failed

网络问题,设置了代理;

iOS 端苹果登陆报错问题

Error Domain=ShareSDKErrorDomain Code=200100 “(null)” UserInfo={error\_code=200100, description=Platform configuration error:create ASAuthorizationAppleIDProvider request Fail!

须要加 AuthenticationServices.framework 依赖库

要查看是不是企业证书测试,不反对企业证书;

iOS 端用户本人创立公有库,公有库里依赖咱们的 SDK,而后整个我的项目里在 pod 用咱们的 SDK 来应用进行分享,会导致分享不了,是什么起因

须要查看下本人创立的公有库 framework

要设置成 static 类型的,如果把 Framework 设置为 dynamic 类型,会不能应用,自制的 framework 个别是动态的,零碎的 framework 是动静的,用户本人制作动静库上架会有问题,具体的能够百度

iOS 端闭环分享不走回调

第一查看前端网页里是否有加 targetAction\_iOS 参数;第二查看代理办法是否有在启动的时候调用到[ShareSDK setRestoreSceneDelegate:self];;第三闭环分享的库文件有没有导入

iOS 端应用咱们的分享菜单接口, 点击任意按钮都是走的勾销的问题

要查看触摸事件是否重写或者扩大了,例如

[[self nextResponder] touchesBegan:touches withEvent:event]; 相当于将事件交给了下层也就是分享视图的彩色区域 view,须要把外面的办法正文掉。还有写扩大了,把扩大删除掉也能够。

iOS 端如何查看 ShareSDK 版本大小

能够在我的项目根目录里找到 ShareSDK.framework,看下 plist 文件,外面有版本号

iOS 端如何查看 QQ,微信,微博等 SDK 的版本号

1. 微信:

#import "WXApi.h" 
 NSLog(@"微信 ==%@",[WXApi getApiVersion]);

2.QQ:

#import <TencentOpenAPI/TencentOAuth.h>
 NSLog(@"QQ==%@",[TencentOAuth sdkVersion]);

3. 微博:

#import "WeiboSDK.h" 
 NSLog(@"新浪微博 ==%@",[WeiboSDK getSDKVersion]);

iOS 端间接导入

#import <ShareSDK/SSDKUser.h>

报错:

不能间接就引入这个

#import <ShareSDK/SSDKUser.h>

而是须要引入这个

#import <ShareSDK/ShareSDK.h>

很多货色都是相互依赖的,引入这个就能够

iOS 端 APICloud 中的平台配置 key 次要读取哪里的

config.xml 以及 key.xml 都能够配置平台的 AppKey,config.xml 中的平台 AppKey 配置级别比 key.xml 里的低,iOS 能够反对 config.xml 和 key.xml 任意一个,config.xml 比拟不平安,如果把 app 下载下来解压包,能获取到 config.xml 文件信息,key.xml 比拟平安,最终整个文件都是加密过的

iOS 端邮件分享,分享胜利曾经走胜利回调里,然而没有进去邮箱没有看到分享的货色

第一可能是在草稿箱里,第二邮箱退出,从新在登陆看下

iOS 端抖音报 200500: 权限回绝

抖音须要相册权限,即便是网络图片,也是先把网络图片下载到相册,而后调用的抖音 SDK 接口进行分享, 还有可能是在抖音上没有开明权限,还要点击前面的配额申请配额:

iOS 端 Flutter 分享本地图片到 QQ,报错 code:200303

是因为 iOS 中 qq 分享图片没有传 title

iOS 端 CocoPods 中 swift 集成更新咱们 SDK 到 4.x 版本可能会产生以下谬误

4.4.1 版本里援用的 QQ SDK 是 3.5.3 版本,在桥接文件中引入

#import <TencentOpenAPI/TencentOpenApiUmbrellaHeader.h>

会产生以下谬误

找到如下图文件:

// 批改一下 module.modulemap 这个文件
// 文件批改后的内容:framework module TencentOpenAPI {
  header "QQApiInterface.h"
  header "QQApiInterfaceObject.h"
  header "TencentOAuth.h"
  header "TencentOpenApiUmbrellaHeader.h"
  header "sdkdef.h"

  export *
}

iOS 端 TikTok 分享报错:200101,description=ShareSDK\_pleaseSelectMoreImage

这是因为 TikTok 只反对分享多图,多视频,不能分享单图,单视频等

iOS 端 TikTok 分享报错:200102,description= 不反对的 contentType

图片分享的时候,他可能传了 url 的值,设置了 webpage 的类型,传 nil 就能够

iOS 端 google 登陆报错问题

Domain=ShareSDKErrorDomain Code=200302 “(null)” UserInfo={error\_code=200302, user\_data={ error = “invalid\_client”; “error\_description” = Unauthorized;}}

查看 google 初始化信息,外面的 clientSecret 须要传空

[platformsRegister setupGooglePlusByClientID:@"281551249907-b11nkc278fc3l07afe21glng0ogc0jqj.apps.googleusercontent.com" clientSecret:@""redirectUrl:@"http://localhost"];

iOS 端 QQ 报错问题

在我的项目里援用 QQ 的头文件,之前有援用过的都要删除,须要引入如下头文件

#import <TencentOpenAPI/TencentOpenApiUmbrellaHeader.h>

iOS 端 QQ 登陆报错

这个谬误除了查看平台初始化接口是否调用到,还须要查看在咱们后盾是否把第三方配置的状态开关关上了,然而信息没有配置;除了这些还须要查看 URL Scheme 和白名单是否配置失常,白名单配置如下:

<string>mqqopensdkminiapp</string>
<string>mqzone</string>
<string>mqqopensdklaunchminiapp</string>
<string>mqqopensdkapiV2</string>
<string>tim</string>
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>

iOS 端 Kakao 登陆的流程

 kakao 当初分享是须要 talk 的受权,如果 talk 没有装置的话,会间接报错 talk 未装置,不会在弹网页受权的。之前没有装置 talk,story,是能够弹出网页,然而即便弹出了 talk 的网页受权,在手机号登陆的状况下,网页受权还是须要用户在 talk app 中点击个批准的操作进行二次验证能力通过受权,所以咱们这块逻辑改掉了,只有没有装置 talk,就不在弹出网页受权,提醒须要装置 talk。起初因为用户反馈,在邮箱登陆下,是能够间接弹出网页受权分享的。起初咱们就去掉这个报错 talk 未装置的提醒了。

iOS 端 FacebookMessage 和快手分享留神

Facebook 是能够用对立结构分享参数的,message 和快手的平台只能用定制接口

iOS 端 unity 中如何判断是否装置第三方平台

bool IsClientInstalledWechat = ssdk.IsClientValid (PlatformType.WeChat);
  if(IsClientInstalledWechat == true){print ("wechat IS installed !");
}else if (IsClientInstalledWechat  == false){print ("wechat NOT installed !");
}

iOS 端企业微信报错:errCode=6, error\_code=200301, errStr=Invalid filedata

分享网络图片会报这个,weowork 不反对图片是网络地址,然而通过这种转换 share 会对图片进行一次下载到本地在传输 path

如果是本地图片,能够试试如下

或者景象是跳转到企业微信之后又跳转回来,也有可能是必要的参数没有传,能够查看下,像要分享独自的图片,title 必须要传。

iOS 端微信好友分享链接,从苹果端分享进来,在从安卓端无奈关上分享的链接问题

查看结构分享参数这块,其中 type 类型须要抉择 webpage 类型,不能抉择 auto 类型

iOS 上 XCode14 用 Pod 集成兼容方法蕴含自动化打包

最近在 Xcode14 上会呈现这个谬误:Pods/Pods.xcodeproj Signing for “mob\_sharesdk-ShareSDK” requires a development team. Select a development team in the Signing & Capabilities editor.

第一种解决办法:

如下图所示

第二种解决办法:

能够解决自动化打包问题,能够在 Podfile 中增加如下脚本代码:

target 'TXcode14' do
use_frameworks!
pod 'mob_sharesdk'

#增加如下脚本即可
post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
      target.build_configurations.each do |config|
          config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
      end
    end
  end
end

end

iOS Google 受权报错如下

Error Domain=ShareSDKErrorDomain Code=200300 “(null)” UserInfo={SEL=authStateByPresentingAuthorizationRequest:presentingViewController:callback:, error\_code=200300, NSUnderlyingError=0x280c21ce0 {Error Domain=com.apple.AuthenticationServices.WebAuthenticationSession Code=2 “Cannot start ASWebAuthenticationSession without providing presentation context. Set presentationContextProvider before calling -start.” UserInfo={NSDebugDescription=Cannot start ASWebAuthenticat

此报错问题,可能为页面跳转形式引起,modalPresentationStyle 的问题导致,抉择 none 类型即可,另外 iOS 目前会间接返回邮箱,打印[user credential].rowdata 应用即可.。如需通过 token 置换用户信息,须要通过 user.credential.token 获取到 accessToken,再通过 Google 的 v2/userinfo 接口获取,参考下图

退出移动版