Edited at

pod installができなかったのを清く泥臭く解決した


TL;DR


  • CocoaPodsを使って依存ライブラリをインストールしようとしてできなかったお話。


  • gem update xcodeprojするか1.6.0.rc.xを入れれば解決。

  • 知ってる人からしたら全然わかってないなお前ってなると思います。


環境

エラー内容のStackを見ておくれ。


CocoaPodsインストール

既に1.5.0が入ってることを知らないでsudo gem install cocoapodsでインストール。

CocoaPods 1.6.0.rc.1 is available.

To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.6.0.rc.1

おう、俺もlove youだけどrc版はまた今度な。


この後これがトリガーになってハマることになろうとはこの時s-yoshidaは思いもしn(


pod setup

何事も無く終了。


ぼく「かんたーん^^」


pod install

いっぱいエラー吐いた。オンギャー。


エラー内容

以下、ほぼコピペなので見辛いかもしれません。

Analyzing dependencies


Command

/usr/local/bin/pod install


Report


  • What did you do?


  • What did you expect to happen?


  • What happened instead?



Stack

   CocoaPods : 1.5.3

Ruby : ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
RubyGems : 2.5.2.3
Host : Mac OS X 10.14.2 (18C54)
Xcode : 10.1 (10B61)
Git : git version 2.17.2 (Apple Git-113)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 6d65beda1df0fcfcebb010dce7e4fc5bd0a3ccb5


Plugins

cocoapods-deintegrate : 1.0.2

cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.0
cocoapods-stats : 1.0.0
cocoapods-trunk : 1.3.0
cocoapods-try : 1.1.0


Podfile

# Uncomment the next line to define a global platform for your project

platform :ios, '11.0'

def shared_pods
use_frameworks!

# Network Framework
pod 'Alamofire', '~> 4.8.1'
pod 'AlamofireImage', '~> 3.5.0'
end

target 'hogehoge_ios' do
shared_pods
end

target 'hogehoge_iosTests' do
shared_pods
end

target 'hogehoge_iosUITests' do
shared_pods
end

post_install do | installer |
require 'fileutils'

#Pods-acknowledgements.plist
FileUtils.cp_r('Pods/Target Support Files/Pods-hogehoge_ios/Pods-hogehoge_ios-acknowledgements.plist', 'hogehoge_ios/SupportingFiles/Settings.bundle/Acknowledgements.plist', :remove_destination => true)
end


Error

RuntimeError - [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa.

If this attribute was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:321:in `configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project.rb:262:in `new_from_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:350:in `object_with_uuid'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:300:in `block (2 levels) in configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:299:in `each'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:299:in `block in configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:296:in `each'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:296:in `configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project.rb:262:in `new_from_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:350:in `object_with_uuid'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:300:in `block (2 levels) in configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:299:in `each'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:299:in `block in configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:296:in `each'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project/object.rb:296:in `configure_with_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project.rb:262:in `new_from_plist'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project.rb:203:in `initialize_from_file'
/Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.7/lib/xcodeproj/project.rb:103:in `open'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:918:in `block (2 levels) in inspect_targets_to_integrate'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:917:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:917:in `block in inspect_targets_to_integrate'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:912:in `inspect_targets_to_integrate'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/analyzer.rb:78:in `analyze'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:243:in `analyze'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:154:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:153:in `resolve_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:116:in `install!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command/install.rb:41:in `run'
/Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:22:in `load'
/usr/local/bin/pod:22:in `<main>'

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:

https://github.com/CocoaPods/CocoaPods/search?q=%5B%21%5D+Xcodeproj+doesn%27t+know+about+the+following+attributes+%7B%22inputFileListPaths%22%3D%3E%5B%5D%2C+%22outputFileListPaths%22%3D%3E%5B%5D%7D+for+the+%27PBXShellScriptBuildPhase%27+isa.%0AIf+this+attribute+was+generated+by+Xcode+please+file+an+issue%3A+https%3A%2F%2Fgithub.com%2FCocoaPods%2FXcodeproj%2Fissues%2Fnew&type=Issues

If none exists, create a ticket, with the template displayed above, on:

https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:

https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Looking for related issues on cocoapods/cocoapods...

/Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.3/lib/gh_inspector/sidekick.rb:95:in `parse_results': undefined method `map' for nil:NilClass (NoMethodError)
Did you mean? tap
from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.3/lib/gh_inspector/sidekick.rb:34:in `search'
from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.3/lib/gh_inspector/inspector.rb:68:in `search_query'
from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.3/lib/gh_inspector/inspector.rb:62:in `search_exception'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/user_interface/error_report.rb:119:in `search_for_exceptions'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:67:in `report_error'
from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:396:in `handle_exception'
from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:337:in `rescue in run'
from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:324:in `run'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:52:in `run'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:22:in `load'
from /usr/local/bin/pod:22:in `<main>'


エラーと向き合う

なっがwなっげぇwwww草生えない(真顔


俺は依存してるライブラリを入れたいだけなんじゃぁぁぁあああ(´・ω・`)

RuntimeError - [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa.

If this attribute was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new`

ここが怪しい(直感

ってことでググる。「pod install RuntimeError Xcodeproj doesn't know about the following attributes」でググる。


公式のIssueを確認する

先頭に出てきた公式Issueを要チェックや!(雑なリスペクト

Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa #7835

gem update xcodeprojすると解決すると思うぜ!って

@peruginniさんが言ってる。が、直る理由がわからないので一旦ステイ。


原因を探す

Issueをちゃんと追うと、dnkoutsoさんが「its simple, any Xcode 10 project that has a new script phase that has input file list or output file list shows this warning.」って仰ってる。要するにXcode10でプロジェクトを作るとinputFileListPathsとoutputFileListPathsが空だとそのまま空の配列が出力されてしまって、それが原因だよ(意訳)。とのこと。

原因はわかった。で、どうしたら良いんだ...諸事情によりgem update xcodeprojの手段は使わないようにしたい。


解決策を探す

ここでCocoaPods 1.6.0.rc.1 is available.を思い出す。

バージョンを指定しつつ更にググる。

CocoaPods with Xcode 10 RuntimeError Xcodeproj doesn't know about the following attributes

世の中同じことで悩む人はいるんだなぁ...という事で

This is a known bug introduced by Xcode 10 which fixed in CocoaPods 1.6.0. Right now (Jan 2019) it's in beta, so you can install it with

> sudo gem install cocoapods --pre

\ いそのー!1.6使えば解決できるってさー! /


再トライ

インストール済みのCocoaPodsを全てアンイストールして(ここで1.5.0が別で入ってることに気が付く)、sudo gem install cocoapods --preで1.6.0.rc.2をインストール。pod setup pod install共に問題無く終了。先人達は凄い。


さいごのまとめ

やっぱ公式だよ。