- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2016-05-23T13:59:25+09:00","default:wikiwriter","wikiwriter")
#author("2022-05-21T04:41:03+00:00","default:src128","src128")
&tag(CocoaPods);
*目次 [#w4f26f16]
#contents
*関連ページ [#ha496f9f]
-[[./自作ライブラリ作成]]
*参考情報 [#add9dc91]
-[[Objective-Cのライブラリ管理ツールCocoaPodsを導入してみた - present:http://tnakamura.hatenablog.com/entry/20120923/cocoapods]]
-CocoaPodsで楽々ライブラリ管理 #iOS #AdventCalendar - Qiita
http://qiita.com/items/66457a0d5fe55877dea1
*何これ [#d903db6f]
-iOS用のライブラリを簡単に入れられるようにするためのツール。
-ruby製。
*インストール [#x23be2b1]
-gemで入れる
gem install cocoapods
-rbenvの場合rehash
rbenv rehash
-pod setup実行
pod setup
*プロジェクトの作成 [#h4ae3fda]
*運用 [#qa6c897b]
**プロジェクトの作成 [#h4ae3fda]
-普通にプロジェクト作る。Xcodeは一端終了。
-pod initによってPodfileを作成する。swiftの場合「 use_frameworks!」が必要。
#pre{{
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'swift-ios-fmdb-demo' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for swift-ios-fmdb-demo
end
}}
-Podfileを編集し必要なpodを追加。
-podインストール。
pod install
-*.xcworkspace(VisualStudioでいうところのソリューションファイルみたいなもんか)ができるので、今後はそれを使って作業。
*個別のpodの削除 [#i1d10761]
**podsの更新 [#a57a7ae7]
-Podfileが存在するディレクトリで以下を実行
pod update
**個別のpodの削除 [#i1d10761]
-[[ios - Remove or uninstall library previously added : cocoapods - Stack Overflow:http://stackoverflow.com/questions/13751147/remove-or-uninstall-library-previously-added-cocoapods]]によると、Podfileから削除したあとで、pod installを再実行すればよいらしい。
*Tips [#u48060f5]
**Podsの一覧を確認 [#fbb2e683]
-pod list またはCocoaPods公式サイトのトップで検索すればよい。
**ソースを修正したい場合はどうするの? [#jbb0e0ea]
-:gitでPodfileが簡単?
-[[Dependency declaration options · CocoaPods/CocoaPods Wiki · GitHub:https://github.com/CocoaPods/CocoaPods/wiki/Dependency-declaration-options]]
-[[Workflow question: changing the source code of a pod - Google グループ:https://groups.google.com/forum/?fromgroups=#!topic/cocoapods/KBDcwT8GHLE]]
-と思ったけど使い方がよくわからず。ローカルにpodspecを作って、Podfileでそれを使うようにした。
pod 'ActionSheetPicker3', :podspec => './ActionSheetPicker3.podspec'
**プロジェクト名の変更 [#kfc2622e]
-本体のプロジェクトを選択し、ファイルインスペクターのProject Nmaeでプロジェクト名は変更できる。
-もう一回pod installすると新しいプロジェクト名のxcworkspaceが作られるのでそっちを使うようにする。
-Schemeのところに、新しプロジェクト名のSchemeがなかったので、Manage Schemeから手動で追加した。
**MagicalRecordのログをつぶす [#b045cd8f]
-「#define MR_ENABLE_ACTIVE_RECORD_LOGGING 0」を定義すればいいのだが、アプリのほうのpchだとだめ。とりあえずMagicalRecord.hで定義すればいいのだがこの変更はよろしくない。
**Swiftで使う [#d08127c6]
-gem install cocoapods
-pod init
-Podfileを編集。Swiftの場合use_frameworks!をコメントアウト。
#pre{{
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'demo' do
pod 'KeychainAccess'
end
target 'demoTests' do
end
target 'demoUITests' do
}}
-pod install。プロジェクト.xcworkspaceのほうを開く。
*トラブルシューティング [#a613f22d]
**pod updateでバージョンがあがらない [#q108091a]
-Podfileで指定しているiOSの指定バージョンより、インストールしようとしているpodファイルで指定されているiOSのバージョンの方が高い可能性がある。Podfileのバージョンを確認する。
#pre{{
platform :ios, '15.0'
}}
**pod updateで「Automatically assigning platform `ios` with version `10.0」 [#vbb2a8ac]
-Podfileでplatformとバージョンを指定すれば良いのだが、デフォルトのPodfileはコメントアウトされているので、指定しなくても良いのかも(警告扱い?)
**pod updateで「target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES`」 [#u30d9dac]
-[[pod install「target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build...」 - Qiita:https://qiita.com/Ryosuke-Hujisawa/items/ca5401c87fc206b3f594]]
-Build Settingsで「ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES」を検索し、otherをクリックして表示された入力ボックスに「$(inherited)」と入力。
** no such module 'XXXXX'が表示される [#e047f3e4]
-pod install実行時に元のXcodeプロジェクトを開いているとだめかも。
-Xcodeプロジェクトを閉じてpod instlalを再実行してみる。