podspecにs.dependencyを設定したらエラー

iOS6/iOS7に対応しているCocoapodsのライブラリを作ろうと思って、以下のような感じでs.dependencyにAFNetworkingを追加したところ、ARCまわりでコケているような感じのコンパイルエラーが出てしまった。

Pod::Spec.new do |s|
  s.name             = "NantokaSDK"
  s.version          = "0.0.1"
  s.summary          = "A short description of NantokaSDK."
  s.dependency 'AFNetworking'
end

エラーの内容は”Property with 'retain (or strong)' attribute must be of object type“というもの。

原因は、作ろうとしているライブラリ自体の対応OSの書き忘れ。podspecファイルに以下のようにs.ios.deployment_targetを追加することで解決した。

Pod::Spec.new do |s|
  s.name             = "NantokaSDK"
  s.version          = "0.0.1"
  s.summary          = "A short description of NantokaSDK."
  s.ios.deployment_target = '6.0'
  s.dependency 'AFNetworking'
end

しょうもないミスだからか、検索してもあまり同じような問題がヒットせず。悩んでいたらAFNetworking関連のリポジトリで似たようなバグが過去にあったようでした。
issue: https://github.com/AFNetworking/AFNetworkActivityLogger/issues/3
pull req: https://github.com/AFNetworking/AFNetworkActivityLogger/pull/4

◯ iOSオープンソースライブラリ徹底活用

Pocket
LINEで送る
LinkedIn にシェア