先说下要适配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错误

ERROR ITMS-90049:"This bundle is invalid. The bundle identifier contains disallowed characters. [See the section of the Application Programming Guide entitled The Application Bundle.]"
解决方案:  
在项目导航栏搜索Info.plist文件
查找第三方的info.plist文件,如ShareSDK中的腾讯Bundle文件下的Info.plist文件。
在该文件下添加或者修改以下几个字段:
  • Bundle version
  • Bundle identifier
  • Bundle versions string, short
需要和系统自带的Info.plist文件一样。 如下图

7.App上传Appstore错误

“invalid package Applications built with SDK 9.0 or later must be packaged as proper IPA files.”

解决方案:
按照错误提示原先上传的是.zip文件,现在需要上传 .ipa文件。也就是需要将打包成的app在打包成ipa文件就可以了。
具体步骤:
1、新建文件夹 Payload 
2、将xcode编译好的app放在Payload文件夹中
3、压缩Payload文件夹为 .zip文件,然后重命名为 .ipa  重新上传即可
附快捷shell脚本:  将脚本放在Release-iphones文件夹下,运行该脚本就可将app转换为ipa。
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.

解决方案:

1,用XCode 6.4的Product -> Archive,再提交到AppStore。
2,在Stackoverflow上也有相关的解决办法,就是把无用的CFBundle删除掉。 点击查看
在工程里面搜索info.plist,可以先搜索info,找到第三方的info.plist文件,删除里面的Executable file对应的一整行,包括值。
例如: 找到腾讯的info.plist  
删除箭头指向的一行,即可.
9.未解决问题,哪位大神看到
<1> 真机运行启动时崩溃,并非100%出现,出现率在80%左右,不清楚是什么原因,有知道的解答一下或者给个思路
dyld`gdb_image_notifier:

->  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与之前的不同相关推荐

  1. iOS9联系人保存详解

    苹果在iOS9的SDK中废除了AddressBookUI.framework的一些功能(是不是这个库都废除了,有待验证),具体和保存联系人相关的几个系统界面如下: 联系人选择:AddressBookU ...

  2. iOS 企业包无法安装

    通用方案 请先参考这里: 1.iOS ipa 安装包安装失败原因 2.iOS企业应用安装失败原因排查 如果上面的打不开 请看文末的原文 还没解决?(这是不是原因) 看看这里 我遇到情况是 项目的pro ...

  3. 【NEO官方】一键新机 改串 安装教程 ios一键新机 ios9 ios8 ios7均可用

    NEO 支持IOS9一键新机了 IOS8设备安装NEO IOS8 ; IOS9设备安装NEO9, 确定自己的设备版本后对应安装 设备进cydia下,点,(最下面)软件源,编辑,添加,源输入apt.so ...

  4. iOS9的新特性以及适配方案

    1. 限制HTTP协议,全部改用更安全的HTTPS iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输.直接造成的情况就是App发请求的时候弹出网络无法 ...

  5. iOS9 App Thinning(应用瘦身)功能介绍

    iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...

  6. 访问通信录 适配iOS7

    昨天学习iOS中访问用户通信录的一个框架AddressBookUI.framework,这是个自带UI界面的系统框架,第一次访问要获得用户的授权. 因为是已经封装好的所以,用起来也比较方便 导入框架# ...

  7. iOS9适配http,微信、qq、支付宝添加白名单

    : 一.网络适配由http改成https 苹果官方对App Transport Security Technote的解释如下: 翻译成中文的意思就是说:iOS9.0SDK在编译的时候,默认所有从NSU ...

  8. iOS9获取手机序列号serialNumber(UDID)

    iOS9获取手机序列号serialNumber(UDID) http://www.jianshu.com/p/b48524a4aff2 作者  LeonLei  关注 2016.10.26 11:44 ...

  9. ios微信组件跳转_在iOS9中突破微信App跳转的限制

    前言 微信的普及程度相信不需要多言了,稍微回忆一下自己上一条短信是什么时候,上一条微信又是什么时候就知道了. 因此通过微信传播也是绝大部分App的一个重要手段,但是在iOS7微信出的新版本,就开始不允 ...

最新文章

  1. Php的if自动转换类型,php之数据类型自动转换,php之数据类型转换_PHP教程
  2. 文巾解题 50. Pow(x, n)
  3. Linux服务器性能评估与优化--转
  4. 单调有界数列一定有极限
  5. 人脸情绪识别系统第一次迭代总结
  6. 未处理sqlexception中value_plsql异常处理
  7. 泰克示波器查眼图_泰克示波器
  8. Linux常用指令和系统管理命令总结
  9. 2013年全球ERP市场格局(Gartner)
  10. 函数基本使用-第一个函数演练
  11. java图片裁剪并保存_java裁剪图片并保存的示例分享
  12. 完整nagios安装最新pnp版绘图-sync模式
  13. 经济情况越不好越要做好这三点
  14. 2021-2025年中国伊帕斯行业市场供需与战略研究报告
  15. 云知声今年要量产三款芯片,还公布了多模态AI芯片规划
  16. mzy git学习,初识git(一)
  17. Leap Motion 上手体验
  18. VSCode中使用vue项目ESlint验证配置
  19. H3C ospf与nat转换
  20. 10款超牛Vim插件,爱不释手了

热门文章

  1. python如何做ui_python写ui
  2. 【附白皮书下载】智能制造专家黄贞枝:如何用科学方法,让生产排程最优化?
  3. 实时行情数据:新浪财经接口
  4. LMK04828 SPI时序控制
  5. 深度启动盘制作工具linux版_免费制作能够安装纯净版系统的PE启动工具
  6. 对山石防火墙HA 带管理IP接口 更改IP设置 的理解.
  7. 人工智能头条技能树图谱汇集
  8. 柯洁仍然是中国围棋冠军,向科学认输、底头不是耻辱!
  9. JavaSE笔记(一)重制版
  10. 【操作系统】RR算法(时间片轮转,假设时间片q=1)