-
Notifications
You must be signed in to change notification settings - Fork 836
Closed
Labels
Description
Describe the bug
AppAuth cannot be added as a transitive dependency of a CocoaPods pod, when built as a static library.
To Reproduce
- Install CocoaPods.
- In Xcode, make new iOS app project.
- cd into the directory and
pod initto initialize CocoaPods. - In the generated
Podfilecomment outuse_frameworks!to embed as static libs. Add a pod that depends onAppAuth, for example,GTMAppAuth:
# Comment the next line if you don't want to use dynamic frameworks
# use_frameworks!
pod 'GTMAppAuth', '4.1.1'- Run
pod install, which fails:
$ pod install
Analyzing dependencies
Downloading dependencies
Installing AppAuth (1.7.3)
Installing GTMAppAuth (4.1.1)
Installing GTMSessionFetcher (3.3.2)
[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod `GTMAppAuth` depends upon `GTMSessionFetcher` and `AppAuth`, which do 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.
Expected behavior
pod install should succeed when adding a pod with a dependency on AppAuth.
Environment
macOS 14.4.1
CocoaPods 1.14.3
Additional context
AppAuth is not setting up a module, and doesn't have DEFINES_MODULE for that to be done automatically.
This can be fixed by adding DEFINES_MODULE to AppAuth.podspec. See CocoaPods documentation about modular headers.
s.xcconfig = {
'DEFINES_MODULE' => 'YES',
}vonovak