Меня не удивит, что Apple SDK преобразуется только с использованием кодировки UTF8.
После загрузки приложения в старом iTunes и его изучения я обнаружил ссылки на ZXingObjc
и ZBarSDK
, которые, как мне кажется,используются для чтения QRCode, что объясняет, почему приложение может его читать, а ваше - нет.
Таким образом, вы можете использовать эту стороннюю библиотеку или, если вы хотите продолжать использовать библиотеку Apple, здесьЭто возможное решение:
NSString <=> EncryptedString <=> Base64EncryptedString <=> QRCode
Или подождите, пока Apple выдаст вместо [metadataObj stringValue]
, [metadataObj stringValueUsingEncoding:]
или [metadataObj rawData]
(что вы можете использовать после [[NSString alloc] initWithData:[metadataObj rawData] encoding:NSASCIIEncoding]
).