如何设置 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
最新文章
- sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)
- PHP 小数点保留两位
- C语言的OOP实践(OOC)
- C# 指针操作图像 二值化处理
- 查看LINUX进程内存占用情况(转)
- choco命令
- OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)[转]
- MVC3 Razor @RenderSection
- mooon编译系统介绍(可复用Makefile)
- Asp.Net MVC5入门学习系列⑤
- 团队作业4——第一次项目冲刺(Alpha版本)4.23
- sharepoint 创建个人网站
- 【NOIP2015提高组】 Day2 T3 运输计划
- BZOJ1991 : Pku2422 The Wolves and the Sheep
- maxcompute笔记
- httpServletResquire 和httpServletResponse
- Spring注解之 @SuppressWarnings注解
- but was actually of type 'com.sun.proxy.$Proxy101' 注入问题
- Windows远程桌面连接ubuntu 16
- CentOS 6.5 网络服务器功能的实现①:运用bind搭建基本的DNS服务器
热门文章
- 【面试必备】 【ES6】学Vue前必须掌握的内容(上)
- 001.shell-每日练习一文件创建
- ENGG1310 Electricity and electronics P1.3 Electromagnetic
- 用tkinter编写一个获取图片资源的GUI工具
- 软件工程作业二——gitee
- nginx 反向代理 (websocket)后报 - 400 bad request
- CamstarVP提交前验证
- 掌控安全学院SQL注入靶场-布尔盲注(三)
- hadoop集群搭建之测试集群,配置历史服务器,日志聚集,时间同步
- springcloud(四) - 服务治理Hystrix