Saagar Jha > On Oct 23, 2018, at 17:15, James Walker <jam...@frameforge3d.com> wrote: > > On 10/23/18 3:12 PM, Saagar Jha wrote: >> What build command are you using? I’m not seeing any warnings with this >> code, compiled with clang -x objective-c -framework AppKit >> -Wunguarded-availability -mmacosx-version-min=10.9 - : > > If you compile with a deployment version of 10.9, I don't know if it even > bothers to look at the else clause. Try -mmacosx-version-min=10.8.
Oops, that was a typo. I meant -mmacosx-version-min=10.8. Either way, @available is checked at runtime, so both cases must be compiled anyways. >> >> #import <AppKit/AppKit.h> >> >> int main() { >> NSPrintInfo *info; >> if (@available(macOS 10.9, *)) { >> info.orientation = NSPaperOrientationPortrait; >> } else { >> info.orientation = NSPortraitOrientation; >> } >> } >> >> Regardless, if you really need a fix, you should be able to cast through >> NSInteger, instead of NSPrintingOperation, as a fallback. > > I'm not sure what you mean by "cast through NSInteger", but if I say > > info.orientation = (NSInteger) NSPortraitOrientation; > > then there's an error, "assigning to NSPaperOrientation from incompatible > type NSInteger (aka long)”. I’m not seeing that error at all, even with -Wall -Wextra. What flags are you using? > >> >> Saagar Jha >> >>> On Oct 23, 2018, at 15:01, James Walker <jam...@frameforge3d.com >>> <mailto:jam...@frameforge3d.com>> wrote: >>> >>> I had some code like this >>> >>> pInfo.orientation = NSPaperOrientationPortrait; >>> >>> where pInfo is of type NSPrintInfo*. When compiling with >>> -Wunguarded-availability, I got a warning saying that >>> NSPaperOrientationPortrait is only available on macOS 10.9 and later. So I >>> wanted to change it to: >>> >>> if (@available( macOS 10.9, * )) >>> { >>> pInfo.orientation = NSPaperOrientationPortrait; >>> } >>> else >>> { >>> pInfo.orientation = NSPortraitOrientation >>> } >>> >>> But then I get an error, "assigning to NSPaperOrientation from incompatible >>> type NSPrintingOrientation". If I fix the error by adding a typecast to >>> NSPaperOrientation, then I get a warning that NSPaperOrientation is only >>> available on 10.9 and later. Is there any way out of this roundabout, >>> other than using a later deployment target? > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com