• 苹果开发 笔记(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)

     

  • 相关阅读:
    2020-02-26 今天学了啥?
    2020-02-25 今天学了啥?
    CSS选择器世界
    2019.12.21---今天学了啥?
    2019.12.20--今天学了啥?
    2019.12.19----今天学了啥?
    重拾算法之复杂度分析(大O表示法)
    es6之后,真的不需要知道原型链了吗?
    你真的了解FastClick吗?
    JavaScript中的对象与原型—你不知道的JavaScript上卷读书笔记(四)
  • 原文地址:https://www.cnblogs.com/A--G/p/4874293.html
Copyright © 2020-2023  润新知