ios - NoMethodError - 未定义的方法 `path' for nil :NilClass Cocoapods version 1. 0

标签 ios objective-c cocoapods

这一行是我的 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/

相关文章:

ios - 可以使用 AV Foundation 裁剪视频吗?

objective-c - 在后台运行并使用户感到烦恼的应用程序..(应用户要求)

objective-c - 延迟applicationDidEnterBackground截屏

ios - Xcode,cocoapods + nib 文件,s.resources = ['*.{xib}'] 不工作

ios - 使用相同的标签强制更新 Cocoapod

ios - 手动安装 SwiftKeychainWrapper

objective-c - 将 View Controller 创建为新的详细信息 View Controller 时,我失去了对 IBOutlet 的访问权限

ios - 将粘贴内容传递给 NSString

iphone - iOS 6 自动旋转的问题

Cocoapods - xcode-选择 : error: tool 'xcodebuild' requires Xcode