1. ホーム
  2. ios

[解決済み] 新しい公式ポッド版を公開するには?

2022-02-17 15:45:23

質問

Podのバージョンアップに失敗する

Xcode 8.2.1とCocoaPods v1.1.1を使用しており、私のコードはSwift 3です。

私の問題は、私のPodの新しいバージョンを公開するか、既存のバージョンを更新すると、Podの仕様のlintで失敗することです。

を作成しました。 PlaybuzzSDKポッド で、そのコードを更新したいと思います。 新しいコードをコミットして GitHub クライアントからプッシュしましたが、変更はポッドクラスには反映されず、Example プロジェクトのみに反映されます。

私は何をしたのでしょうか?

新しいタグを作成し、プッシュしようとしましたが、バリデーションに合格しませんでした。

git tag 0.1.1 (successful)
git push origin 0.1.1 (successful)
pod spec lint PlaybuzzSDK.podspec (unsuccessful with error below)
pod trunk push PlaybuzzSDK.podspec  (unsuccessful with error below) 

-> PlaybuzzSDK (0.1.1) - ERROR | [iOS] unknown: 不明なエラーが発生しました ([!] /usr/bin/git clone ) https://github.com/LudaFuxPlaybuzz/playbuzz-ios-sdk.git /var/folders/h0/knhpn8z16n3cz6tkny5rmtn00000gn/T/d20161228-47834-nli8c4 --template= --single-branch --depth 1 --branch v0.1.1

Cloning into '/var/folders/h0/knhpn8z16n3cz6tkny5rmtn00000gn/T/d20161228-47834-nli8c4'... warning: クローンするリモートブランチ v0.1.0 が見つかりませんでした。 fatal: リモートブランチ v0.1.0 が上流のオリジンで見つかりませんでした ) 検証中です。

[1つのエラーのため、この仕様は検証を通過しませんでした。[SwiftプロジェクトのバリデータはデフォルトでSwift 3.0を使用します。もし別のバージョンのswiftを使用している場合は、.swift-versionファイルを使用してPodのバージョンを設定することができます。例えば、Swift 2.3 を使用するには、次のように実行します: echo "2.3" > .swift-version.

追加で試したこと

  • プロジェクトをコンピュートから削除し、再度クローンしました。
  • CocoaPodsのキャッシュをクリーンアップしました。 rm -rf ~/Library/Caches/Cocoapods rm -rf ~/.cocoapods/repos
  • 新しいブランチを作成し、そのブランチをPod lintしようとしました。

でも、毎回このエラーが出ます。

何を期待していたのか

私は、今後、もし誰かが

pod 'PlaybuzzSDK' 

で、ポッドを更新すると、新しいバージョンを取得します。

新しいバージョンとは、reloadItemが以下のようなシグネチャを持つことを意味します。

public func reloadItem(_ itemAlias:String,
                         companyDomain: String,
                         showItemInfo:Bool)

代わりに何が起こったか

Podのリントが通らない。 また、example projectからpodを更新すると、reloadItemという関数が元に戻ってしまいます。

public func reloadItem(_ userID: String,
                    itemAlias:String,
                    showRecommendations: Bool,
                    showShareButton: Bool,
                    showFacebookComments: Bool,
                    showItemInfo: Bool,
                    companyDomain: String)

問題を実証するプロジェクト

https://github.com/LudaFuxPlaybuzz/playbuzz-ios-sdk

解決方法は?

まとめ、ポッドを更新するには。

  1. のバージョンとタグを更新します。 podspec あらかじめ
  2. コミット、コードをgitにプッシュ
  3. 現在のコードで新しいタグを作成し、そのタグが podspec

    git tag 0.1.1

    git push origin 0.1.1

  4. コール pod spec lint を確認し pod trunk push レポのマスターリストで更新する

    pod lib lint YourSDK.podspec

    pod trunk push YourSDK.podspec

あなたのPodfileはv0.1.1というタグを使っているようですが、あなたのリポジトリにあるタグはvを除いた0.1.1です。