kCGImagePropertyExifSubsecTimeOriginal has incorrect availability; crashes on iOS 9
Originator: | AriXmail | ||
Number: | rdar://30025191 | Date Originated: | 13-Jan-2017 07:39 PM |
Status: | Open | Resolved: | |
Product: | iOS + SDK | Product Version: | iOS 9 |
Classification: | Reproducible: | Always |
Area: Image I/O Summary: CGImageProperties.h states that the symbol kCGImagePropertyExifSubsecTimeOriginal has been available since iOS 4. However, in iOS 9.3 (and likely earlier), the symbol kCGImagePropertyExifSubsecTimeOriginal is a private symbol and cannot be linked at runtime, and apps which reference this symbol crash. Steps to Reproduce: 1. Build an app that uses the symbol kCGImagePropertyExifSubsecTimeOriginal 2. Run it on iOS 9 Expected Results: This should work properly. Actual Results: The app crashes on launch with the following text: dyld: Symbol not found: _kCGImagePropertyExifSubsecTimeOriginal Referenced from: /private/var/containers/Bundle/Application/FCCC4DE8-8B78-4BAF-98F1-1584CD87D26C/Workflow.app/Frameworks/ContentKit.framework/ContentKit Expected in: /System/Library/Frameworks/ImageIO.framework/ImageIO in /private/var/containers/Bundle/Application/FCCC4DE8-8B78-4BAF-98F1-1584CD87D26C/Workflow.app/Frameworks/ContentKit.framework/ContentKit In order to prevent this from occurring, kCGImagePropertyExifSubsecTimeOriginal should be marked as available in iOS 10.0 and later. On older systems developers must use the older, typo'd symbol, kCGImagePropertyExifSubsecTimeOrginal. Version: iOS 9 Notes: Configuration: iPhone 6s
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!