Closed6

[CocoaPods]AppLovinSDKのpodspecに記述してあるurlが非公開になってしまった

sukedonsukedon

UnityのiOSビルドにて、xcodeプロジェクト出力後のpod installが突然失敗するようになってしまった。

Podfile

source 'https://github.com/CocoaPods/Specs'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'

target 'UnityFramework' do
pod 'GoogleMobileAdsMediationAppLovin', '6.14.6.0'
pod 'Google-Mobile-Ads-SDK', '~> 7.68'
end
target 'Unity-iPhone' do
end
use_frameworks! :linkage => :static

※メディエーションネットワーク1つだけ!?って思う方もいるかもしれませんが、調査用に最小のPodfileにしてました。

エラー

[!] Error installing AppLovinSDK
[!] /usr/bin/curl -f -L -o /var/folders/y5/0tdv6dmn7q51n98sd6d27l300000gn/T/d20210813-27580-lk23z7/file.zip https://bintray.com/applovin/iOS/download_file?file_path=applovin-ios-sdk-6.14.6.zip --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.10.1 cocoapods-downloader/1.4.0'

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 403 Forbidden

なぜか403エラー

https://bintray.com/applovin/iOS/download_file?file_path=applovin-ios-sdk-6.14.6.zip
にアクセスすると

bintray has been deprecated

とのこと。

アクセスできなくなるタイミングがちょうど昨日だったのかな。
403 だったので念の為vpnをオンオフして確認してみたけどダメでした。

sukedonsukedon

GoogleMobileAdsMediationAppLovinのPodspecを見てみる。

https://github.com/CocoaPods/Specs/blob/master/Specs/7/5/f/GoogleMobileAdsMediationAppLovin/6.14.6.0/GoogleMobileAdsMediationAppLovin.podspec.json

 "dependencies": {
    "AppLovinSDK": "6.14.6",
    "Google-Mobile-Ads-SDK": ">= 7.67.0"
  },

ここ

AppLovinSDKのPodspecを見てみる。

https://github.com/CocoaPods/Specs/blob/master/Specs/9/c/c/AppLovinSDK/6.14.6/AppLovinSDK.podspec.json

  "source": {
    "http": "https://bintray.com/applovin/iOS/download_file?file_path=applovin-ios-sdk-6.14.6.zip",
    "type": "zip"
  },

ここ

この

https://bintray.com/applovin/iOS/download_file?file_path=applovin-ios-sdk-6.14.6.zip

ですね。これがダウンロードできないのが問題だと、、どうしようかな。
とりあえずpod installできていたときのビルドからファイルを直接持ってきて手動で配置すればいいか。

sukedonsukedon

pod installが成功していたときのxcodeプロジェクトのPodsフォルダ内からサルベージ

AppLovinSDK
GoogleMobileAdsMediationAppLovin

をもってくる。これをUnityプロジェクト内の

Assets/Plugins/iOS

にそのまま配置すればいけるはず。

あとはPodfileに記述されないように

AppLovinMediationDependencies.xml

からiOSの部分だけコメントアウト。
Androidの方をみるとレポジトリに

https://jcenter.bintray.com/

ってこちらもbintray.comを使ってるみたいだけどこれもそのうちアクセスできなくなるんじゃないだろうか(;´∀`)

ちなみに、iOS用の最新のSDKのPodspecを見ると、

  "source": {
    "http": "https://artifacts.applovin.com/ios/com/applovin/applovin-sdk/applovin-ios-sdk-10.3.4.zip",
    "type": "zip"
  },

とちゃんとAppLovinが自前で用意したサーバーにsdkが上がっているみたいですね。

じゃあ最新のSDKを使えばいいじゃん、となりますが諸々の事情でAdMobは5.4.0を使っているので、そのバージョンと互換性のある最新のAppLovinのメディエーションSDKがGoogleMobileAdsMediationAppLovinの6.14.6.0というわけです。

AppLovin側が古いバージョンのSDKを自前のサーバーにアップロードして、Podspecのsource内のhttpを最新のurlに変更してくれれば解決するはず。一応サポートに問い合わせてみたけど返信きたら追記する。

sukedonsukedon

過去にpod install成功したファイル残ってないよ、というケースもあるはず。
MediationAdapterはここからダウンロードできる。
https://github.com/googleads/googleads-mobile-ios-mediation/blob/master/adapters/AppLovin/CHANGELOG.md#version-61460

AppLovinSDKは、、探したけど見つからない(;´∀`)
https://github.com/AppLovin/AppLovin-MAX-SDK-iOS
MAXのiOS用SDKの中に含まれてるかなと思ったけど、なかった。

この場合はAppLovinの対応待ちが必須になるかもです、、

sukedonsukedon

ビルドも通るようになったし問題なく動いてるので一旦Close

sukedonsukedon

AppLovinから返信来てた

Hello,
I followed up internally and since we do not have any way to update pod to point elsewhere, updating your SDK is the only way. Bintray is decommissioned and older versions are not available. So the only way possible will be to be on the latest version.
Thanks,

意訳:アップデートしなきゃダメったらダメ!

〜終〜

このスクラップは2021/08/13にクローズされました