一、更改http为https

两种方案:

  1. 公司后台服务器更改;
  2. 作为开发者,可在Xcode暂时退回到http协议.  开发者更改方法如下:
    • 在Info.plist中添加App Transport Security Settings (或NSAppTransportSecurity), 类型Dictionary。
    • 在App Transport Security Settings下添加Allow Arbitrary Loads (或NSAllowsArbitraryLoads), 类型Boolean,值设为YES.

二、使用ShareSDK第三方登录或分享,对iOS9适配

可参考官方文档详细介绍:  http://wiki.mob.com/ios9-对sharesdk的影响(适配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-beta.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。

#!/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.

菜鸟不知原因,望大神解答.

Xcode7.1与iOS9之坑的更多相关文章

  1. Xcode7.2与iOS9之坑 (持续更新)

    GitHub地址 前几天升级OS X EI Capitan 10.11.1, 以及Xcode7.1,正好赶上公司新产品上线,要做iOS9的适配,遇到各种坑,各种查资料,随之记录总结一下遇到的坑. 先说 ...

  2. Xcode7打包,iOS9真机闪退,如何解决?

    问:有些项目用xcode7打开运行,打包安装到iOS9设备上程序会闪退. 如果用xcode7以下编译,然后打包到iOS9的设备上就是正常的.这是为什么,关键是,怎么解决? 答:iOS9发布之后,有些a ...

  3. Xcode7.0.1(ios9)的部分适配问题

    今天更新了Xcode 7 正式版,App编译出现很多警告,在App运行的时候出现如下的提示......... the resource could not be loaded because the ...

  4. xcode7下开发ios9等相关问题记录

    1.默认使用HTTPS请求如果在Xcode 9之前使用的时http请求,那么在XCode 9上编译的App是不能联网的,会提示如下错误:App Transport Security has block ...

  5. Xcode7 的两个小坑

    Xcode7 还在 beta.时不时崩一下什么的倒也是预料之中的事.没料到的是之前用着好好的,今天升完 El Capitan 之后,模拟器竟然不见了,设备倒是在 schema 栏右边里能看到.只是注明 ...

  6. Xcode插件管理以及Xcode7 升级

    一,Xcode插件管理工具 Alcatraz: mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins; cur ...

  7. ios9+xcode7 适配笔记

    升级了xcode7,最近ios9上马,又到了草泥马的时间,apple开放团队每次系统更新,都是无数个草泥马的适配夜晚,现在ios9上线以前的app竟然启动crash,这是要闹哪样. 1.微信和微博的s ...

  8. 升级到iOS9之后的相关适配

    iOS9AdaptationTips(iOS9开发学习交流群:458884057) iOS9适配系列教程[中文在页面下方]转自@iOS程序犭袁 (截至2015年9月26日共有10篇,后续还将持续更新. ...

  9. Xcode7推出的新优惠:免证书测试

    1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk image 2.首先先安装Xco ...

随机推荐

  1. 2014年10月30日-----SQL的基础知识

    数据库的概念 结构化查询语言:structured query language 简称:SQL 数据库管理系统:database management system 简称:DBMS 数据库管理员:da ...

  2. 在Windows下用MingW 4.5.2编译OpenCV 2.3.0

    需要的工具:1.安装QT SDK环境2.安装CMake for Windows3.OpenCV最新Windows源码步骤:1.将QT SDK安装目录下的{QtSDK}\mingw\bin添加到系统环境 ...

  3. Codeforces 551D GukiZ and Binary Operations(矩阵快速幂)

    Problem D. GukiZ and Binary Operations Solution 一位一位考虑,就是求一个二进制序列有连续的1的种类数和没有连续的1的种类数. 没有连续的1的二进制序列的 ...

  4. 【POJ1811】【miller_rabin + pollard rho + 快速乘】Prime Test

    Description Given a big integer number, you are required to find out whether it's a prime number. In ...

  5. 关于MVC中使用dynamic

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2kAAAB6CAIAAACqQIxZAAAgAElEQVR4nO2dT2wcx53v6zgXAgsYvA

  6. GridView获取单个单元格的值

    0.GridView中的所有数据都存储在Rows集合中,可以通过Rows的Cell属性获取单个单元格的值:如果某个单元格包含其他控件,则通过使用单元格的 Controls 集合,从单元格检索控件:如果 ...

  7. asp.net中的<%%>形式的详细用法实例讲解

    asp.net中的代码分离模式我们肯定都不陌生,C#(或者其它语言)写的代码一般不会和设计语言HTML混在一起,但是有的时候也避免不了,这时就会在UI页面里用<%%>来绑定显示.绑定变量数 ...

  8. norflash移植及uboot 保存环境变量实验

    一.实验环境 实验板:TQ2440开发板 SDRAM:64M norflash:EN29LV160AB(2M) nandflash:(256M) 二.移植 本文不详谈从smdk2410移植到TQ244 ...

  9. InputStream的封装类

    package ex03.pyrmont.connector.http; import java.io.IOException; import java.io.InputStream; import ...

  10. C读写配置文件

    在项目开发中,经常需要读取应用配置文件的初始化参数,用于应用在启动前进行一些初始化配置.比如:Eclipse,参数项包含主题.字体大小.颜色.Jdk安装位置.自动提示等.Eclispe配置的文件格式是 ...