How to get frame for NSStatusItem

With 10.10, NSStatusItem has a button property that be used to get the status item position without setting a custom view.

NSStatusBarButton *statusBarButton = [myStatusItem button];
NSRect rectInWindow = [statusBarButton convertRect:[statusBarButton bounds] toView:nil];
NSRect screenRect = [[statusBarButton window] convertRectToScreen:rectInWindow];
NSLog(@"%@", NSStringFromRect(screenRect));

The following seems to work - I have seen similar solutions for iOS applications and supposedly they permit submission to the app store because you are still using standard SDK methods.

    NSRect frame = [[statusBarItem valueForKey:@"window"] frame];