玩转profile
profile简单使用
1:podfile简单配置
Podfile文件是一种规则描述,用于描述一或多个Xcode工程的targets之间的依赖。
其命令就是 install,可搭配参数执行安装配置。
如果不想使用官方的,而是在别的地方也有,可以这样指定
source 'https://github.com/artsy/Specs.git'
默认是官方的source
source 'https://github.com/CocoaPods/Specs.git'
platform :ios # 如果不指定版本,默认是 4.3
platform :ios, '4.3' # iOS平台, 版本(如果不指定版本,默认是 4.3)
platform :tvos, '9.0' # tvOS平台, 版本(如果不指定版本,默认是 9.0)
platform :watchos, '2.0' # watchOS平台, 版本(如果不指定版本,默认是 2.0)
platform :osx, '10.6' # macOS平台, 版本(如果不指定版本,默认是 10.6)
use_frameworks! # Swift动态库,Objetive-C 需注释掉此行
inhibit_all_warnings!命令是不显示所引用的库中的警告信息
target 'targetName' do
pod 'AFNetworking' # 不指定版本,安装最新版本
pod 'AFNetworking', '> 3.0' # 安装 3.0 以上版本
pod 'AFNetworking', '>= 3.0' # 安装 3.0 及以上版本
pod 'AFNetworking', '< 3.0' # 安装低于 3.0 版本
pod 'AFNetworking', '<= 3.0' # 安装 3.0 及低于 3.0 版本
pod 'AFNetworking', '~> 0.1.2' # 安装 0.1.2 及低于 0.1.2 版本,不包括 0.2 及以上版本
pod 'AFNetworking', '~> 0.1' # 安装 0.1 之前的版本
pod 'AFNetworking', '~> 0' # 这与不指定版本基本一致
指定本地路径
pod 'AFNetworking', :path => '~/Documents/Alamofire’
pod 'ssziparchive', :inhibit_warnings => true #消除警告
指定远程仓库
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
指定分支
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :branch => 'dev'
指定 tag
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '3.1.1'
指定某次 commit
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :commit => '0f506b1c45'
end
Hooks:
与swizzling特性差不多,就是在某些操作之前,先勾起,而且让它执行我们特定的操作。
plugin:
指定在安装期间使用cocoapods-keys和slather这两个插件.
plugin 'cocoapods-keys', :keyring => 'Eidolon'
plugin ‘slather'
pre_install:在下载完成但未安装之前,我们就可以指定在干些什么?
pre_install do |installer|
//Do something fancy!
end
post_install:当我们安装完成,但是生成的工程还没有写入磁盘之时,我们可以指定要执行的操作。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = ’10.0’ # setup IPHONEOS_DEPLOYMENT_TARGET
config.build_settings['GCC_ENABLE_OBJC_GC'] = ‘supported'
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
flutter_additional_ios_build_settings(target)
end
end
def:我们还可以通过def命令来声明一个pod集:如果有多个target,而不同target之间并不全包含,那么可以通过这种方式来分开引入
def share_pods
pod 'FBSDKShareKit', '~> 5.5.0'
end
target 'Runner’ do
share_pods
end
2:pod 常用命令
pod init # 在当前目录生成 Podfile
文件
pod install # 根据 Podfile.lock
中的版本安装项目依赖库
pod install --verbose --no-repo-update # 只安装新增加的库,已安装的库不更新
pod update # 更新所有项目依赖库,并创建新的 Podfile.lock
文件
pod update xxx --verbose --no-repo-update # 只更新 xxx 库,其他库不更新
pod search xxx # 搜索 xxx 库
pod —version