AudioFileSetProperty for kAudioFilePropertyID3Tag, noErr but does not write the data correctly?

I construct an NSData object to make a basic id3 tag. Then use that data to write the id3 tag using:


  OSStatus result = AudioFileSetProperty(_audioFileID,
                                          kAudioFilePropertyID3Tag,
                                          sizeInBytes,
                                          rawID3FromNSData);

if (result == noErr)
{
  NSLog(@"No error.");
}


Now when I do this, I get noErr for the result. But I noticed no programs are showing the id3 tag I wrote in. If look at the MP3 file in a hex viewer, the ID3 tag doesn't match the NSData object I created. For example, if I NSLog out the NSData object I used to get rawID3FromNSData param above, the hex begins with what like I expect:


494433 or ID3


But when I look at the tag in a hex viewer I see


49 6E 66


Even if I made a mistake construcing the ID3 in binary, I'd still expect the hex to match the data I wrote in?