ShareSDK可以打开小程序吗?可以的;
离线集成,可以直接删除Jar包的方式即可,ShareSDK开头的jar包,除了ShareSDK-core这个jar不能删除,其他的按需要的删除即可;Gradle集成的方式,是您在MobSDK下的ShareSDK里面加了什么平台,它就会有什么平台,具体参数可以参考Demo中的MobSDK.gradle文件,这里有全量的平台配置;
我认为第三方key的配置,配置在xml中,或者gradle中配置不安全,有其他的配置方式吗A11.ShareSDK提供了三种配置方式,一是在ShareSDK后台配置,二是在客户端中代码配置,三是常规在xml中或者gradle文件中配置,SDK的访问优先级依次递减,也就是说如果您在ShareSDK后台配置了,就不会访问代码中和xml中的配置参数了;具体配置查看文档:第三方平台初始化配置;
在oks.show之前添加代码,自己可以控制,注意oncomplete中是子线程,给提示的话需要传到UI线程中添加提示;
oks.setCallback(newPlatformActionListener(){
publicvoidonComplete(Platformplatform,inti,HashMap
}
publicvoidonError(Platformplatform,inti,Throwablethrowable){
});
privatevoidshowShare(Stringplatform){
finalOnekeyShareoks=newOnekeyShare();
if(platform!=null){oks.setPlatform(platform);
oks.setDisappearShareToast(true);
oks.setSilent(true);
.............
oks.show(MobSDK.getContext());
错误原因:回调地址配置问题;检查一下gradle集成代码中配置的回调地址配置和line开发者后台配置的是否一致;
这个一般是没有使用ShareSDKFileProvider导致的,反编译apk检查一下Manifest,看一下是否有一下配置,如果没有手动在Manifest中添加上
shareByAppClienttrue //游戏类账号配置 经过测试发现有红包和领取者两个词不能同时出现,红包中间加空格,标点符号都不行。 这个错误是指code的被用了多次,有可能是用户自己在项目里不仅调用了我们的接口,还有使用原生的接口处理了某些东西引起,这个要具体检查代码,还有可能是在系统回调例如openurl里做了某些处理引起的,可以先把自己一些处理注释掉,重新试下 /** */ +(void)setWXCallbackOperation:(void(^)(idreq,idresp))operation; 示例代码 #import [WeChatConnectorsetWXCallbackOperation:^(idreq,idresp){ }]; -(BOOL)application:(UIApplication*)appopenURL:(NSURL*)urloptions:(NSDictionary { [WXApihandleOpenURL:urldelegate:self]; returnYES; 丢失了mqqopensdkapiV4这个白名单 需要检查 查看Teamid等信息 (4)查看后台有没有配置平台的初始化信息,如下图: 检查白名单配置是否完整,有可能是这个配置问题 #import dyld:Librarynotloaded:/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServicesReferencedfrom:/var/containers/Bundle/Application/56CA4BD6-3EE3-4088-98C6-CB3A9A60C083/chongfa.app/chongfaReason:imagenotfound 需要把库设置为Optional可选;低版本不支持这个依赖库; 报这种问题是由于丢失了平台的Connection的文件,如果是pod集成,可能没有写对应的平台的命令导致 第一,有可能是使用了新版本,但是初始化这些还是旧版本的初始化导致,第二是没有在plist文件里正确配置初始化我们SDK的AppKey等信息,第三,是可能在我们的后台打开了平台配置的状态开关,但是没有配置AppId 需要检查下自己传的链接,可能是传的链接有问题 [ShareSDKauthorize:SSDKPlatformTypeFacebooksettings:nilonStateChanged:^(SSDKResponseStatestate,SSDKUser*user,NSError*error){ if(state==SSDKResponseStateSuccess){ else{ 首先把权限改为第三个 如果还不行,可以重置这些: LSApplicationQueriesSchemes设置成String类型了。所以SDK将它读取成String时,解析失败,报错了。改为Array。 kakao需要设置单独定制接口,设置模板id才行 找不到接口,头文件导入问题或者SDK导入问题,还有可能是用户自己项目里有自定义相同名称的宏导致的 Youtube报错,youtube里面的appsSecret不能传nil,可以传空或者其他随便的值 是因为平台类型写的不对导致,需要这样写SSDKPlatformType.typeWechat.rawValue;后面一定要加rawValue参数 content.SetContentType(ContentType.Image); 这个参数写错导致的问题,应该这样写content.SetShareType(ContentType.Image); 需要设置系统最低支持iOS8.0 在swift中传平台类型需要加rawValue,例如SSDKPlatformType.typeSinaWeibo.rawValue 这个错误是因为项目里不仅有我们SDK的微博SDK,还自己下载了早期的微博SDK,没有删除干净,或者是其他第三方的里面有微博SDK,需要都删除掉,只保留我们SDK里的微博SDK就可以 用户自己写了一个类,加了自己自定义的东西,例如: 这个自定义的需要把这个标识换成[PostProcessBuildAttribute(0)]这个才行 需要在项目的BuildSettings中的OtherLinkerFlags添加”-ObjC” SharesdkPlugin.showMenu(null,[ShareSDKPlatforms.qq,ShareSDKPlatforms.sina,ShareSDKPlatforms.wechatSeries],params,(SSDKResponseStatestate, ShareSDKPlatformplatform, dynamicuserData, dynamiccontentEntity, SSDKErrorerror){showAlert(state,error.rawData,context); 网络问题,设置了代理; 需要加AuthenticationServices.framework依赖库 要检查是不是企业证书测试,不支持企业证书; 需要检查下自己创建的私有库framework 要检查触摸事件是否重写或者扩展了,例如 可以在项目根目录里找到ShareSDK.framework,看下plist文件,里面有版本号 #import 3.微博: #import 报错: 不能直接就引入这个 而是需要引入这个 #import 很多东西都是互相依赖的,引入这个就可以 config.xml以及key.xml都可以配置平台的AppKey,config.xml中的平台AppKey配置级别比key.xml里的低,iOS可以支持config.xml和key.xml任意一个,config.xml比较不安全,如果把app下载下来解压包,能获取到config.xml文件信息,key.xml比较安全,最终整个文件都是加密过的 会发生以下错误 找到如下图文件: //修改一下module.modulemap这个文件 //文件修改后的内容: frameworkmoduleTencentOpenAPI{ export* 这个错误除了检查平台初始化接口是否调用到,还需要检查在我们后台是否把第三方配置的状态开关打开了,但是信息没有配置;除了这些还需要检查URLScheme和白名单是否配置正常,白名单配置如下: boolIsClientInstalledWechat=ssdk.IsClientValid(PlatformType.WeChat);if(IsClientInstalledWechat==true){ }elseif(IsClientInstalledWechat==false){ 如果是本地图片,可以试试如下 第一种解决办法: 如下图所示 第二种解决办法: 可以解决自动化打包问题,可以在Podfile中添加如下脚本代码: