Cocoapods “pod update” 安装旧的 pod
Posted
技术标签:
【中文标题】Cocoapods “pod update” 安装旧的 pod【英文标题】:Cocoapods "pod update" installs old pods 【发布时间】:2016-04-03 05:38:09 【问题描述】:我正在尝试通过为 ios 应用创建机器人来在 Xcode Server 上设置 CI。我使用 CocoaPods,所以我使用下面的脚本来安装 pod:
export LANG=en_US.UTF-8
#!/bin/bash
cd "$XCS_SOURCE_DIR/PROJECTNAME"
if [ -e "Pods" ]
then
/usr/local/bin/pod update
else
/usr/local/bin/pod install
fi
当前版本的 CocoaPods 0.39.0 已安装在服务器上。当我在服务器上运行“pod update”时,一切都很好,并且安装了最新的 pod。
Using FBAudienceNetwork (4.7.0)
Using FBSDKCoreKit (4.8.0)
Using Fabric (1.6.1)
Using FyberSDK (8.1.2)
Using Google-Mobile-Ads-SDK (7.6.0)
Using GoogleAnalytics (3.14.0)
当我使用上面的脚本时,发生了一些奇怪的事情。
Installing FBAudienceNetwork (4.1.0)
Installing FBSDKCoreKit (4.4.0)
Installing Fabric (1.2.8)
Installing FyberSDK (7.2.4)
Installing Google-Mobile-Ads-SDK (7.3.1)
Installing GoogleAnalytics (3.13.0)
有人知道为什么旧版本会随脚本一起安装吗?我使用 OS X Server 5.0.15 和 Xcode 7.2。
pod 文件:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, "8.0"
use_frameworks!
target "PROJECTNAME" do
inhibit_all_warnings!
pod 'AFNetworking'
pod 'Branch'
pod 'SwrveSDK'
pod 'RealmSwift'
pod 'MZTimerLabel'
pod 'pop'
pod 'Adjust'
pod 'JSQMessagesViewController'
pod 'Fabric'
pod 'Crashlytics'
pod 'GoogleAnalytics'
pod 'FBSDKCoreKit'
pod 'FyberSDK'
pod 'AdColony'
pod 'Google-Mobile-Ads-SDK'
pod 'ChartboostSDK'
pod 'FBAudienceNetwork'
pod 'VungleSDK-iOS'
end
target "PROJECTNAMETests" do
inhibit_all_warnings!
pod 'AFNetworking'
pod 'Branch'
pod 'SwrveSDK'
pod 'RealmSwift'
pod 'MZTimerLabel'
pod 'pop'
pod 'Adjust'
pod 'JSQMessagesViewController'
pod 'Fabric'
pod 'Crashlytics'
pod 'GoogleAnalytics'
pod 'FBSDKCoreKit'
pod 'FyberSDK'
pod 'AdColony'
pod 'Google-Mobile-Ads-SDK'
pod 'ChartboostSDK'
pod 'FBAudienceNetwork'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
【问题讨论】:
向我们展示您的 Podfile 好的,我已将 podfile 包含在我的问题中 应该是iOS版本的原因,试试remove (platform :ios, "8.0") 不,这似乎不起作用。我删除了该行但仍然是同样的问题 这些天我没有我的mac,如果您还没有收到任何答复,我会回来时为您提供更多帮助 【参考方案1】:我已经让它工作了!我不知道进行构建的 _xcsbuildd 用户。我在这里找到了更多相关信息:https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/
因此,以该用户身份登录后,我在服务器的终端中看到了同样的问题。旧版本的 pod 已下载。 CocoaPods 的主存储库有错误,所以我这样做了
rm -rf ~/.cocoapods/repos/master
然后我跑了
pod setup --verbose
并且再次安装了具有 Cocoapods 规范的主存储库。现在可以了!
【讨论】:
谢谢,今天这对我有帮助。作为对其他人的说明,克隆真正开始之前需要很长时间,所以首先我认为它不起作用。但我不管它,它开始了,一切都很好。【参考方案2】:对于那些在使用较新的库时遇到此问题的人,例如:
Facebook 登录 'FBSDKLoginKit' 'FBSDKShareKit' 'FBSDKCoreKit'您需要将您的 cocoapods 更新到最新版本(当前为 1.2)
我做了以下工作: (警告 Cocoapods 似乎闲置了很长时间,但我猜它在做些什么。) 在终端中按照上面@youritrg 的前两个步骤:
rm -rf ~/.cocoapods/repos/master
pod setup --verbose
您现在应该有一个刷新的安装。 然后我通过这样做更新:
sudo gem install cocoapods
安装后,Facebook Cocoapods 安装完美。
【讨论】:
这对我有用。更新到 Xcode 9 后,我遇到了 Firebase 的问题 对我来说也是。【参考方案3】:对我来说,卸载所有东西,然后删除主仓库就可以了
gem list --local | grep cocoapods
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-deintegrate
sudo gem uninstall cocoapods-downloader
sudo gem uninstall cocoapods-plugins
sudo gem uninstall cocoapods-search
sudo gem uninstall cocoapods-stats
sudo gem uninstall cocoapods-trunk
sudo gem uninstall cocoapods-try
然后
rm -rf ~/.cocoapods/repos/master
sudo gem install cocoapods
然后
pod setup --verbose
【讨论】:
"pod setup --verbose" - 我们应该在项目路径还是普通系统路径中执行这个命令?【参考方案4】:很抱歉挖掘了一个旧线程,但我遇到了 Firebase/Admob 未更新的类似问题。我得到了与上面其他人提到的相同的错误。我尝试了上面提到的所有方法,但对我来说,让 pod 正确更新的唯一方法是注释掉该行
use_frameworks!
我知道在我使用 Swift 时应该包含它,但它现在似乎工作正常。如果有人对为什么有任何想法,我很想知道发生了什么!
【讨论】:
【参考方案5】:运行 pod repo update
为我修复了这个错误
【讨论】:
以上是关于Cocoapods “pod update” 安装旧的 pod的主要内容,如果未能解决你的问题,请参考以下文章
cocoapods:pod update 和 pod install 需要很长时间
CocoaPods 1.0之前版本无法pod install和pod update! 更新后CocoaPods 1.1.1 Podfile新的写法.