原文: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 开发环境的时候遇到的坑,作为一个笔记供大家参考。如果大家有更好的经验也欢迎分享出来。

参考

最新文章

  1. sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)
  2. PHP 小数点保留两位
  3. C语言的OOP实践(OOC)
  4. C# 指针操作图像 二值化处理
  5. 查看LINUX进程内存占用情况(转)
  6. choco命令
  7. OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)[转]
  8. MVC3 Razor @RenderSection
  9. mooon编译系统介绍(可复用Makefile)
  10. Asp.Net MVC5入门学习系列⑤
  11. 团队作业4——第一次项目冲刺(Alpha版本)4.23
  12. sharepoint 创建个人网站
  13. 【NOIP2015提高组】 Day2 T3 运输计划
  14. BZOJ1991 : Pku2422 The Wolves and the Sheep
  15. maxcompute笔记
  16. httpServletResquire 和httpServletResponse
  17. Spring注解之 @SuppressWarnings注解
  18. but was actually of type 'com.sun.proxy.$Proxy101' 注入问题
  19. Windows远程桌面连接ubuntu 16
  20. CentOS 6.5 网络服务器功能的实现①:运用bind搭建基本的DNS服务器

热门文章

  1. 【面试必备】 【ES6】学Vue前必须掌握的内容(上)
  2. 001.shell-每日练习一文件创建
  3. ENGG1310 Electricity and electronics P1.3 Electromagnetic
  4. 用tkinter编写一个获取图片资源的GUI工具
  5. 软件工程作业二——gitee
  6. nginx 反向代理 (websocket)后报 - 400 bad request
  7. CamstarVP提交前验证
  8. 掌控安全学院SQL注入靶场-布尔盲注(三)
  9. hadoop集群搭建之测试集群,配置历史服务器,日志聚集,时间同步
  10. springcloud(四) - 服务治理Hystrix