Skip to content

PrivacyInfo.xcprivacy does not get picked up by Xcode when using AppAuth as a Swift Package #832

@LarsPetersHH

Description

@LarsPetersHH

Describe the bug
When importing AppAuth as a Swift package, the PrivacyInfo.xcprivacy is not picked up by Xcode, it is not copied into my app bundle. For other Swift packages, Xcode generates a Foo.bundle inside the app package with an Info.plist and the PrivacyInfo.xcprivacy.

To Reproduce
Steps to reproduce the behavior:

  1. Add appauth-ios 1.7.2 as a Swift Package to a test project.
  2. Build the application.
  3. Inspect the contents of the app's package in Finder.
  4. PrivacyInfo.xcprivacy is not copied to app package (unlike e.g. Kingfisher):
% ls -1R PrivacyManifestTestApp.app
Info.plist
Kingfisher_Kingfisher.bundle
PkgInfo
PrivacyManifestTestApp
_CodeSignature

PrivacyManifestTestApp.app/Kingfisher_Kingfisher.bundle:
Info.plist
PrivacyInfo.xcprivacy
_CodeSignature

...

Expected behavior
PrivacyInfo.xcprivacy is copied to app package

Environment

  • Xcode 15.3, macOS 14.4
  • Building for iOS

Additional context
I works when

  • I rename Source to Sources and change the paths in Package.swift accordingly.
  • Each Sources subdirectory has its own copy of PrivacyInfo.xcprivacy and the path to it in Package.swift does not contain any parent directories: resources: [.copy("PrivacyInfo.xcprivacy")],
  • Note: When testing with a local package path to AppAuth I have to keep using "Resolve Package Versions" for Xcode to pick up the changes correctly.
AppAuth_AppAuth.bundle
AppAuth_AppAuthCore.bundle
AppAuth_AppAuthTV.bundle
Info.plist
Kingfisher_Kingfisher.bundle
PkgInfo
PrivacyManifestTestApp
_CodeSignature

PrivacyManifestTestApp.app/AppAuth_AppAuth.bundle:
Info.plist
PrivacyInfo.xcprivacy
_CodeSignature

PrivacyManifestTestApp.app/AppAuth_AppAuthCore.bundle:
Info.plist
PrivacyInfo.xcprivacy
_CodeSignature

PrivacyManifestTestApp.app/AppAuth_AppAuthTV.bundle:
Info.plist
PrivacyInfo.xcprivacy
_CodeSignature

PrivacyManifestTestApp.app/Kingfisher_Kingfisher.bundle:
Info.plist
PrivacyInfo.xcprivacy
_CodeSignature

...

Ideally there should be only one AppAuth_AppAuth.bundle but this may not be possible.

PrivacyManifestTestApp.zip

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions