I just updated to OS X 10.11.4 & Xcode 7.3 today. When I compile my project I'm seeing tons of warnings within the Sparkle subproject. They're either:
'objectForKeyedSubscript:' is partial: introduced in OS X 10.8
Sparkle's code looks perfectly fine to me. I didn't see these warnings in either Xcode 7.1 or 7.2. I downloaded the latest Sparkle release (1.14.0), compiled the project as a standalone, and I get the same warnings. Very odd.
Probably related to subscript operator on 10.7: #778 #781
Is the deployment target for your project 10.7 or 10.8?
If so, that may be why you are getting the warnings: the code apparently will not work on 10.7, and apparently may not work on 10.8.
If you don't need to have your app run on 10.7, change the deployment target to 10.8 or 10.9 and see if that avoids the warnings.
It'll work fine in 10.8. The concern is running under 10.7. Now that Xcode actually warns us about it (thankfully), we should probably remove subscriptions usage for the near future (unfortunately).
Deployment is set to 10.7. I might be able to convince the boss to let me bump that to 10.8 (but it's pretty unlikely...).
So what's the deal with Obj-C subscripting in 10.7? Does it work reliably under any of the point releases? Or is it truly an addition to the 10.8 runtime?
Officially it's only supported in 10.8, however it was implemented privately in 10.7 for some classes that act as NSDictionary/NSArray. However, some APIs that say they return a NSDictionary/NSArray use a private class that does not have subscripting implemented. The best way to cover all cases is simply for us to remove all subscripting usage. Otherwise you can try to test if Sparkle works under a machine running 10.7 if you have one available.
I submitted a pull request for this that resolves the warnings (#786).
I downloaded the master branch, compiled, and like magic the warnings are now gone. Major props to @zorgiepoo for doing all that scut work (and @pornel as well:-)
Most helpful comment
I submitted a pull request for this that resolves the warnings (#786).