CocoaPod 私有ライブラリの Spec 編集に注意#
CocoaPod 私有ライブラリの Spec 依存関係の書き方
PodSpec の詳細な説明は以下の通りです,
Pod::Spec.new do |s|
# ライブラリ名
s.name = 'AudioRecorder'
# ライブラリのバージョン
s.version = '0.1.0'
# ライブラリの概要
s.summary = 'AudioRecorderはiOSの録音と再生機能を提供します'
# ライブラリの説明
s.description = <<-DESC
AudioRecorderはiOSの録音と再生機能を提供します
DESC
# リモートリポジトリのアドレス
s.homepage = 'https://github.com/xxx'
# スクリーンショット
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
# MITライセンス、ソフトウェアのライセンス条項
s.license = { :type => 'MIT', :file => 'LICENSE' }
# 作者情報
s.author = { 'MorganWang' => '[email protected]' }
# サポートされるシステムと最低サポートバージョン
# s.platform = :ios
# s.platform = :ios, "8.0"
# 複数のプラットフォームをサポートする場合
s.ios.deployment_target = "10.0"
# s.osx.deployment_target = "10.7"
# s.watchos.deployment_target = "2.0"
# s.tvos.deployment_target = "9.0"
# ダウンロードアドレス
s.source = { :git => 'xxx.git', :tag => s.version.to_s }
# ライブラリファイルのリポジトリ内の相対パス
# 等号の後の最初のパラメータは、プロジェクト内でCocoaPodsの依存関係を追加するライブラリの相対パスを示しています
# 等号の後の2番目のパラメータは、フォルダ内のどのファイルをCocoaPodsの依存関係に追加するかを示すためのものです
# "**"ワイルドカードはフォルダ内のすべてのファイルを表し、"*.{h,m}"はすべての.h、.mファイルを表します
s.source_files = 'AudioRecorder/Classes/**/*'
# CocoaPodsに追加しないファイルを設定する
# s.exclude_files = "xxx/Exclude"
# https://blog.csdn.net/w_shuiping/article/details/80606277
# CocoaPodsで依存するサードパーティの.aまたは.frameworkライブラリ
s.vendored_libraries = 'AudioRecorder/Classes/lame/*.a'
# s.resource_bundles = {
# 'AudioRecorder' => ['AudioRecorder/Assets/*.png']
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# ライブラリで使用されるフレームワークやシステムライブラリ
s.frameworks = 'UIKit', 'Foundation', 'AVFoundation'
# ライブラリが依存する他のCocoaPodsのサードパーティライブラリ、複数の場合は複数のs.dependencyを記述する
s.dependency 'Masonry', '~> 1.1.0'
end
ライブラリの検証
pod lib lint --allow-warnings
使用方法#
タグまたはブランチを使用します。通常はタグを使用しますが、タグは機能の完全性を表します。ブランチを使用する場合、その後にブランチで開発を続け、依存関係を再度更新する際に、未検証の新しい開発内容が更新されたり、非互換性が発生する可能性があります。
pod 'xxx',:git=>'xxx.git',:tag=>'0.7.0'
pod 'yyy',:git =>'yyy.git',:branch=> 'develop'