Vous ne pouvez pas déclarer un tableau à l'aide d'une variable afin Byte byteData[len];
ne fonctionne pas. Si vous voulez copier les données à partir d'un pointeur, vous devez également memcpy (qui va parcourir les données pointé par le pointeur et la copie de chaque octet jusqu'à une longueur donnée).
Essayez:
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
Ce code permettra d'allouer dynamiquement le tableau de la bonne taille (vous devez free(byteData)
lorsque vous avez terminé) et de copier les octets en elle.
Vous pouvez également utiliser getBytes:length:
comme indiqué par d'autres, si vous souhaitez utiliser une longueur fixe de tableau. Cela évite de malloc/free, mais est moins extensible, et plus enclin à débordement de la mémoire tampon de questions alors j'ai rarement jamais l'utiliser.