Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Add a new option on iOS Resolver Settings to include a "use_modular_headers!" flag on the Podfile #664

Open
nanddo opened this issue Jan 9, 2024 · 0 comments

Comments

@nanddo
Copy link

nanddo commented Jan 9, 2024

Feature proposal

Add an option on iOS Resolver Settings to enable use_modular_headers! flag on the Podfile.

Component & SDKs info

  • EDM4U Component: iOS Resolver.
  • Unity editor version: 2022.3.1f1.
  • External Dependency Manager version: 1.2.176.
  • Plugins SDK in use: Firebase, AppLovin SDK + Adapters (Admob, Facebook, Vungle, etc.).
  • Platform you are using the Unity editor on: Mac.

Issue faced

After adding AppLovin SDK to my Unity project that already had Firebase SDK, I got the following error when trying to build for iOS:

[!] The following Swift pods cannot yet be integrated as static libraries:

The Swift pod `FirebaseCoreInternal` depends upon `GoogleUtilities`, which does not define modules.
To opt into those targets generating module maps (which is necessary to import them from Swift
when building as static libraries), you may set `use_modular_headers!` globally in your Podfile,
or specify `:modular_headers => true` for particular dependencies.

The Swift pod `FirebaseSessions` depends upon `FirebaseCore`, `FirebaseCoreExtension`, `FirebaseInstallations`,
`GoogleDataTransport`, `GoogleUtilities`, and `nanopb`, which do not define modules.

When I manually added the use_modular_headers! globally in my Podfile and archived directly on XCode, the process worked correctly. However, the Podfile will be overwritten once I do a new CI build.

Important: the error above only happens on branches with AppLovin SDK. If I use a branch without it, there's no need for such a flag.

Here's how my Podfile looks like (note that the flag was added manually).

source 'https://cdn.cocoapods.org/'

platform :ios, '13.0'

use_modular_headers! # NOTE: this was added manually to make the XCode build work!

target 'UnityFramework' do
  pod 'AppLovinMediationFacebookAdapter', '6.14.0.1'
  pod 'AppLovinMediationGoogleAdapter', '10.14.0.1'
  pod 'AppLovinMediationUnityAdsAdapter', '4.9.2.1'
  pod 'AppLovinMediationVungleAdapter', '7.2.0.0'
  pod 'AppLovinSDK', '12.1.0'
  pod 'AppsFlyer-AdRevenue', '6.9.1'
  pod 'AppsFlyerFramework', '6.12.1'
  pod 'FBSDKCoreKit', '~> 16.0'
  pod 'FBSDKCoreKit_Basics', '~> 16.0'
  pod 'FBSDKGamingServicesKit', '~> 16.0'
  pod 'FBSDKLoginKit', '~> 16.0'
  pod 'FBSDKShareKit', '~> 16.0'
  pod 'Firebase/Analytics', '10.12.0'
  pod 'Firebase/Core', '10.12.0'
  pod 'Firebase/Crashlytics', '10.12.0'
  pod 'Firebase/Messaging', '10.12.0'
  pod 'Firebase/RemoteConfig', '10.12.0'
  pod 'GoogleUserMessagingPlatform', '2.1.0'
end
target 'Unity-iPhone' do
end

Additional information

There's an open pull request with such addition available here: #632

@nanddo nanddo changed the title [FR] Add new flag for including "use_modular_headers!" on Podfile setting [FR] Add a new option on iOS Resolver Settings to include a "use_modular_headers!" flag on the Podfile Jan 9, 2024
@paulinon paulinon removed the new to be triaged label Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants