今日在做第三方社会化分享的时候 ,选用了常用的ShareSDK3 for iOS,按照文档把所有流程走了下来,在模拟器6上也可以正常运行.
注意的是ShareSDK官方着重提示 : 由于苹果审核政策需求,对于那些需要客户端分享的平台,例如微信,QQ,QQ空间等,我们的分享菜单的方法里已经处理,没有安装客户端是不会在分享菜单上显示的,只有安装了才会显示。(很方便开发)
这时候问题出现了,在切换到模拟器5的时候,程序无法正常运行了.
因为使用ShareSDK模拟器5无法运行的时候,错误提示i386,为了双重保险,检查相关头文件导入,类使用,和SDK路径等无问题后,我把问题定向到所使用的框架上,于是联系ShareSDK官方技术顾问,但是由于太晚还是周末所以无回应-.-#.
我是一个急躁的人,于是乎-我把所有调用ShareSDK相关的代码以及SDK全部删除 (好后悔,为什么不是注释QAQ) .换友盟!
在集成友盟后,在模拟器5上面出现了与ShareSDK同样的问题.而且都出现在QQAPI TencentAPI上,问题显而易见,SDK结构适应问题.于是打开腾讯开发平台官网看到了以下信息-
armv7是支持比iphone5旧的那些设备,armv7s是iphone5或ipad4或者以后的新设备,i386是mac的。这些名字指的是处理器所用的指令集。 可以理解为支持i386的SDK程序在模拟器任何版本上才可以正常运行.而本文问题就是因为5以及5以下所使用的SDK是必须支持i386的,而如图所示Tencent Open API - iOS 更新后删除了对i386的支持,所以造成了6上面可以正常运行,而5及5以下都不可以.
解决方案:模拟器5s以下虽然不可以运行,但是真机上面都可以正常运行,而且有人测试可以通过审核的!无需担心.
发表此文也是为了提醒大家,也防止多人入坑,纠结这个问题. (表达能力较差,不知道是否恰当,希望能解决读者的困惑,多提意见哦!)