国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[Android開發(fā)學(xué)iOS系列] iOS項(xiàng)目環(huán)境搭建和依賴管理

這篇具有很好參考價(jià)值的文章主要介紹了[Android開發(fā)學(xué)iOS系列] iOS項(xiàng)目環(huán)境搭建和依賴管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

iOS項(xiàng)目環(huán)境搭建和依賴管理

一個(gè)項(xiàng)目總是會(huì)依賴一些庫, 有些是第三方的, 有些可能是項(xiàng)目自身為了復(fù)用拆出去的.
現(xiàn)有主流的iOS依賴有多種形式, 比如CocoaPods, Carthage和swift package.

本文是一些環(huán)境搭建和使用項(xiàng)目依賴相關(guān)的筆記.

全局環(huán)境準(zhǔn)備

基本上iOS開發(fā)都要準(zhǔn)備的環(huán)境, 這些設(shè)置是全局的, 在每個(gè)機(jī)器上設(shè)置一次就行. (本文為mac環(huán)境).

homebrew: (已有可跳過)

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

rbenv

rbenv是一個(gè)管理ruby版本的工具, 如果同一個(gè)機(jī)器上有多個(gè)代碼庫, 可以用它來靈活切換ruby在不同項(xiàng)目中的版本.

具體可以看一下項(xiàng)目介紹: https://github.com/rbenv/rbenv

setup ruby (這里選一個(gè)全局的版本號(hào), 可根據(jù)具體情況更改):

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

驗(yàn)證安裝成功:

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本身是一個(gè)ruby gem, 所以它被bundler管理.

(可以想象bundler是大經(jīng)理, cocoapods是小領(lǐng)導(dǎo), 此處可以畫一個(gè)樹形圖表示, 如果我記得的話.) (但是我突然決定不畫了, 因?yàn)閼?)

iOS世界中還有一個(gè)著名的ruby gem是fastlane, 本文并不涉及就不展開講了.

我們先把這兩個(gè)工具安裝到電腦上:

gem install bundler
gem install cocoapods
pod setup

Optional

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

brew install swiftformat

已有項(xiàng)目的配置

我們拿到一個(gè)新項(xiàng)目后往往需要拉它的依賴.

如果你的項(xiàng)目中有Gemfile文件

bundle install

之后發(fā)現(xiàn)還有Podfile文件:

bundle exec pod install

這些命令是每個(gè)項(xiàng)目都需要執(zhí)行的, 當(dāng)項(xiàng)目依賴變更時(shí)需要重新執(zhí)行這些:

bundle install
bundle exec pod install

M1電腦可能需要配置:

bundle config build.ffi --enable-system-libffi
bundle config set --local path 'vendor/bundle'
// 這個(gè)命令運(yùn)行完之后當(dāng)前目錄下會(huì)多出一個(gè)`.bundle/`文件夾.

命令行中的工作就基本做完了, 剩下打開xcode, 如果還有swift package xcode會(huì)幫你解析的.

CocoaPod

這里以CocoaPod為例講一下如何添加使用一個(gè)CocoaPod庫, 以及相關(guān)的文件.

安裝cocoapods這一步我們?cè)谥皊etup環(huán)境的時(shí)候已經(jīng)跑過了:

gem install cocoapods
pod setup

每一個(gè)機(jī)器只要跑一次就行, 可以跳過.

CocoaPods有一個(gè)公開的specifications repo:

https://github.com/CocoaPods/Specs

這是一個(gè)中心化的代碼倉(cāng)庫, 比較流行的庫都放在上面.

官網(wǎng)是: https://cocoapods.org/

在這里可以搜索任何你想要的cocoapods庫.

使用一個(gè)公開的庫

讓我們拿一個(gè)比較流行的庫試試: https://github.com/Alamofire/Alamofire

首先在項(xiàng)目的根目錄run:

pod init

會(huì)創(chuàng)建一個(gè)Podfile. (如果項(xiàng)目中已經(jīng)存在了會(huì)報(bào)錯(cuò).)

這個(gè)文件名是固定不變的.

用xcode打開這個(gè)文件:

open -a Xcode Podfile

里面的內(nèi)容是這樣: (這里UsePublicCocoaPods是我的項(xiàng)目名)

# 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

我們?cè)谶@里加上一行, 用上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

(這里如果遇到問題, 記得在項(xiàng)目目錄中跑bundle config set --local path 'vendor/bundle').

安裝完成之后會(huì)產(chǎn)生一些diff.

  • 項(xiàng)目下多了Pods文件夾. (應(yīng)該被ignore)
  • 多了Podfile.lock文件. (不應(yīng)該被ignore)
  • UsePublicCocoaPods/UsePublicCocoaPods.xcworkspace/UsePublicCocoaPods/UsePublicCocoaPods.xcodeproj/project.pbxproj 都有改變.

這里需要檢查一下.gitignore的配置.

  • 這個(gè)網(wǎng)站可以搜搜不同的項(xiàng)目通常的配置: https://www.toptal.com/developers/gitignore/, 比如: https://www.toptal.com/developers/gitignore/api/swift,cocoapods,xcode
  • 這里也有一個(gè): https://github.com/github/gitignore/blob/main/Swift.gitignore

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

Dependency management tools

iOS中有多種依賴管理工具類型:

  • CocoaPods
  • Carthage
  • Swift package manager

CocoaPods

CocoaPods
比較老的依賴類型, 但是很多項(xiàng)目仍然在用.

Carthage

Carthage
build出來的是字節(jié)碼, 一般也叫framework.

Swift package manager

swift-package-manager
比較新的依賴管理類型, 一般在Xcode的UI界面里操作.
本文就不介紹了.

項(xiàng)目結(jié)構(gòu)和其他Trouble Shooting

Files and folders

Xcode是一個(gè)神奇的IDE, 它的文件夾叫”Group”.
在其中的文件分為”物理上存在”和”引用上存在”兩種情況.

  • 刪除文件的時(shí)候會(huì)問你只是刪了引用(僅在Xcode里看不見)還是要進(jìn)一步刪了這個(gè)文件(物理上也刪除).
  • 添加文件的時(shí)候僅僅拷貝到文件目錄里是不夠的, 需要”Add Files”, 打開目錄添加一下, 才能在Xcode里也可見.

Project文件

ProjectName.xcodeproj/project.pbxproj
Project文件挺煩人的, 每新增/重命名一個(gè)文件它都會(huì)有diff.

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

這樣產(chǎn)生diff之后運(yùn)行一下(可以添加到git hook里), 文件會(huì)有序一些, 多人合作的時(shí)候不容易產(chǎn)生沖突.

真機(jī)調(diào)試

真機(jī)調(diào)試需要有證書, 并不是隨便抓個(gè)機(jī)器連上線就能安裝應(yīng)用.
當(dāng)設(shè)備的OS版本較高但Xcode版本較低時(shí), 可能需要添加一些DeviceSupport文件:

比如:

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

將所缺版本拷貝到這個(gè)目錄: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

重啟xcode再試.文章來源地址http://www.zghlxwxcb.cn/news/detail-844286.html

References

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

到了這里,關(guān)于[Android開發(fā)學(xué)iOS系列] iOS項(xiàng)目環(huán)境搭建和依賴管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Android開發(fā)環(huán)境搭建

    Android開發(fā)環(huán)境搭建

    Android Studio 是用于開發(fā) Android 應(yīng)用的官方集成開發(fā)環(huán)境 (IDE)。Android Studio 基于 IntelliJ IDEA 強(qiáng)大的代碼編輯器和開發(fā)者工具,還提供更多可提高 Android 應(yīng)用構(gòu)建效率的功能,例如: 基于 Gradle 的靈活構(gòu)建系統(tǒng) 快速且功能豐富的模擬器 統(tǒng)一的環(huán)境(供您開發(fā)適用于所有 Android 設(shè)

    2024年02月02日
    瀏覽(18)
  • Android 開發(fā)環(huán)境搭建

    Android 開發(fā)環(huán)境搭建

    安卓(Android)是一種基于Linux內(nèi)核(不包含GNU組件)的自由及開放源代碼的操作系統(tǒng)。主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機(jī)。 Android發(fā)展過程中幾個(gè)重要事件 2005年8月,被

    2024年02月04日
    瀏覽(41)
  • Android應(yīng)用開發(fā)(1)Android Studio開發(fā)環(huán)境搭建

    Android應(yīng)用開發(fā)(1)Android Studio開發(fā)環(huán)境搭建

    Android應(yīng)用開發(fā)學(xué)習(xí)筆記——目錄索引 本章介紹搭建Android Studio應(yīng)用開發(fā)環(huán)境,創(chuàng)建并編譯App工程,運(yùn)行和調(diào)試App。 谷歌開發(fā)者網(wǎng)站可直接下載AndroidStudio,下載鏈接:https://developer.android.com/studio 點(diǎn)擊【Download Android Studio Electric Eel】 勾選【I have read and agree with the above terms and

    2024年02月07日
    瀏覽(29)
  • Selenium+Python系列 - 開發(fā)環(huán)境搭建

    Selenium+Python系列 - 開發(fā)環(huán)境搭建

    我從未想過自己會(huì)寫python系列的自動(dòng)化文章,有些同學(xué)會(huì)問,那你現(xiàn)在為什么又開始寫了? 不止一個(gè)人找過我,問我可以寫一些 Python 自動(dòng)化的文章嗎,答案是肯定的。 那么,以后我將給大家?guī)斫涌诤蚒I自動(dòng)化兩個(gè)方面的分享,還請(qǐng)大家持續(xù)關(guān)注我! 1、Python環(huán)境搭建 使用

    2024年01月16日
    瀏覽(24)
  • Android Flutter開發(fā)環(huán)境搭建

    Android Flutter開發(fā)環(huán)境搭建

    本欄亦在快速上手Android Flutter,F(xiàn)lutter框架就不介紹了,框架這個(gè)東西怎么說呢,對(duì)于大部分人來說只是了解即可,如需了解的話,可以度娘資料很多。 本節(jié)我們主要看下如何在Windwos下搭建Android Flutter開發(fā)環(huán)境,然后了解下IDE上面的Flutter開發(fā)。 要安裝并運(yùn)行Flutter,您的開發(fā)

    2024年02月09日
    瀏覽(30)
  • Android 1.2 開發(fā)環(huán)境搭建

    Android 1.2 開發(fā)環(huán)境搭建

    目錄 ? 1.2 開發(fā)環(huán)境搭建 ? 1.JDK安裝與配置 2.開發(fā)工具二選一 3.相關(guān)術(shù)語的解析 4.ADB命令行的一些指令 5.APP程序打包與安裝的流程: 6.APP的安裝過程: 7.本節(jié)小結(jié) ? ? 現(xiàn)在主流的Android開發(fā)環(huán)境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 現(xiàn)在國(guó)內(nèi)大部分開發(fā)人員還

    2024年02月10日
    瀏覽(13)
  • IDEA 搭建Android 開發(fā)環(huán)境

    項(xiàng)目實(shí)戰(zhàn) 廢話不多說開始創(chuàng)建先第一個(gè)? Android ?項(xiàng)目 步驟一 FILE → New → Project 步驟二-選擇? Android ?項(xiàng)目模板 選那個(gè)安卓機(jī)器人,如果沒有這個(gè)選項(xiàng),需要升級(jí)IDEA版本或者安裝安卓插件 選擇*Basic Activity* Next-下一步 步驟三-項(xiàng)目初始化 名稱、包名、安裝位置自行調(diào)整 語言

    2024年02月09日
    瀏覽(21)
  • Android開發(fā)-Mac Android開發(fā)環(huán)境搭建(Android Studio Mac環(huán)境詳細(xì)安裝教程,適合新手)...

    Android開發(fā)-Mac Android開發(fā)環(huán)境搭建(Android Studio Mac環(huán)境詳細(xì)安裝教程,適合新手)...

    1.進(jìn)入Android Studio官網(wǎng) https://developer.android.google.cn/studio 2.點(diǎn)擊下載Android Studio. ?3.將說明拉到最下方,選擇Mac With Apple Chip.蘋果芯片選擇Apple Chip,如果是Intel芯片可以選擇Intel. ?4.下載完成后,雙擊進(jìn)入Android Studio. ?點(diǎn)擊打開. ?5.如果是第一次安裝,則直接選擇不要導(dǎo)入設(shè)置.點(diǎn)擊ok

    2024年02月04日
    瀏覽(36)
  • Android開發(fā)-Android開發(fā)環(huán)境搭建(Android Studio詳細(xì)安裝教程,適合新手)

    Android開發(fā)-Android開發(fā)環(huán)境搭建(Android Studio詳細(xì)安裝教程,適合新手)

    01 Android開發(fā)工具 Android Studio Android Studio是谷歌推出的一個(gè)Android集成開發(fā)工具, 基于 IntelliJ IDEA .類似Eclipse ADT, Android Studio提供了集成的Android開發(fā)工具用于開發(fā)和調(diào)試 架構(gòu)組成 ?;贕radle的構(gòu)建支持 。Android專屬的重構(gòu)和快速修復(fù) 。提示工具以捕獲性能、可用性、版本兼容性

    2024年02月09日
    瀏覽(27)
  • Android Studio 開發(fā)環(huán)境搭建 & 配置

    Android Studio 開發(fā)環(huán)境搭建 & 配置

    上一次做 Android 開發(fā)還是在大三的 Android 課設(shè)項(xiàng)目上「 IPOD - 本地音樂播放器」 開發(fā)環(huán)境:JDK 開發(fā)語言:Java 開發(fā)工具:Android Studio 現(xiàn)在由于工作需要 「面向業(yè)務(wù)編程」 ,需要重拾 Android 開發(fā),由于電腦已換,所以決定重新開一個(gè) Android 專欄,同時(shí)記錄學(xué)習(xí)隨筆,歡迎訂閱

    2024年02月16日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包