title: Declaring instance variables for an Objective C interface in the .m file (in release mode)
body: <p>I can build the following code for debug, but not for release for an OS X target in xcode:</p>
  
  <p>myclass.h:</p>
  
  <pre><code>@interface myclass : NSObject
  
  @property (nonatomic,copy) NSString *name;
  
  @end
  </code></pre>
  
  <p>myclass.m:</p>
  
  <pre><code>@implementation myclass {
      NSString *_name;
  }
  
  @synthesize name = _name;
  
  @end
  </code></pre>
  
  <p>Any ideas why? On iOS it builds for both release and debug.</p>
  
  <p>I understand that moving the instance variable declaration to the .h will work, but my intention is to hide the implementation details (of course the real class is more complex than this example). I've tried this on the latest xcode version (4.6, build 4H127) on Mountain Lion when building 64-bit apps.</p>