[CocoaPods]AppLovinSDKのpodspecに記述してあるurlが非公開になってしまった
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エラー
にアクセスすると
bintray has been deprecated
とのこと。
アクセスできなくなるタイミングがちょうど昨日だったのかな。
403 だったので念の為vpnをオンオフして確認してみたけどダメでした。
GoogleMobileAdsMediationAppLovinのPodspecを見てみる。
"dependencies": {
"AppLovinSDK": "6.14.6",
"Google-Mobile-Ads-SDK": ">= 7.67.0"
},
AppLovinSDKのPodspecを見てみる。
"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できていたときのビルドからファイルを直接持ってきて手動で配置すればいいか。
pod installが成功していたときのxcodeプロジェクトのPodsフォルダ内からサルベージ
AppLovinSDK
GoogleMobileAdsMediationAppLovin
をもってくる。これをUnityプロジェクト内の
Assets/Plugins/iOS
にそのまま配置すればいけるはず。
あとはPodfileに記述されないように
AppLovinMediationDependencies.xml
からiOSの部分だけコメントアウト。
Androidの方をみるとレポジトリに
ってこちらも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に変更してくれれば解決するはず。一応サポートに問い合わせてみたけど返信きたら追記する。
過去にpod install成功したファイル残ってないよ、というケースもあるはず。
MediationAdapterはここからダウンロードできる。
AppLovinSDKは、、探したけど見つからない(;´∀`)
MAXのiOS用SDKの中に含まれてるかなと思ったけど、なかった。この場合はAppLovinの対応待ちが必須になるかもです、、
ビルドも通るようになったし問題なく動いてるので一旦Close
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,
意訳:アップデートしなきゃダメったらダメ!
〜終〜