Setting CADisplayLink's frameInterval property on tvOS project gives incorrect deprecation warning

Originator:kewlpc
Number:rdar://27809716 Date Originated:August 11, 2016
Status:Open Resolved:
Product:tvOS SDK Product Version:tvOS 10 SDK beta 5
Classification: Reproducible:yes
 
Summary:
On a tvOS project built with tvOS 10 SDK using Xcode 8 beta 5, accessing CADisplayLink's frameInterval property gives an incorrect deprecation warning:
"'frameInterval' is deprecated: first deprecated in tvOS 3.0 - use preferredFramesPerSecond"

The deprecation warning should only be shown for apps with a deployment target of tvOS 10.0 or later (setting the deployment target to a tvOS 9.2 or earlier does not make the warning go away, despite 'frameInterval' not being deprecated until tvOS 10, and there *is* no tvOS 3.0)

Steps to Reproduce:
Create a tvOS project using the latest Xcode 8 beta.
Set tvOS 9.2 as the deployment target
In code, create a CADisplayLink object, then set its "frameInterval" property

Expected Results:
Setting the CADisplayLink object's frameInterval property should give no deprecation warnings if the deployment target is tvOS 9.2 or earlier, since it was not deprecated until tvOS 10.

If deployment target is set to tvOS 10, the deprecation warning should say it was deprecated in tvOS 10, not tvOS 3.

Actual Results:
Get a deprecation warning: "'frameInterval' is deprecated: first deprecated in tvOS 3.0 - use preferredFramesPerSecond"

This happens even when the deployment target is changed to tvOS 10.

Notes:
I believe this is simply caused by the wrong tvOS version being supplied in the macro on QuartzCore/CADisplayLink.h line 71

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!