《iOS编程指南》——2.4节安装iOS SDK

简介:

本节书摘来自异步社区《iOS编程指南》一书中的第2章,第2.4节安装iOS SDK,作者 【美】Alasdair Allan,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.4 安装iOS SDK
iOS编程指南
在本书编写的时候,Xcode开发工具和iOS SDK的最新发行版本可以从Mac App Store上一并下载。打开Mac App Store搜索Xcode,进入下载页面,如图2-1所示,点击蓝色的“免费”按钮,然后点击“安装应用”按钮。

Xcode开发工具和iOS SDK是合并在一起的,总共大约1.5GB。你可以在“已购买”标签下查看下载进度。当下载完成,你将会在你机器的/Applications文件夹下发现一个名为Xcode的新应用。

第一次启动Xcode的时候,(可能会)有一个对话框弹出来要求你安装一些附加组件,这些组件会因为你下载的Xcode版本的不同而不同。对于我来说,Xcode要求我安装用于支持旧版iOS模拟器的一些组件,如图2-2所示。


8c7edc88160586d136c67db951452b44a49bc57f

不过别着急,我们的安装过程还没有全部完成。在Xcode的菜单中选择Preferences菜单项,打开Downloads,在Components标签下你会看到一些组件,比如Command Line Tools和Legacy Simulators等,这些组件在默认情况下并没有安装。这些组件虽然不是现在必需的,不过还是建议安装,之后会很有用,逐一点击就可以下载了,如图2-4所示。再进到Documentation标签下来看一看,里面有很多文档,建议也


0f63db2fe505a64ce8cb52b8557c0cede15e003c

下载。现在你已经有了编写代码和在模拟器中测试你的应用所需的所有东西了。

图像说明文字如果你想在真机上调试,则需要加入iOS开发者计划标准版或者企业版。然而注册iOS开发者计划需要的时间可能各不相同。所以如果你现在还没注册完成,请将本页做个书签,等注册完成再回头来把剩下的步骤做完。在等待的过程中,你可以使用iPhone或者iPad模拟器来实践本书中的示例程序。

iOS模拟器很好,但是并不完美。代码在模拟器上的运行速度比真机快很多,所以如果你的应用使用了结构复杂的UI或者消耗了大量的计算资源,那么真机和模拟器之间的差别就很重要了。很多时候我发现在模拟器中运行的好好的,但在真实的设备上却很慢,于是只能回头重构代码并优化UI的实现方式。你也有可能在模拟器上使用了比真实设备所能提供的内存要多的内存资源。

另外,一些框架(Framework)在模拟器中是可用的,但在真实设备上却没有,尤其是NSPredicate和NSXMLDocument这两个类。如果你的代码用了这些类,在模拟器上是可以编译和运行的,但在真实设备上却不行。一般情况下,你可以在模拟器中构建(Build)并运行,不过最好是时不时也连上真实的设备上试一试,如果你一旦不小心使用了这样的类,Xcode会在编译时提示链接错误。你也不想到了项目结尾的时候才发现某个库在真实设备上不能用,还得着急忙地寻找替代方案吧。

NSPredicate和NSXMLDocument是常用的两个类,其中NSXML Document是用来处理XQuery和XML文档的,不过一般是用在Mac开发上,而非iOS开发上。很多开发者很快就会发现这个问题。

我听到过一些抱怨,声称在模拟器上会出现轻微的UIKit控件不对齐的情况,不过我自己倒没有遇到过。可是如果用更加底层的图像库,比如OpenGL ES,真实设备上使用的渲染器和模拟器上使用的渲染器有一点区别,因此在模拟器上看到的图形和真实设备上显示的图形会有像素级别的细微差距。

另外模拟器会有一些先天的缺陷,如果你的应用的UI需要响应超过两个手指的触摸事件,在模拟器上就没法测试了。

尽管模拟器不支持多点触控,不过两点触控还是有办法测试的。你可以按住键盘上的Option键并拖动鼠标来模拟放大或缩小的动作,或者可以按住Option和Shift键并拖动鼠标来模拟两指拖动。

另外,如果你在模拟器中运行你的应用,你将无法使用加速度传感器、GPS、蓝牙和数字指南针。如果你的应用依赖这些硬件模块,那么你没有其他选择,只能用真实设备来调试。

关于Beta版本
到目前为止,苹果公司使用过多种方式发布开发版(Beta版)的开发工具。它们通常会以.dmg文件的形式放在iOS Dev Center里供开发者下载,不过有一些Beta版的工具在Mac App Store就可以下载到,当然需要开发者提供兑换码(Redemption Code)才行,兑换码是和你注册苹果开发者使用的Apple ID绑定的,可以用于换取获得Beta版软件的权限。不过,虽然最近发布的工具的Beta版都是一个独立的安装包,但是之前有一些版本是在安装时你必须先下载升级了的Xcode,然后再下载一个独立的安装包来升级iOS SDK。

目录
打赏
0
0
0
0
1817
分享
相关文章
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
129 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
68 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
318 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
463 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
实时数仓 Hologres产品使用合集之如何安装和使用Java SDK
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
184 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
189 0

热门文章

最新文章

  • 1
    【Azure Service Bus】分享使用 Python Service Bus SDK 输出SDK内操作日志
    68
  • 2
    【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
    28
  • 3
    【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    129
  • 4
    CompreFace:Star6.1k,Github上火爆的轻量化且强大的人脸识别库,api,sdk都支持
    60
  • 5
    【Azure Developer】编写Python SDK代码实现从China Azure中VM Disk中创建磁盘快照Snapshot
    34
  • 6
    【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    68
  • 7
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    185
  • 8
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    184
  • 9
    【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
    84
  • 10
    AutoTalk第十三期-应知必会的自动化工具-阿里云SDK支持策略(一)
    68