Unity3d+ShareSDK+IOS9.1 编译错误(备忘)
2015-12-03 18:38
676 查看
########### 补充 ############
sharesdk ios9 分享界面默认显示英文,跳坑测试,删掉多余本地化配置就可以了(留了三条),别问我为什么。如下图
######## 补充 END ############
开发环境:
Unity 4.6.9
Xcode 6.4
Xcode 7.1
IOS纯白菜,总之跑通了。。。。。。。。。
背景:unity3d+Sharesdk+Android 一切正常。Xcode7.1,Xcode6.4打开工程编译错误,再加上IOS9适配问题。
以下为经过多次跳坑,简单粗暴的经验:
1.Unity发布Xcode工程 (注意勾掉Show Unity Splsh Screen)
2.使用Xcode 6.4 打开工程且切换到ios sdk 8.4(不要直接ios9,否则后边引用的库找不到啊找不到)
3.将下载的sharesdk ios 版压缩包解压,将其下的sharesdk 拖拽到工程
4.将以下全部引用,别问为什么
5.修改代码
打开unityappcontroller.mm文件。加入头文件sharesdk/sharesdk.h,
将以下代码替换至截图位置。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url
{
return [ShareSDKhandleOpenURL:url wxDelegate:nil];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)urlsourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [ShareSDKhandleOpenURL:url sourceApplication:sourceApplication annotation:annotationwxDelegate:nil];
}
替换以下代码。否则无法弹出分享界面。
6.添加URL Type
##################### 关闭Xcode6.4工程,保存备份 #######################
7.使用Xcode7.1打开工程,切换到ios 9.1后,BitCode指定为否
8.iOS9适配1:
9.iOS9适配2:
2)、然后给它添加一个需要支持的项目,类型为字符串类型;
END
sharesdk ios9 分享界面默认显示英文,跳坑测试,删掉多余本地化配置就可以了(留了三条),别问我为什么。如下图
######## 补充 END ############
开发环境:
Unity 4.6.9
Xcode 6.4
Xcode 7.1
IOS纯白菜,总之跑通了。。。。。。。。。
背景:unity3d+Sharesdk+Android 一切正常。Xcode7.1,Xcode6.4打开工程编译错误,再加上IOS9适配问题。
以下为经过多次跳坑,简单粗暴的经验:
1.Unity发布Xcode工程 (注意勾掉Show Unity Splsh Screen)
2.使用Xcode 6.4 打开工程且切换到ios sdk 8.4(不要直接ios9,否则后边引用的库找不到啊找不到)
3.将下载的sharesdk ios 版压缩包解压,将其下的sharesdk 拖拽到工程
4.将以下全部引用,别问为什么
5.修改代码
打开unityappcontroller.mm文件。加入头文件sharesdk/sharesdk.h,
将以下代码替换至截图位置。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url
{
return [ShareSDKhandleOpenURL:url wxDelegate:nil];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)urlsourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [ShareSDKhandleOpenURL:url sourceApplication:sourceApplication annotation:annotationwxDelegate:nil];
}
替换以下代码。否则无法弹出分享界面。
6.添加URL Type
##################### 关闭Xcode6.4工程,保存备份 #######################
7.使用Xcode7.1打开工程,切换到ios 9.1后,BitCode指定为否
8.iOS9适配1:
9.iOS9适配2:
添加Scheme白名单。
问题描述:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme。对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端。因此要支持客户端的分享和授权等,需要配置Scheme名单。具体方法:
1)、在项目的info.plist中添加一LSApplicationQueriesSchemes,类型为Array。2)、然后给它添加一个需要支持的项目,类型为字符串类型;
各平台OpenURL白名单说明 | |
新浪微博 | sinaweibo, sinaweibohd, sinaweibosso, sinaweibohdsso, weibosdk, weibosdk2.5 [后两个若导入新浪SDK则需要] |
腾讯微博 | TencentWeibo, tencentweiboSdkv2 [控制台会提示这两个,但是腾讯微博SDK已经弃用,可以忽略不配置] |
豆瓣 | 无需配置 |
开心网 | 无需配置 |
微信 | wechat, weixin |
易信 | yixin, yixinopenapi |
支付宝 | alipay, alipayshare |
QQ | mqqOpensdkSSoLogin, mqqopensdkapiV2, mqqopensdkapiV3, wtloginmqq2, mqq, mqqapi |
QZONE | mqzoneopensdk, mqzoneopensdkapi, mqzoneopensdkapi19, mqzoneopensdkapiV2, mqqOpensdkSSoLogin, mqqopensdkapiV2, mqqopensdkapiV3, wtloginmqq2, mqqapi, mqqwpa, mqzone, mqq [注:若同时使用QQ和QZONE,则直接添加本格即可] |
Google+ | googlechrome, googlechrome-x-callback, hasgplus4, com.google.gppconsent, com.google.gppconsent.2.2.0, com.google.gppconsent.2.3.0, com.google.gppconsent.2.4.0, com.google.gppconsent.2.4.1 |
人人网 | renrenapi, renrenios, renreniphone, renren, 以及在使用人人SDK时所需配置的URL Scheme,例如:rm226427com.mob.demoShareSDK |
Facebook | fbauth2 |
Twitter | 无需配置 |
Pocket | pocket-oauth-v1 |
Pinterest | pinit |
Instagram | instagram |
WhatsApp | whatsapp |
Line | line |
KakaoTalk | kakaolink |
KaokaoStory | storylink |
LinkedIn | 无需配置 |
Tumblr | 无需配置 |
非平台类,如短信,复制,邮件等 | 无需配置 |
必看注意: | |
1.在iOS9中,如果没有添加上述白名单,系统会打印类似如下提示: .-canOpenURL: failed for URL: “sinaweibohdsso://xxx” – error: “This app is not allowed to query for scheme sinaweibohdsso”(如下图) 如没有添加相关白名单,有可能导致分享失败,例如不会跳转微信,不会跳转QQ等。 | |
2.添加完上述所需的名单,系统依然会打印类似信息: .-canOpenURL: failed for URL: “sinaweibohdsso://xxx” – error: “null” 这是系统打印的信息,目前是无法阻止其打印,即无法消除的 | |
3.上述白名单,是技术人员通过不断的测试收集整理所得,如果各位开发者朋友发现上表格有所遗漏,请根据系统信息添加相关白名单即可。 |
相关文章推荐
- Unity局部高效实时阴影的思考和实现
- Unity中的输入
- UNITY 2D入门基础教程
- Unity光照贴图
- Unity3D UGUI中Rect Transform的特性
- Unity血条实现
- Unity性能优化-内存优化
- Unity-NGUI不规则点击碰撞处理
- unity3d 根据tag查找物体编辑器工具
- Unity : Ran out of trampolines of type 2
- Unity性能优化-GPU优化
- Unity3D下NGUI插件使用中文TrueTypeFont(ttf)字库教程
- Unity3D Android手机开发环境配置,可真机发布调试
- Unity嵌入Android后Android视图获取不到事件焦点
- unity3d 发布后动态修改地形高度源码
- Unity 通过 www 下载 assetbundle , 在 iOS9 设备无法下载的问题
- unity3d利用sharesdk分享内容至微信、新浪微博、qq空间等国内主流社交平台(ios篇)
- Unity性能优化-总篇
- Unity5的uGUI中实现文字渐变效果(Gradient)
- Unity实现一个morpher/blendShape