How do I fix the warning "auto property synthesis will not synthesize because it is readwrite but it will be synthesized readonly via another property" for the properties streamStatus and streamError that I'm getting with the latest AFNetworking on the Xcode 6 beta?
https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking/AFURLRequestSerialization.m#L733
Here's the relavent line in AFURLRequestSerialization.m line 733 and 734:
@interface AFMultipartBodyStream () <NSCopying>
@property (readwrite, nonatomic, assign) NSStreamStatus streamStatus;
@property (readwrite, nonatomic, strong) NSError *streamError;
It seems like the version of clang that ships with xcode 6 beta doesn't authorize to rewrite properties in an extension that is not a direct extension of the original class holding those properties.
removing:
@property (readwrite, nonatomic, assign) NSStreamStatus streamStatus;
@property (readwrite, nonatomic, strong) NSError *streamError;
and replacing it with :
@interface NSStream ()
@property (readwrite) NSStreamStatus streamStatus;
@property (readwrite, copy) NSError *streamError;
@end
solves the issue.
I've opened a pull request in the AFNetworking repo to solve this.
Hope this helps.
I JUST set up my Xcode 6 to work with developing iOS 7 apps, and it fixed an autosynthesis issue I was having with AFNetworking. I changed my build tools to 5.1
and moved the 7.1 SDK into the Developer/SDKs
dir in Xcode 6
. The issue (obviously) is that I need to change the build tools when working on iOS 8
explicitly, but it's much better than switching back and forth between 5 and 6.
Changing Build Tools
- Open Xcode Preferences (cmd+,)
- Navigate to the 'Locations' tab
- Change 'Command Line Tools' from
Xcode 6.0
to Xcode 5.1.1
Getting iOS 7 SDK
- Open Terminal
Run cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
Restart Xcode
You should now be able to set iOS 7.1
as your base SDK
This should solve your issue in the short term until all of these libraries are updated for iOS 8.0
and the new build tools.