title: DeviceMotion relative to world - multiplyByInverseOfAttitude
body: <p>What is the correct way to use CMAttitude:multiplyByInverseOfAttitude?</p>
  
  <p>Assuming an iOS5 device laying flat on a table, after starting CMMotionManager with:</p>
  
  <pre><code>CMMotionManager *motionManager = [[CMMotionManager alloc]init];
  [motionManager startDeviceMotionUpdatesUsingReferenceFrame:
      CMAttitudeReferenceFrameXTrueNorthZVertical];
  </code></pre>
  
  <p>Later, CMDeviceMotion objects are obtained:</p>
  
  <pre><code>CMDeviceMotion *deviceMotion = [motionManager deviceMotion];
  </code></pre>
  
  <p>I expect that [deviceMotion attitude] reflects the rotation of the device from True North.  </p>
  
  <p>By observation, [deviceMotion userAcceleration] reports acceleration in the device reference frame.  That is, moving the device side to side (keeping it flat on the table) registers acceleration in the x-axis.  Turning the device 90° (still flat) and moving the device side to side still reports x acceleration.</p>
  
  <p>What is the correct way to transform [deviceMotion userAcceleration] to obtain North-South/East-West acceleration rather than left-right/forward-backward?</p>
  
  <p>CMAttitude multiplyByInverseOfAttitude seems unnecessary since a reference frame has already been specified and it is unclear from the documentation how to apply the attitude to CMAcceleration.</p>