You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stamp Xcode build-provenance keys into generated framework Info.plists (#36)
create_plist() emitted ten hand-written keys and not a single DT* key, so the
frameworks built from lib-dynload .so's did not look to Apple's tooling like
anything Xcode had produced. Now emits the same key set Xcode stamps into a
real framework: BuildMachineOSBuild, DTCompiler, DTPlatformBuild,
DTPlatformName, DTPlatformVersion, DTSDKBuild, DTSDKName, DTXcode,
DTXcodeBuild, UIDeviceFamily and (device slice only) UIRequiredDeviceCapabilities.
Values are resolved once per run from the SDK actually in use — sw_vers,
xcrun --show-sdk-version/--show-sdk-build-version, and xcodebuild -version.
Also fixes the simulator slice, which previously claimed
CFBundleSupportedPlatforms=iPhoneOS. create_plist() now takes the platform as
its fourth argument and labels each slice correctly.
Context: flet-dev/flet#6724 (ITMS-91065 on _ssl/_hashlib). The missing DT*
keys are the most substantive difference we could find between these
frameworks and third-party OpenSSL xcframeworks the App Store accepts. Whether
that is what Apple's scan reads is unverified — a source signature was ruled
out experimentally (codesign -f at export destroys everything but the
identifier) and the privacy manifest was ruled out (the accepted third-party
package ships an empty stub).
0 commit comments