iOS7.1以及iOS9.2与之前的不同
先说下要适配iOS9要做的事:
1.更改http为https
两种方案:
一.公司后台服务器更改;
二.作为开发者,可在Xcode暂时退回到http协议. 开发者更改方法如下:
1.在Info.plist中添加App Transport Security Settings (或NSAppTransportSecurity), 类型Dictionary。
2.在App Transport Security Settings下添加Allow Arbitrary Loads (或NSAllowsArbitraryLoads), 类型Boolean,值设为YES.
2.对于使用ShareSDK第三方登录或分享,对iOS9的适配
可参考官方文档详细介绍: 适配iOS 9系统
包括:https协议支持,关闭bitcode支持,添加Scheme白名单.
3.Xcode7报错:Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:]
从iOS9开始,Xcode7需要所有UIWindow在makeKeyAndVisible之前必须有一个rootViewController,否则报以上错误。
解决方案:
UIViewController *emptyView = [[UIViewController alloc] init];
self.window.rootViewController = emptyView;
[self.window makeKeyAndVisible];
4.Xcode7打开旧项目FrameWork文件夹下的.dylib库缺失,添加方法
项目Target中Link Binary With Libraries 点击下方 “+”添加, 显示搜索页面,在此搜.dylib搜不出来(只能搜到同名的.tbd), 需点击 Add Other,出现文件目录页面 (正常情况通过Finder同样找不到.dylib文件,因该文件是隐藏文件。需按快捷键 CMD+Shift+G,输入/usr/lib后进入隐藏界面,然后添加需要的.dylib即可。
5.Xcode7 真机测试,真机出现"unavailable"字样,Could not find developer disk image.
stackoverflower答案: 点击查看
解决方案:
先关闭Xcode.再从Xcode 6.4中,拷贝8.4 (12H141)文件夹到Xcode 7的对应目录下.
Xcode 6.4路径为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
Xcode 7路径为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
重新打开Xcode 7,打开项目,需要等一会,等到菊花不转了,才能运行。
6.App上传Appstore错误
![](/assets/blank.gif)
![](/assets/blank.gif)
- Bundle version
- Bundle identifier
- Bundle versions string, short
![](/assets/blank.gif)
7.App上传Appstore错误
“invalid package Applications built with SDK 9.0 or later must be packaged as proper IPA files.”
1
2
3
4
5
6
7
8
9
10
|
#!/bin/bash
APPNAME= "appName"
ZIPNAME= "zipName"
IPANAME= "ipaName"
mkdir ./ipa/Payload
cp -r ./${APPNAME}.app ./ipa/Payload
cd ipa
zip -r ${ZIPNAME} *
mv ${ZIPNAME}.zip ${IPANAME}.ipa
|
8.App上传Appstore错误
ERROR ITMS-90535 Unexpected CFBundleExecutable Key.
解决方案:
2,在Stackoverflow上也有相关的解决办法,就是把无用的CFBundle删除掉。 点击查看
在工程里面搜索info.plist,可以先搜索info,找到第三方的info.plist文件,删除里面的Executable file对应的一整行,包括值。
![](/assets/blank.gif)
![](/assets/blank.gif)
-> 0x2be590cc <+0>: bx lr
在网上看到的答案:
选 Project,然后进 BuildPhases,然后进 LinkBinaryWithLibraries. 找到 GLKit.Framework ,把它的 status 更改为 optional 就 ok.(如果没有GLKit.Framework, 添加一个再设置)
因bug无法重现,无法验证以上方法是否可行.
<2>Xcode7.1真机测试启动崩溃,模拟器正常,添加Enable Address Sanitizer调试,崩溃在启动页.
暂时解决办法: 用Xcode 6.3.2运行打包即可.
libclang_rt.asan_ios_dynamic.dylib`__asan::AsanDie:
-> 0x5e8240 <+0>: push {r4, r5, r7, lr} //代码崩溃在此行
0x5e8242 <+2>: add r7, sp, #0x8
0x5e8244 <+4>: dmb ish
打印信息如下:
AddressSanitizer debugger support is active. Memory error breakpoint has been installed and you can now use the 'memory history' command.
==891==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING.
==891==ASan shadow was supposed to be located in the [0x3ffff000-0x5fffffff] range.
==891==Process memory map follows:
0x3af88000-0x3af89000 /usr/lib/libgcc_s.1.dylib
0x3da44000-0x434ec000 /usr/lib/libgcc_s.1.dylib
0x36556000-0x3655f000 /System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth
0x3cf7c000-0x3cf7d000 /System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth
0x3da44000-0x434ec000 /System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth
0x34a47000-0x34a4e000 /System/Library/PrivateFrameworks/BluetoothManager.framework/BluetoothManager
0x3c671000-0x3c673000 /System/Library/PrivateFrameworks/BluetoothManager.framework/BluetoothManager
0x3da44000-0x434ec000 /System/Library/PrivateFrameworks/BluetoothManager.framework/BluetoothManager
........省略中间部分
0x3b1a3000-0x3b2f5000 /usr/lib/libicucore.A.dylib
0x3d91a000-0x3d92c000 /usr/lib/libicucore.A.dylib
0x3da44000-0x434ec000 /usr/lib/libicucore.A.dylib
0x3b92b000-0x3b9c2000 /usr/lib/libsqlite3.dylib
0x3d977000-0x3d979000 /usr/lib/libsqlite3.dylib
0x3da44000-0x434ec000 /usr/lib/libsqlite3.dylib
0x005b0000-0x00604000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/Frameworks/libclang_rt.asan_ios_dynamic.dylib
0x00604000-0x00a60000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/Frameworks/libclang_rt.asan_ios_dynamic.dylib
0x00a60000-0x00aa0000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/Frameworks/libclang_rt.asan_ios_dynamic.dylib
0x005ad000-0x005ae000 /Library/MobileSubstrate/MobileSubstrate.dylib
0x005ae000-0x005af000 /Library/MobileSubstrate/MobileSubstrate.dylib
0x005af000-0x005b0000 /Library/MobileSubstrate/MobileSubstrate.dylib
0x00010000-0x00014000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/wojsww
0x00014000-0x00370000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/wojsww
0x00370000-0x003f4000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/wojsww
0x003f4000-0x005ac000 /var/mobile/Applications/D0115D17-C682-41AD-8E5C-D9DA83CF1053/wojsww.app/wojsww
==891==End of process memory map.
AddressSanitizer report breakpoint hit. Use 'thread info -s' to get extended information about the report.
iOS7.1以及iOS9.2与之前的不同相关推荐
- iOS9联系人保存详解
苹果在iOS9的SDK中废除了AddressBookUI.framework的一些功能(是不是这个库都废除了,有待验证),具体和保存联系人相关的几个系统界面如下: 联系人选择:AddressBookU ...
- iOS 企业包无法安装
通用方案 请先参考这里: 1.iOS ipa 安装包安装失败原因 2.iOS企业应用安装失败原因排查 如果上面的打不开 请看文末的原文 还没解决?(这是不是原因) 看看这里 我遇到情况是 项目的pro ...
- 【NEO官方】一键新机 改串 安装教程 ios一键新机 ios9 ios8 ios7均可用
NEO 支持IOS9一键新机了 IOS8设备安装NEO IOS8 ; IOS9设备安装NEO9, 确定自己的设备版本后对应安装 设备进cydia下,点,(最下面)软件源,编辑,添加,源输入apt.so ...
- iOS9的新特性以及适配方案
1. 限制HTTP协议,全部改用更安全的HTTPS iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输.直接造成的情况就是App发请求的时候弹出网络无法 ...
- iOS9 App Thinning(应用瘦身)功能介绍
iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...
- 访问通信录 适配iOS7
昨天学习iOS中访问用户通信录的一个框架AddressBookUI.framework,这是个自带UI界面的系统框架,第一次访问要获得用户的授权. 因为是已经封装好的所以,用起来也比较方便 导入框架# ...
- iOS9适配http,微信、qq、支付宝添加白名单
: 一.网络适配由http改成https 苹果官方对App Transport Security Technote的解释如下: 翻译成中文的意思就是说:iOS9.0SDK在编译的时候,默认所有从NSU ...
- iOS9获取手机序列号serialNumber(UDID)
iOS9获取手机序列号serialNumber(UDID) http://www.jianshu.com/p/b48524a4aff2 作者 LeonLei 关注 2016.10.26 11:44 ...
- ios微信组件跳转_在iOS9中突破微信App跳转的限制
前言 微信的普及程度相信不需要多言了,稍微回忆一下自己上一条短信是什么时候,上一条微信又是什么时候就知道了. 因此通过微信传播也是绝大部分App的一个重要手段,但是在iOS7微信出的新版本,就开始不允 ...
最新文章
- Php的if自动转换类型,php之数据类型自动转换,php之数据类型转换_PHP教程
- 文巾解题 50. Pow(x, n)
- Linux服务器性能评估与优化--转
- 单调有界数列一定有极限
- 人脸情绪识别系统第一次迭代总结
- 未处理sqlexception中value_plsql异常处理
- 泰克示波器查眼图_泰克示波器
- Linux常用指令和系统管理命令总结
- 2013年全球ERP市场格局(Gartner)
- 函数基本使用-第一个函数演练
- java图片裁剪并保存_java裁剪图片并保存的示例分享
- 完整nagios安装最新pnp版绘图-sync模式
- 经济情况越不好越要做好这三点
- 2021-2025年中国伊帕斯行业市场供需与战略研究报告
- 云知声今年要量产三款芯片,还公布了多模态AI芯片规划
- mzy git学习,初识git(一)
- Leap Motion 上手体验
- VSCode中使用vue项目ESlint验证配置
- H3C ospf与nat转换
- 10款超牛Vim插件,爱不释手了