这一行是我的 podfile 导致了这个问题:
pod 'JiveCommon', :path => 'Common/JiveCommon'
在我的根目录下有一个文件名“Common”,在项目名称 JiveCommon 中,女巫本身就是一个 pod。
我曾经在子模块中这样使用它,所以我可以从当前项目上下文中更改和编辑文件,但是在升级到 Cocoapods v 1.0 后,我收到了这个错误:
### Error
```
NoMethodError - undefined method `path' for nil:NilClass
/Library/Ruby/Gems/2.0.0/gems/xcodeproj-1.0.0/lib/xcodeproj/project/object/native_target.rb:442:in `block in add_file_references'
/Library/Ruby/Gems/2.0.0/gems/xcodeproj-1.0.0/lib/xcodeproj/project/object/native_target.rb:441:in `map'
/Library/Ruby/Gems/2.0.0/gems/xcodeproj-1.0.0/lib/xcodeproj/project/object/native_target.rb:441:in `add_file_references'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer/target_installer/pod_target_installer.rb:99:in `block in add_files_to_build_phases'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer/target_installer/pod_target_installer.rb:75:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer/target_installer/pod_target_installer.rb:75:in `add_files_to_build_phases'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer/target_installer/pod_target_installer.rb:21:in `block in install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/user_interface.rb:144:in `message'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer/target_installer/pod_target_installer.rb:17:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:621:in `block (2 levels) in install_libraries'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:619:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:619:in `block in install_libraries'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/user_interface.rb:144:in `message'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:618:in `install_libraries'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:170:in `block in generate_pods_project'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/user_interface.rb:63:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:167:in `generate_pods_project'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:119:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/command/install.rb:37:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/command.rb:50:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
```
如果有使用“路径”语法的不同最佳实践,我查看了纪录片,但没有找到任何东西..
同样的问题出现在 Githb 问题上:https://github.com/CocoaPods/CocoaPods/issues/4814
但没有解决方案解决它。
还有其他人有同样的经历吗?
最佳答案
我已经设法解决了这个问题,如果其他人会面临同样的问题,在子模块 pod 规范中,我需要更改:
更改 source_files 没有帮助。我有一个私有(private) podspec,以前包含
s.source_files = 'Common/**/*
To
s.source_files = 'Common/**/*.{m,h,mm,hpp,cpp,c}'
关于ios - NoMethodError - 未定义的方法 `path' for nil :NilClass Cocoapods version 1. 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37521959/