如何设置 iOS 开发环境
原文:https://lwebapp.com/zh/post/how-to-set-up-the-ios-development-environment
介绍
移动互联网时代,掌握 iOS 开发和安卓开发 还是很有好处的,小编最近在学习移动端开发的时候,最先遇到的问题就是环境安装问题了。
虽说网络上的教程已经很丰富了,但是也不是每次都很顺利,总是避免不了踩坑。这里就做一个 iOS 开发的踩坑笔记,不一定没个人都会遇到这些坑,但是如果你也恰巧遇到的话,希望能对你有一些帮助和启发。
踩坑
设备
首先声明一点,要本地打包 iOS 或者 macOS 的 APP,必须要 Mac 电脑,因为iOS软件必须用Xcode来打包。Xcode是苹果设备专用的开发工具,苹果做的这是一整套工具链,不跨平台。如果开发安卓APP的话无所谓Windows还是Mac,开发安卓用的Android Studio是跨平台的,Mac和Windows都可以安装使用。
再提一个小知识,现代Web开发迅速发展,一些跨平台框架如React Native、Ionic,可以做到一次开发,跨平台部署。这样的框架带来一个优势,你在开发阶段其实可以不用Mac,只需要有iPhone手机就可以,比如使用expo的服务,可以联网用自己的iPhone真机调试,使用官方提供的云部署来打包iOS APP。同样的Ionic也提供这样的服务,但是这类服务售价太高,可能不太适合个人开发者,而且没有iOS本地模拟器调试,可能还不太方便查问题,有兴趣的朋友可以深入了解下。
简单总结来说,一般情况下想要做iOS的开发,需要先备好Mac电脑。
安装工具
我们依照 Capacitor 文档来搭建环境,Capacitor 是Ionic团队推出的打包原生APP的工具
Capacitor 搭建APP开发环境文档:Environment Setup
- 第一步,安装 Xcode,通过官网链接 Xcode 介绍页点进去,底部有下载按钮
Download Xcode,下载之前需要登陆,但是之后下载就提示No Operating Systems available for download

于是我就只能在 Apple Store 上安装 Xcode 了,这个比较简单点,直接在 Apple Store 上搜索 Xcode 就行了。
- 然后继使用以下命令安装 Swift and Objective-C 的依赖管理 CocoaPods
sudo gem install cocoapods
这一步我这报错
You might have to install separate package for the ruby development environment, ruby-dev or ruby-devel for example.
报错信息大致说我需要Ruby开发环境,用以下两条命令安装 Xcode 命令行工具
xcode-select --install
sudo xcodebuild -license
然后又报出了新的错,提示我命令行工具已经安装过了,需要更新
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
先把旧的删除,再重新安装即可,所以这一步安装CocoaPods我需要以下4条命令
sudo rm -rf /Library/Developer/CommandLineTools
# 安装时会弹出安装窗口,根据提示点击确认即可
xcode-select --install
# 这一步同意证书,一定要注意最后要输入“agree”才能生效,不能一路“Enter”到底
sudo xcodebuild -license
sudo gem install cocoapods
- 小编注意到官方教程有一个在Xcode中选择命令行工具的动作,打开 Xcode -> Preferences -> Locations 并在下拉列表中选择最新版本来安装 Xcode 命令行工具。我可能是已经安装好命令行工具了,这里并没有什么问题。
总结
以上就是小编在搭建iOS/macOS APP 开发环境的时候遇到的坑,作为一个笔记供大家参考。如果大家有更好的经验也欢迎分享出来。
参考
- 如何设置 iOS 开发环境
- Capacitor Environment Setup
- I have some problem cocoapods installation
- How to update Xcode from command line
如何设置 iOS 开发环境的更多相关文章
- Windows下搭建IOS开发环境(一)
原文:http://blog.csdn.net/shangyuan21/article/details/18153605 我们都知道开发iPhone等ios平台的移动应用时需要使用Mac本,但是Mac ...
- ios开发环境配置及cordova安装与常用命令
一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...
- 搭建iOS开发环境
搭建ios开发环境 1. 直接购买Apple公司的电脑,如MacBook笔记本电脑,默认自带了Mac OS X操作系统. 2.下载安装Xcode和SDK 登录https://develope ...
- 如何设置Java开发环境
傻瓜式 设置Java开发环境 跟我来. 对与win7操作系统.有两种方法. 第一种: 1.下载JDK,完成安装. 2.右键我的电脑,选择属性,在左边找到高级系统设置左键单击打开,在高级选项中找到 环境 ...
- 升级设置win2008r2开发环境,遇到问题小结
升级设置2008r2开发环境,是一般程序员经历的事情.许多从vs 2003,vs2005+sql2000+win2003过来,但是,时间推移,技术革新,64位的推行.架构的变化和强大.我们也只可以学习 ...
- 虚拟机IOS开发环境搭建教程
来源:http://www.cnblogs.com/xiaoyaoju/archive/2013/05/21/3091171.html 安装条件: 硬件:一台拥有支持虚拟技术的64位双核处理器和2GB ...
- 一、iOS开发环境搭建
前置条件 1. 必要:一台装有Mac OS X操作系统的电脑:经济允许的话可以买一部Mac book:否则的话,可以试试黑苹果或虚拟机. 2.必要:一个有可用的Apple ID:免费,在Apple的官 ...
- 调研ios开发环境的演变
一:ios的发展演变: 以下两句为百度百科IOS,可自行查阅,不多赘述,就Ctrl+c,Ctrl+v两句表示一下. 2007年1月9日苹果公司在Macworld展览会上公布,随后于同年的6月发布第一版 ...
- [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld
首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...
- IOS开发环境搭建
前置条件 1. 必要:一台装有Mac OS X操作系统的电脑:经济允许的话可以买一部Mac book:否则的话,可以试试黑苹果或虚拟机. 2.必要:一个有可用的Apple ID:免费,在Apple的官 ...
随机推荐
- 运行springboot的时候访问本地图片地址的问题
@Configuration public class MyConfigrauration implements WebMvcConfigurer { /** * 当有请求经过[/myUpload/* ...
- Kittle 插入更新,时间格式错误。
错误1:mysql转oracle 把所有时间类型格式,进行转换,不然会报时间格式错误. 错误2:插入更新时,数据量大停止了,表没有设置主键,导致的.
- 02. C语言基础知识
一.注释 注释 就是对代码进行解释说明的文字,注释的内容不会参与编译和运行,仅仅是对代码的解释说明.在 C语言 中注释主要分为以下两类: 单行注释://,注释内容从 // 始到本行和结尾 多行注释 ...
- Unity简单使用 Addressables远端打包流程
跟着一步步操作即可 1.先打开一个unity项目 2.导入插件资源包地址,点击如图片所示 3.最后点击导入就行了也就是第三步 Install 4.这是在点击 Window 安装后Window/多了一个 ...
- Unity中UGUI图片跟随文本自适应方法
字体和图片层级如下 Text添加Content Size Fitter Image设置锚点
- for循环axios套axios调用,同步调取
1.function getsdd(){}事件 async/await把异步进行设置成同步进行 var url = '/api/runtime/form/save'; function checkAd ...
- 关于.bashrc文件
文件作用 存储临时变量 注意 每个user都有自己的.bashrc文件,root用户也有. 普通用户在"/home/username/"目录下 root在"/root&q ...
- Neo4J之Cypher 第三章
Cypher是一种声明式图形查询语言,可用于表达性和高效的图形查询和更新.它旨在同时适合开发人员和运营专业人员.Cypher的设计既简单又强大.可以轻松表达高度复杂的数据库查询,使您可以专注于自己的域 ...
- Android GNSS模块详解
1. 参考https://blog.csdn.net/yang_mao_shan/category_12133410.html GNSS 架构是从 应用层 ---> 通过原生 jar 包 --- ...
- Java06 面向对象
一 什么是面向对象 面向对象编程(Object-Oriented Programming,OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象组织(封装)数据. 三大特性: 封装 继承 多态 ...