googlesamples / unity-jar-resolver

Unity plugin which resolves Android & iOS dependencies and performs version management
Other
1.21k stars 336 forks source link

[FR] Please, let iOS Resolver run `pod install` on platforms, other than macOS, too #693

Open reflexing opened 1 week ago

reflexing commented 1 week ago

Feature proposal

Please, let iOS Resolver run pod install not only on macOS. CocoaPods can be installed on Linux too.

We are enabling Continous Integration for our projects, based on Game CI guidelines (https://game.ci/docs/gitlab/getting-started).

While dockerized macOS is quite unsupported, we use Linux Docker runners to build XCode project in Unity for iOS target, then compile and package them using fastlane on macOS shell runner. I think this is a very common setup among Game CI users.

And there is very popular ads SDK AppLovin MAX Unity Plugin, whose installation and runtime working on iOS heavily depend on it's Postprocessing scripts.

They run them only if the pods were installed before: https://github.com/AppLovin/AppLovin-MAX-Unity-Plugin/blob/fcffcfb21b5f13b3476d626d34a221ad3c7d499a/DemoApp/Assets/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs#L249

The problem is, EDM don't even try to run pod install on platforms other than macOS (https://github.com/googlesamples/unity-jar-resolver/blob/a3a46e587d0ae9396f3ca39fb67cc06398e8e9da/source/IOSResolver/src/IOSResolver.cs#L1802, cocoapodsToolsInstallPresent == false in https://github.com/googlesamples/unity-jar-resolver/blob/a3a46e587d0ae9396f3ca39fb67cc06398e8e9da/source/IOSResolver/src/IOSResolver.cs#L2731)

So, when we build Unity project on macOS, everything is OK, pods are installed by iOS Resolver in Unity, then AppLovinPostProcessiOS do it's XCode project changes. But when we build Unity project on Linux Docker Game CI runner, who does have installed CocoaPods, iOS Resolver doesn't install pods, and AppLovinPostProcessiOS doesn't run.

Please, let iOS Resolver run pods install on platforms, other than macOS, too.

google-oss-bot commented 1 week ago

This issue does not seem to follow the issue template. Make sure you provide all the required information.