苹果开发 笔记(80)升级IOS 9 和 XCode 7 引起的问题记录
原文: http://blog.csdn.net/hero82748274/article/details/48629461
问题一: 升级xcode 7最低的系统配置要求
升级了ios9 后使用 xcode 6.1 已经不能用了,必须升级 xcode 7才行,原先的系统是OSX 10.10.1 版本。而xcode 7.0 系统最低的系统要求是os x 10.10.4 或者以上(官方表明)。这样子不用等到新的 mac 新系统 到来也可以提前用了。
问题二 :微信库64位的问题
xcode 7 的动态库后缀名改了,这下子旧的项目也要重新替换。
这里有一篇文章是关于ios 微信的用法和配置 可以参考一下
不过 64 位的问题 也随之而来,如果不加入 libc++.dylib 后就会报错 编译不过
所以在微信引入库里面,需要加入
libsqlite3.0.dylib
libz.dylib
SystemConfiguration.framework
libc++.dylib (如果编译错了,加上这个库进去。)
注意:xcode 7 变了后缀
问题3 ios 9 App Transport Security Policy (ATP的问题)
突然遇到这个问题是使用UIWebView加载 http 而不是https 协议的网址。
解决的方法可以参考这里 iOS9 HTTP 不能正常使用的解决办法
在Info.plist中添加NSAppTransportSecurity类型Dictionary。
在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES
注意一点当时直接修改info.list是没生效,参考网友的做法是在target 里面info 下再添加。这个时候生效了,能够处理这个问题。不知道原理是什么,这里的参数总是很让人莫名奇妙 但能凑效
(补充){
一、xcode7新建的项目,Foundation下默认所有http请求都被改为https请求.
HTTP+SSL/TLS+TCP = HTTPS
也就是说,服务需要提供https(TLS 1.2)的接口;
如果服务不改变,则客户端info.plist的根<dict>需加下面的键值;
简单信任所有http服务器
<key>NSAppTransportSecurity</key>
<dict>
<!--Connect to anything (this is probably BAD)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
或者严谨的
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourserver.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow insecure HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
}
问题 4 二进制库不支持bitcode
在 xcode 7 项目 中 build Settings 搜索这个字,默认情况是YES ,不支持就改成No 。
今天微信编译的时候也报相关的错,这一点真是让人纠结。xcode 设置总是多。有时候很难理解。只好一点点记录。
问题 5 Xcode process launch failed: Security
概述:之前一直是采用了企业的证书登录,所以编译过程中一直没有出现Xcode process launch failed: Security这样的问题。在xcode 7 配置好免证书进行调试,使用一个不是开发者的账号登录后会出现了这种问题。
参考的办法:stackoverflow Xcode process launch failed: Security
问题 6 出现了不受信任的开发者情况
概述:xcode 7 免证书下,需要使用自己的AppleID。我尝试打开编译后App**出现了不受信任的开发者情况**
解决办法:可以按如下操作 。以在真机ipad air 2 , ios 9 为例
中文版:设置-通用-描述文件 选择受信任的开发者
英文版:Go to your iPhone > Settings > General > Profile > “you@email.com” > Trust(引用stackoverflow 的一位解答)
设置后,这个问题可以解决了,然后可以继续玩耍。
问题 7 Xcode 插件Alcatraz 安装不显示Package manager
参考 https://github.com/supermarin/Alcatraz/issues/352
终端输入:
defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-7.0
打开Xcode后有选项,选第一个Load
- 1
- 2
- 3
- 4
- 5
能凑效使用。
一次教训:将设备的 Show Provisioning Profiles 删除了
误操作: 把Show Provisioning Profiles 删除了
造成结果:之前的自己编译的应用全部打不开了。
操作如下 :
xcode - >window->Devices 打开后可以看到自己的机器(USB链接下)
点击设备,鼠标右键 看到Show Provisioning Profiles 的菜单,然后可以看到自己Identifer
使用“-”减号 删除。操作完成后,之前的编译过的App将不能启动了。真是算是一次教训吧
一些问题的解决参考资料如下:
《ios编译库文件时出现的问题》
http://www.jianshu.com/p/3f87f024b573
《does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)》
http://www.swift7media.com/category/ios-development/
《开发中常见错误和警告总结(九)》
http://www.bubuko.com/infodetail-1061146.html
《二进制库不支持bitcode》
http://blog.csdn.net/soindy/article/details/48519363
《【官方方法】xcode7免证书真机调试》
(http://altair21.com/156.html)
苹果开发 笔记(80)升级IOS 9 和 XCode 7 引起的问题记录的更多相关文章
- 《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营
编写Hello World应用程序通常被觉得,是学习不论什么编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,高速了解Xcode这个开发iOS应用程序的主要工具. ...
- Java开发笔记(一百四十八)通过JDBC查询数据记录
前面介绍了通过JDBC如何管理数据库,当时提到Statement专门提供了executeQuery方法用于查询操作,为什么查询操作这么特殊呢?这是因为其它语句跑完一次就了事了,顶多像insert.up ...
- 升级IOS 9 和 XCode 7 引起的问题
问题一: 升级xcode 7最低的系统配置要求 升级了ios9 后使用 xcode 6.1 已经不能用了,必须升级 xcode 7才行,原先的系统是OSX 10.10.1 版本.而xcode 7.0 ...
- [记录 ]升级IOS 9 和 XCode 7 引起的问题
问题一: 升级xcode 7最低的系统配置要求 升级了ios9 后使用 xcode 6.1 已经不能用了,必须升级 xcode 7才行,原先的系统是OSX 10.10.1 版本.而xcode 7.0 ...
- iOS 10、Xcode 8 遇到部分问题解决记录
今天把iphone 6 升级到ios10 后,用Xcode 7进行真机调试的时候提示: Could not find Developer Disk Image 果断准备升级到Xcode 8 .但是想保 ...
- IOS开发笔记 IOS如何访问通讯录
IOS开发笔记 IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...
- iOS开发笔记7:Text、UI交互细节、两个动画效果等
Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中 ...
- 从C#到Objective-C,循序渐进学习苹果开发(5)--利用XCode来进行IOS的程序开发
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.前面几篇随笔主要介绍C#和O ...
- iOS开发笔记-两种单例模式的写法
iOS开发笔记-两种单例模式的写法 单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h" ...
随机推荐
- Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法
1.什么是MLBaseMLBase是Spark生态圈的一部分,专注于机器学习,包含三个组件:MLlib.MLI.ML Optimizer. ML Optimizer: This layer aims ...
- [LeetCode#191]Number of Bits
Problem: Write a function that takes an unsigned integer and returns the number of ’1' bits it has ( ...
- 关于java、Android中Math的一些用法
java.math.Math类常用的常量和方法: Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.co ...
- [Linux&Vim]输入输出流
流不尽,东逝水 关于流,以前大致知道有这样三个概念:标准输入流(stdin).标准输出流(stdout)和错误输出流(stderr). 什么是流,做什么用的,怎么个用法? 基本概念下面这篇文章讲得已经 ...
- [Java] Java IO 概况
Java IO 是 Java 的一套 API, 用于读入和写出数据(输入和输出).Java IO API 位于 java.io package.实际上 java.io package 没有解决所有的输 ...
- 索引查找(索引查找、分块查找) C语言实现
1.基本概念 索引查找又称分级查找. 索引存储的基本思想是:首先把一个集合或线性表(他们对应为主表)按照一定的函数关系或条件划分成若干个逻辑上的子表,为每个子表分别建立一个索引项,由所有 这些索引项构 ...
- Activity透明/半透明效果的设置transparent(两种实现方法)
两种方法实现Activity透明/半透明效果的设置,代码思路很有调理,感兴趣的朋友可以参考下,希望本文可以帮助到你 方法一:res/values文件夹下建立styles.xml: 复制代码代码如下 ...
- 【课程分享】Oracle数据库系统project师
对这个课程有兴趣的朋友能够加我的QQ2059055336和我联系 一.本课程是怎么样的一门课程 1.1.课程的背景 该课程是Oracle数据库系统project师培训课程 Oracle Databas ...
- Memo打印
加入Printers单元, ; Left ; y ;; do begin Printer.Canvas.TextOut(x,y,Memo1.Lines[i]) ...
- ajax jsonp跨域处理问题
客户端 html $.ajax({ type : "get", async:false, dataType : "jsonp", jsonp: "js ...