安装CocoaPods
- 如果您在macOS 10.9.0-10.9.2上安装,当RubyGems尝试安装
json
gem 时可能会遇到问题。要解决此问题,请遵循以下说明 -
从macOS 10.8升级到10.9后,即使在重新安装gem之后,已安装的CocoaPods gem也不再起作用。要解决此问题,您可能需要先卸载gem然后重新安装。
1 $ gem uninstall cocoapods 2 $ gem install cocoapods
-
gem可能无法编译,为了解决这个问题,您可能需要符号链接GCC。
-
如果您使用的是Xcode的预发布版本,则可能需要更新命令行工具。
-
CocoaPods与MacRuby不兼容。
-
如果你得到错误“ERROR:执行gem时...(Errno :: EPERM);操作不允许 - / usr / bin / fuzzy_match”然后尝试:
$ sudo gem install -n / usr / local / bin cocoapods
使用CocoaPods项目
-
使用Xcode工作区
<Project>.xcworkspace
,而不是Xcode项目。 -
如果某些内容似乎不起作用,首先要确保您没有完全覆盖
Pods.xcconfig
项目构建设置中文件中设置的任何选项。要从项目的构建设置中为选项添加值,请在值列表前加上$(inherited)
。 -
如果Xcode找不到依赖项的标头:
- 检查pod头文件是否正确符号链接,
Pods/Headers
并且您没有覆盖HEADER_SEARCH_PATHS
(请参阅#1)。 - 确保您的项目正在使用
Pods.xcconfig
。要选中此项,请选择项目文件,然后再次在第二个窗格中选择它,并Info
在第三个窗格中打开该部分。在配置下,您应该Pods.xcconfig
为需要安装的pod的每个配置选择。 - 如果Xcode仍然无法找到它们,作为最后的手段,您可以添加您的导入,例如
#import "Pods/SSZipArchive.h"
。
- 检查pod头文件是否正确符号链接,
-
如果您收到有关无法识别的C编译器命令行选项的错误,例如
cc1obj: error: unrecognised command line option "-Wno-sign-conversion"
:- 确保将项目构建设置配置为使用“Apple LLVM编译器”(clang)
- 你设置
CC
,CPP
或者CXX
环境变量,例如,在你的~/.profile
?这可能会干扰Xcode构建过程。从您的~/.profile
。删除环境变量。
-
如果Xcode在链接时抱怨,例如
Library not found for -lPods
,它没有检测到隐式依赖:- 转到产品>编辑方案
- 单击Build
- 添加
Pods
静态库,并确保它位于列表的顶部 - 清洁并再次建造
- 如果这不起作用,请验证您尝试包含的规范的源是否已从GitHub中提取。通过查看<Project Dir> / Pods / <您要包含的规范名称>来执行此操作。如果它是空的(它不应该是),请验证〜/ .cocoapods / master / <spec> / <spec> .podspec中是否包含正确的git hub url。
- 如果仍然无效,请检查Xcode构建位置设置。转到首选项 - >位置 - >派生数据 - >高级,并将构建位置设置为“相对于工作区”。
- 如果您尝试将应用程序提交到App Store,并发现“产品”>“存档”在“管理器”中不产生任何内容:
- 在Xcode“Build Settings”中,找到“Skip Install”。在应用程序目标上将“Release”的值设置为“NO”。再次构建它应该工作。
不同的Xcode版本可能存在各种问题。寻求帮助并告诉我们您正在使用的版本。
我可以使用静态库解决'重复符号'错误吗?
当您使用包含应用程序的公共依赖项的闭源第三方库时,通常会发生这种情况。一个蛮力解决方法是从静态库中删除的依赖,如所描述这里
但是,通常,供应商应该为其包含的任何依赖项添加前缀,因此您无需处理它。发生这种情况时,请联系供应商并要求他们将其修复,并使用上述方法作为临时解决方法。
运行pod命令时出现权限错误
从CocoaPods 0.32.0开始,我们已经删除了以root身份运行pod命令的功能,以防止CocoaPods在以root身份混合运行时进入不一致状态。
如果您在一个阶段以root身份运行CocoaPods,则可能会在执行某些操作时开始获取权限被拒绝错误。当您遇到权限错误时,您可能需要删除以root身份运行的旧文件,例如缓存数据。您可以使用以下命令执行此操作。
1 $ sudo rm -fr ~/Library/Caches/CocoaPods/ 2 $ sudo rm -fr ~/.cocoapods/repos/master/
除了这些全局文件之外Pods
,任何地方都可能有一个目录,你有一个Podfile。如果仍然收到权限错误,则应删除此目录,然后运行pod install
。
$ sudo rm -fr Pods/
我想要的修复是在master / a branch中,但我现在已经被阻止了
有一个使用CocoaPods版本来尝试讨论或实现阶段的新功能的指南。
我没有找到解决问题的方法!
我们有多种支持途径,这里按照我们喜欢的顺序。
-
Stack Overflow,给自己一些上网点。这可以减轻CocoaPods开发团队的压力,让我们有时间处理项目而不是支持。使用Stack Overflow的一个优点是,其他人可以轻松获得答案。
-
CocoaPods邮件列表,邮件列表主要用于相关项目的公告和支持。
-
如果您的问题是关于通过CocoaPods分发的库(请),请参阅spec repo。
我认为这是CocoaPods的一个错误
在这种情况下,我们希望在GitHub问题跟踪器上获取它,我们使用它来跟踪我们必须要做的开发工作。
-
在提交新票之前搜索票证。如果您有关于该问题的新信息,请添加到现有故障单。
-
仅提供有关CocoaPods工具本身的文件票据。这包括CocoaPods, CocoaPods / Core和Xcodeproj。
-
保持门票短但甜蜜。确保包含解决问题所需的所有上下文。不要过头了。伟大的门票让我们专注于解决问题,而不是讨论它们。