Я пытаюсь создать приложение Ma c, и будьте нежны со мной, так как это моя первая попытка! По сути, перенос того, что я сделал на iOS, на Ma c, и он почти готов к go с одной оставшейся частью - проверка App Store, чтобы люди не могли ее скопировать.
I у меня есть код подтверждения квитанции в нескольких моих iOS приложениях, и они работают для меня (для покупки в приложении). С Ма c я просто хочу проверить квитанцию и надеюсь, что этого достаточно. Вот основа кода, который я создал:
char buf[512] = "";
get_platform_uuid(buf, sizeof(buf));
NSString *uuidString = [NSString stringWithUTF8String:buf];
NSUUID *myUUID = [[NSUUID UUID] initWithUUIDString:uuidString];
unsigned char uuidBytes[16];
[myUUID getUUIDBytes:uuidBytes];
NSMutableData *input = [NSMutableData data];
[input appendBytes:uuidBytes length:16];
[input appendData:[receipt objectForKey:kReceiptOpaqueValue]];
[input appendData:[receipt objectForKey:kReceiptBundleIdentifierData]];
NSMutableData *hash = [NSMutableData dataWithLength:SHA_DIGEST_LENGTH];
SHA1([input bytes], [input length], [hash mutableBytes]);
NSLog(@"kReceiptHash: %@", [receipt objectForKey:kReceiptHash]);
NSLog(@"hash: %@", hash);
Последние две команды NSLog только для того, чтобы я мог регистрировать это во время отладки, но значения ha sh будут сравниваться. Это где я знаю, что оба неверны. «get_platform_uuid» - это функция, которую я нашел для получения UUID для Ma c, и она, кажется, работает нормально.
Я взял всю переменную «input» и подключил к ней информацию и запустил его на iOS, и я сделал то же самое с устройства iOS и запустил его на Ma c. В обоих случаях рассчитанная величина Ha sh одинакова; Я думаю, что расчет в порядке.
Но на Ма c он по-прежнему отличается от получения га sh. iOS расчет и квитанция га sh соответствуют этому приложению.
Я установил приложение в iTunes Connect, похоже, он подбирает правильный идентификатор пакета. Я вышел из App Store на Ma c. Я копирую приложение, из которого Xcode создает приложение, в другой каталог для его запуска. Затем он просит меня войти, что я делаю с тестовой учетной записью. Затем несколько раз пытается перезапустить приложение и завершает работу (я копирую его обратно в папку отладки, и это прерывает цикл повторного запуска).
У меня есть сертификаты, настроенные для разработки и распространения для Ma c set на сайте Apple Developer, но я уверен, что это то, что я не правильно понял с разрешениями приложения или с тем, как я запускаю приложение. Но то, что я просто не могу понять (и я смотрел - в течение долгого времени!).
Я уверен, что это что-то глупое, но как одинокий разработчик, моя единственная надежда - спросить вас, что я Я делаю неправильно?
Спасибо.