[Android开发学iOS系列] iOS项目环境搭建和依赖管理

这篇具有很好参考价值的文章主要介绍了[Android开发学iOS系列] iOS项目环境搭建和依赖管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

iOS项目环境搭建和依赖管理

一个项目总是会依赖一些库, 有些是第三方的, 有些可能是项目自身为了复用拆出去的.
现有主流的iOS依赖有多种形式, 比如CocoaPods, Carthage和swift package.

本文是一些环境搭建和使用项目依赖相关的笔记.

全局环境准备

基本上iOS开发都要准备的环境, 这些设置是全局的, 在每个机器上设置一次就行. (本文为mac环境).

homebrew: (已有可跳过)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

rbenv

rbenv是一个管理ruby版本的工具, 如果同一个机器上有多个代码库, 可以用它来灵活切换ruby在不同项目中的版本.

具体可以看一下项目介绍: https://github.com/rbenv/rbenv

setup ruby (这里选一个全局的版本号, 可根据具体情况更改):

brew install rbenv ruby-build

rbenv install 3.1.3

echo "export PATH=\"/opt/homebrew/bin/rbenv:\$PATH\"" >> ~/.zshrc
echo "eval \"\$(/opt/homebrew/bin/rbenv init -)\"" >> ~/.zshrc

source ~/.zshrc
rbenv global 3.1.3

验证安装成功:

ruby -v 
//得到刚刚指定的版本
which ruby 
//得到目录: $HOME/.rbenv/shims/ruby

Bundler和CocoaPods

Bundler(https://bundler.io/)和CocoaPods(https://cocoapods.org/)都是dependency manager.

它们管理的依赖种类不同.

Bundler用来下Ruby gems, 即Gemfile中的依赖.

CocoaPods用来下pod, 即Podfile中写的pods依赖.

但cocoapods本身是一个ruby gem, 所以它被bundler管理.

(可以想象bundler是大经理, cocoapods是小领导, 此处可以画一个树形图表示, 如果我记得的话.) (但是我突然决定不画了, 因为懒.)

iOS世界中还有一个著名的ruby gem是fastlane, 本文并不涉及就不展开讲了.

我们先把这两个工具安装到电脑上:

gem install bundler
gem install cocoapods
pod setup

Optional

你可能还需要的格式化工具:

brew install swiftformat

已有项目的配置

我们拿到一个新项目后往往需要拉它的依赖.

如果你的项目中有Gemfile文件

bundle install

之后发现还有Podfile文件:

bundle exec pod install

这些命令是每个项目都需要执行的, 当项目依赖变更时需要重新执行这些:

bundle install
bundle exec pod install

M1电脑可能需要配置:

bundle config build.ffi --enable-system-libffi
bundle config set --local path 'vendor/bundle'
// 这个命令运行完之后当前目录下会多出一个`.bundle/`文件夹.

命令行中的工作就基本做完了, 剩下打开xcode, 如果还有swift package xcode会帮你解析的.

CocoaPod

这里以CocoaPod为例讲一下如何添加使用一个CocoaPod库, 以及相关的文件.

安装cocoapods这一步我们在之前setup环境的时候已经跑过了:

gem install cocoapods
pod setup

每一个机器只要跑一次就行, 可以跳过.

CocoaPods有一个公开的specifications repo:

https://github.com/CocoaPods/Specs

这是一个中心化的代码仓库, 比较流行的库都放在上面.

官网是: https://cocoapods.org/

在这里可以搜索任何你想要的cocoapods库.

使用一个公开的库

让我们拿一个比较流行的库试试: https://github.com/Alamofire/Alamofire

首先在项目的根目录run:

pod init

会创建一个Podfile. (如果项目中已经存在了会报错.)

这个文件名是固定不变的.

用xcode打开这个文件:

open -a Xcode Podfile

里面的内容是这样: (这里UsePublicCocoaPods是我的项目名)

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'UsePublicCocoaPods' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for UsePublicCocoaPods

end

我们在这里加上一行, 用上Alamofire的最新版本:

target 'UsePublicCocoaPods' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for UsePublicCocoaPods
  pod 'Alamofire', '5.6.4'

end

然后:

bundle exec pod install

(这里如果遇到问题, 记得在项目目录中跑bundle config set --local path 'vendor/bundle').

安装完成之后会产生一些diff.

  • 项目下多了Pods文件夹. (应该被ignore)
  • 多了Podfile.lock文件. (不应该被ignore)
  • UsePublicCocoaPods/UsePublicCocoaPods.xcworkspace/UsePublicCocoaPods/UsePublicCocoaPods.xcodeproj/project.pbxproj 都有改变.

这里需要检查一下.gitignore的配置.

  • 这个网站可以搜搜不同的项目通常的配置: https://www.toptal.com/developers/gitignore/, 比如: https://www.toptal.com/developers/gitignore/api/swift,cocoapods,xcode
  • 这里也有一个: https://github.com/github/gitignore/blob/main/Swift.gitignore

然后就可以在代码里import Alamofire并使用它的代码了.

Dependency management tools

iOS中有多种依赖管理工具类型:

  • CocoaPods
  • Carthage
  • Swift package manager

CocoaPods

CocoaPods
比较老的依赖类型, 但是很多项目仍然在用.

Carthage

Carthage
build出来的是字节码, 一般也叫framework.

Swift package manager

swift-package-manager
比较新的依赖管理类型, 一般在Xcode的UI界面里操作.
本文就不介绍了.

项目结构和其他Trouble Shooting

Files and folders

Xcode是一个神奇的IDE, 它的文件夹叫”Group”.
在其中的文件分为”物理上存在”和”引用上存在”两种情况.

  • 删除文件的时候会问你只是删了引用(仅在Xcode里看不见)还是要进一步删了这个文件(物理上也删除).
  • 添加文件的时候仅仅拷贝到文件目录里是不够的, 需要”Add Files”, 打开目录添加一下, 才能在Xcode里也可见.

Project文件

ProjectName.xcodeproj/project.pbxproj
Project文件挺烦人的, 每新增/重命名一个文件它都会有diff.

有一些脚本工具可以帮忙将文件排序: https://github.com/WebKit/webkit/blob/main/Tools/Scripts/sort-Xcode-project-file

这样产生diff之后运行一下(可以添加到git hook里), 文件会有序一些, 多人合作的时候不容易产生冲突.

真机调试

真机调试需要有证书, 并不是随便抓个机器连上线就能安装应用.
当设备的OS版本较高但Xcode版本较低时, 可能需要添加一些DeviceSupport文件:

比如:

  • https://github.com/filsv/iOSDeviceSupport
  • https://github.com/iGhibli/iOS-DeviceSupport

将所缺版本拷贝到这个目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

重启xcode再试.文章来源地址https://www.toymoban.com/news/detail-844286.html

References

  • Swift Package Manager vs CocoaPods vs Carthage for All Platforms
  • The Podfile
  • Create useful .gitignore files for your project

到了这里,关于[Android开发学iOS系列] iOS项目环境搭建和依赖管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 开发环境搭建

    安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。 Android发展过程中几个重要事件 2005年8月,被

    2024年02月04日
    浏览(131)
  • Android开发环境搭建

    Android Studio 是用于开发 Android 应用的官方集成开发环境 (IDE)。Android Studio 基于 IntelliJ IDEA 强大的代码编辑器和开发者工具,还提供更多可提高 Android 应用构建效率的功能,例如: 基于 Gradle 的灵活构建系统 快速且功能丰富的模拟器 统一的环境(供您开发适用于所有 Android 设

    2024年02月02日
    浏览(36)
  • Android应用开发(1)Android Studio开发环境搭建

    Android应用开发学习笔记——目录索引 本章介绍搭建Android Studio应用开发环境,创建并编译App工程,运行和调试App。 谷歌开发者网站可直接下载AndroidStudio,下载链接:https://developer.android.com/studio 点击【Download Android Studio Electric Eel】 勾选【I have read and agree with the above terms and

    2024年02月07日
    浏览(49)
  • Selenium+Python系列 - 开发环境搭建

    我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些 Python 自动化的文章吗,答案是肯定的。 那么,以后我将给大家带来接口和UI自动化两个方面的分享,还请大家持续关注我! 1、Python环境搭建 使用

    2024年01月16日
    浏览(44)
  • Android Flutter开发环境搭建

    本栏亦在快速上手Android Flutter,Flutter框架就不介绍了,框架这个东西怎么说呢,对于大部分人来说只是了解即可,如需了解的话,可以度娘资料很多。 本节我们主要看下如何在Windwos下搭建Android Flutter开发环境,然后了解下IDE上面的Flutter开发。 要安装并运行Flutter,您的开发

    2024年02月09日
    浏览(50)
  • Android 1.2 开发环境搭建

    目录   1.2 开发环境搭建   1.JDK安装与配置 2.开发工具二选一 3.相关术语的解析 4.ADB命令行的一些指令 5.APP程序打包与安装的流程: 6.APP的安装过程: 7.本节小结     现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 现在国内大部分开发人员还

    2024年02月10日
    浏览(29)
  • IDEA 搭建Android 开发环境

    项目实战 废话不多说开始创建先第一个  Android  项目 步骤一 FILE → New → Project 步骤二-选择  Android  项目模板 选那个安卓机器人,如果没有这个选项,需要升级IDEA版本或者安装安卓插件 选择*Basic Activity* Next-下一步 步骤三-项目初始化 名称、包名、安装位置自行调整 语言

    2024年02月09日
    浏览(43)
  • Android开发-Mac Android开发环境搭建(Android Studio Mac环境详细安装教程,适合新手)...

    1.进入Android Studio官网 https://developer.android.google.cn/studio 2.点击下载Android Studio.  3.将说明拉到最下方,选择Mac With Apple Chip.苹果芯片选择Apple Chip,如果是Intel芯片可以选择Intel.  4.下载完成后,双击进入Android Studio.  点击打开.  5.如果是第一次安装,则直接选择不要导入设置.点击ok

    2024年02月04日
    浏览(43)
  • Android开发-Android开发环境搭建(Android Studio详细安装教程,适合新手)

    01 Android开发工具 Android Studio Android Studio是谷歌推出的一个Android集成开发工具, 基于 IntelliJ IDEA .类似Eclipse ADT, Android Studio提供了集成的Android开发工具用于开发和调试 架构组成 。基于Gradle的构建支持 。Android专属的重构和快速修复 。提示工具以捕获性能、可用性、版本兼容性

    2024年02月09日
    浏览(46)
  • android 和 opencv 开发环境搭建

    本文详细说明给android项目添加opencv库的详细步骤,并通过实现图片灰度化来查看配置是否成功。 到官网下载 打开 https://opencv.org/releases/ 选择android,下载完成后解压出下面的文件: 在Android studio中打开sdk管理器即可下载: 打开Android studio,选择模板,这时选择最后一项Nativ

    2024年01月19日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包