Swift常用第三方庫(kù)2023-05-09 周二

簡(jiǎn)介

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

# Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.
##忽略.cocoapods中多個(gè)specs源引起的警告問(wèn)題
install! 'cocoapods', :warn_for_unused_master_specs_repo => false

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

  # 網(wǎng)絡(luò)
  pod 'Alamofire', '~> 5.4'
  pod 'Moya', '~> 15.0'         #對(duì)Alamofire的二次封裝
  
  # JSON解析
  pod 'HandyJSON', '~> 5.0.2'   #和YYModel類似,用了runtime,不需要寫(xiě)map
  pod 'SwiftyJSON', '~> 4.0'    #不需要定義Model,直接使用字段
  
  # 響應(yīng)式編程框架
  pod 'RxSwift'
  pod 'RxCocoa'
  pod 'RxDataSources'
  
  # 彈窗提示
  pod 'SwiftMessages'
  
  #UI布局
  pod 'SnapKit'    #自動(dòng)布局庫(kù)
  pod 'Then'       #配合'SnapKit',使用鏈?zhǔn)秸Z(yǔ)法
  pod "R.swift"
  
  #圖片庫(kù)
  pod 'Kingfisher' #圖片下載和緩存
  
  #輪播圖
  pod 'FSPagerView'
  
  # 輸入框隨鍵盤(pán)移動(dòng)
  pod 'IQKeyboardManagerSwift'
  
  # 提供加密相關(guān)的方法
  pod 'CryptoSwift'
  
  #本地存儲(chǔ)
  pod 'SwiftyUserDefaults'
  
end

post_install do |installer|
  # XCode14.1之后,要求最低的構(gòu)建版本為11.0,這里是為了解除警告
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 11.0
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
      end
    end
  end
end

網(wǎng)絡(luò)

  • 基本上都用這個(gè): Alamofire

  • 這個(gè)可選:Moya;是基于上一個(gè)的二次封裝;

這個(gè)推薦使用,比直接使用Alamofire簡(jiǎn)潔很多

JSON解析

  • 如何選擇,可以參考這篇文章:Swift:分別使用SwiftyJSON、ObjectMapper、HandyJSON處理JSON

  • 選擇HandyJSON的原因是因?yàn)橛昧藃untime機(jī)制,不需要寫(xiě)map,和YYModel類似
    HandyJSON

  • 同時(shí)選擇SwiftyJSON的原因是很多時(shí)候,直接使用字段就好了,沒(méi)有必要轉(zhuǎn)成Model
    SwiftyJSON

  • ObjectMapper也很不錯(cuò),實(shí)現(xiàn)map協(xié)議,自己寫(xiě)字段映射。概念簡(jiǎn)單,很不錯(cuò)。如果HandyJSON不是像YYModel那樣省心省力,選這個(gè)也很不錯(cuò)。當(dāng)然,這里就不需要重復(fù)了
    ObjectMapper

Toast

  • 選擇Toast-Swift的原因是這個(gè)庫(kù)是用Swift寫(xiě)的;
    Toast-Swift

Hud

  • 選擇這個(gè)純粹是因?yàn)镾wift寫(xiě)的;
    PKHUD

  • 官網(wǎng)介紹不清不楚的,下面這篇文章介紹的使用方法比較好:
    Swift HUD庫(kù)PKHUD

  • 另外兩個(gè)也很好,在OC的時(shí)候經(jīng)常用;
    SVProgressHUD
    MBProgressHUD

通知消息

響應(yīng)式框架

UI布局

  • 基本上用這個(gè)SnapKit

  • Then和R.swift這兩個(gè)可以認(rèn)為是語(yǔ)法糖

圖片庫(kù)

輪播圖

鍵盤(pán)管理

  • 這個(gè)非常好,OC的時(shí)候就用,啥也不用做
    IQKeyboardManager

加解密

  • 接近10K的start,用這個(gè)應(yīng)該沒(méi)錯(cuò)。
    CryptoSwift

本地存儲(chǔ)

  • 基本上用這個(gè),Star上千就能用。YYModel對(duì)應(yīng)的Swift版本沒(méi)有找到
    SwiftyUserDefaults
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容