【问题标题】:Cocoapods "pod update" installs old podsCocoapods “pod update” 安装旧的 pod
【发布时间】: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 "{PROJECTNAME}Tests" 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,如果您还没有收到任何答复,我会回来时为您提供更多帮助

标签: ios xcode server continuous-integration cocoapods


【解决方案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 为我修复了这个错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      相关资源
      最近更新 更多