原文: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

  1. 第一步,安装 Xcode,通过官网链接 Xcode 介绍页点进去,底部有下载按钮 Download Xcode,下载之前需要登陆,但是之后下载就提示 No Operating Systems available for download

于是我就只能在 Apple Store 上安装 Xcode 了,这个比较简单点,直接在 Apple Store 上搜索 Xcode 就行了。

  1. 然后继使用以下命令安装 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
  1. 小编注意到官方教程有一个在Xcode中选择命令行工具的动作,打开 Xcode -> Preferences -> Locations 并在下拉列表中选择最新版本来安装 Xcode 命令行工具。我可能是已经安装好命令行工具了,这里并没有什么问题。

总结

以上就是小编在搭建iOS/macOS APP 开发环境的时候遇到的坑,作为一个笔记供大家参考。如果大家有更好的经验也欢迎分享出来。

参考

如何设置 iOS 开发环境的更多相关文章

  1. Windows下搭建IOS开发环境(一)

    原文:http://blog.csdn.net/shangyuan21/article/details/18153605 我们都知道开发iPhone等ios平台的移动应用时需要使用Mac本,但是Mac ...

  2. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

  3. 搭建iOS开发环境

    搭建ios开发环境 1.  直接购买Apple公司的电脑,如MacBook笔记本电脑,默认自带了Mac OS X操作系统. 2.下载安装Xcode和SDK     登录https://develope ...

  4. 如何设置Java开发环境

    傻瓜式 设置Java开发环境 跟我来. 对与win7操作系统.有两种方法. 第一种: 1.下载JDK,完成安装. 2.右键我的电脑,选择属性,在左边找到高级系统设置左键单击打开,在高级选项中找到 环境 ...

  5. 升级设置win2008r2开发环境,遇到问题小结

    升级设置2008r2开发环境,是一般程序员经历的事情.许多从vs 2003,vs2005+sql2000+win2003过来,但是,时间推移,技术革新,64位的推行.架构的变化和强大.我们也只可以学习 ...

  6. 虚拟机IOS开发环境搭建教程

    来源:http://www.cnblogs.com/xiaoyaoju/archive/2013/05/21/3091171.html 安装条件: 硬件:一台拥有支持虚拟技术的64位双核处理器和2GB ...

  7. 一、iOS开发环境搭建

    前置条件 1. 必要:一台装有Mac OS X操作系统的电脑:经济允许的话可以买一部Mac book:否则的话,可以试试黑苹果或虚拟机. 2.必要:一个有可用的Apple ID:免费,在Apple的官 ...

  8. 调研ios开发环境的演变

    一:ios的发展演变: 以下两句为百度百科IOS,可自行查阅,不多赘述,就Ctrl+c,Ctrl+v两句表示一下. 2007年1月9日苹果公司在Macworld展览会上公布,随后于同年的6月发布第一版 ...

  9. [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld

    首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...

  10. IOS开发环境搭建

    前置条件 1. 必要:一台装有Mac OS X操作系统的电脑:经济允许的话可以买一部Mac book:否则的话,可以试试黑苹果或虚拟机. 2.必要:一个有可用的Apple ID:免费,在Apple的官 ...

随机推荐

  1. 运行springboot的时候访问本地图片地址的问题

    @Configuration public class MyConfigrauration implements WebMvcConfigurer { /** * 当有请求经过[/myUpload/* ...

  2. Kittle 插入更新,时间格式错误。

    错误1:mysql转oracle 把所有时间类型格式,进行转换,不然会报时间格式错误. 错误2:插入更新时,数据量大停止了,表没有设置主键,导致的.

  3. 02. C语言基础知识

    一.注释   注释 就是对代码进行解释说明的文字,注释的内容不会参与编译和运行,仅仅是对代码的解释说明.在 C语言 中注释主要分为以下两类: 单行注释://,注释内容从 // 始到本行和结尾 多行注释 ...

  4. Unity简单使用 Addressables远端打包流程

    跟着一步步操作即可 1.先打开一个unity项目 2.导入插件资源包地址,点击如图片所示 3.最后点击导入就行了也就是第三步 Install 4.这是在点击 Window 安装后Window/多了一个 ...

  5. Unity中UGUI图片跟随文本自适应方法

    字体和图片层级如下 Text添加Content Size Fitter Image设置锚点

  6. for循环axios套axios调用,同步调取

    1.function getsdd(){}事件 async/await把异步进行设置成同步进行 var url = '/api/runtime/form/save'; function checkAd ...

  7. 关于.bashrc文件

    文件作用 存储临时变量 注意 每个user都有自己的.bashrc文件,root用户也有. 普通用户在"/home/username/"目录下 root在"/root&q ...

  8. Neo4J之Cypher 第三章

    Cypher是一种声明式图形查询语言,可用于表达性和高效的图形查询和更新.它旨在同时适合开发人员和运营专业人员.Cypher的设计既简单又强大.可以轻松表达高度复杂的数据库查询,使您可以专注于自己的域 ...

  9. Android GNSS模块详解

    1. 参考https://blog.csdn.net/yang_mao_shan/category_12133410.html GNSS 架构是从 应用层 ---> 通过原生 jar 包 --- ...

  10. Java06 面向对象

    一 什么是面向对象 面向对象编程(Object-Oriented Programming,OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象组织(封装)数据. 三大特性: 封装 继承 多态 ...