Search code examples
ioscocoapods

pod update will not update to latest version of pod no matter what I do


I have looked at the related Stack Overflow questions and tried the recommendations there to no avail as well as cocoapods's github issues.

I manage the TensorIOTensorFlow pod and recently released two updates to that pod, 1.15 and 1.15.1. Both releases were tagged on GitHub and pushed to trunk after linting using pod trunk push TensorIOTensorFlow.podspec from the project's root directory.

See https://github.com/doc-ai/tensorio-tensorflow-ios

It has now been more than twelve hours since I released the 1.15.1 update and no matter what I do I cannot get pod update to update a local project from the 1.15 version to the 1.15.1 version or pod install to install anything other than the 1.15 version.

I have tried clearing the cocoapods cache:

$ rm -rf "${HOME}/Library/Caches/CocoaPods"
$ rm -rf ~/.cocoapods/repos
$ pod cache clean --all

I have tried updating my local spec repo:

$ pod install --repo-update
$ pod update --repo-update
$ pod repo update

I have tried both pod update and pod install after removing the project's Pods directory and Podfile.lock. I have tried both of these in an existing project and a new project and on a separate machine with a first time install of cocoapods.

I have tried targeting the version specifically in the pod file:

pod 'TensorIOTensorFlow', '1.15.1'

Only to get the following error:

[!] CocoaPods could not find compatible versions for pod "TensorIOTensorFlow":
  In Podfile:
    TensorIOTensorFlow (= 1.15.1)

None of your spec sources contain a spec satisfying the dependency: `TensorIOTensorFlow (= 1.15.1)`.

You have either:
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

In spite of that error, and particularly frustrating, trunk seems to be aware of the 1.15.1 version:

$ pod trunk info TensorIOTensorFlow

TensorIOTensorFlow
    - Versions:
      - 0.1.0 (2019-04-09 19:29:30 UTC)
      - 0.1.1 (2019-05-09 17:43:06 UTC)
      - 0.3.0 (2019-12-18 18:44:18 UTC)
      - 0.3.1 (2020-01-23 23:36:35 UTC)
      - 1.13.4 (2020-05-01 21:16:32 UTC)
      - 1.13.5 (2020-05-08 21:13:09 UTC)
      - 1.13.6 (2020-05-26 20:05:09 UTC)
      - 1.15 (2020-05-27 17:06:58 UTC)
      - 1.15.1 (2020-05-27 23:44:11 UTC)

But pod search does not see it:

$ pod search TensorIOTensorFlow

-> TensorIOTensorFlow (1.15)
   The TensorFlow (unofficial) build used by TensorIO for iOS.
   pod 'TensorIOTensorFlow', '~> 1.15'
   - Homepage: https://github.com/doc-ai/tensorio-tensorflow-ios
   - Source:   https://storage.googleapis.com/tensorio-build/r1.15/TensorIO-TensorFlow-1.15_0.tar.gz
   - Versions: 1.15, 1.13.6, 1.13.5, 1.13.4, 0.3.1, 0.3.0, 0.1.1, 0.1.0 [trunk repo]

To be sure, this is after I deleted the 1.15 and 1.15.1 versions with pod delete and tried pushing them to trunk again. Before that, pod search did show the 1.15.1 version but I still couldn't get a project to upgrade to it.

Finally, I have tried uninstalling and re-installing cocoapods, and as I mentioned, I have also tried all of this on a new machine with a first time install of the latest version of cocoapods, and I still cannot get the 1.15.1 version of the pod.


Solution

  • Updating the CDN can be laggy. To workaround and directly load from the GitHub repo, add source 'https://github.com/CocoaPods/Specs.git' to the Podfile.

    Note that it will be much slower.

    UPDATE: The root cause looks to be fixed now. See https://github.com/CocoaPods/CocoaPods/issues/9826