NSData won’t accept valid base64 encoded string
Your Base64 string is not valid. It must be padded with = characters to have a length that is a multiple of 4. In your case: “eyJlbWFp….MTM3fQ==”. With this padding, initWithBase64EncodedString decodes the Base64 string correctly.