Я использую Receigen (http://receigen.etiemble.com/), чтобы выполнить проверку квитанции для одного из моих приложений MacOS. Это прекрасно работало в течение нескольких лет, но что-то изменилось. Я не обновлял это приложение длягод или около того и отправил изменение, но оно было отклонено, потому что проверка квитанции не работала.
Когда я пытаюсь проверить квитанции локально, он открывает логин App Store, я ввожу свой адрес электронной почты + пароль, а затем я получаю сообщение «приложение повреждено».
Я использовал Receigen Code Assistant для генерации кода проверки (он генерирует код подтверждения получения и рандомизирует столько, сколько может, чтобы вы не могли легко взломатькаждое приложение, которое использует receigen).
Я использую macOS 10.14.3 и Xcode 10.2.
Это заголовок из моего сгенерированного кода получения:
//
// This code was generated by RECEIGEN 4.0.4 on 2019-04-08 15:54:01 and will use:
//
// Bundle Identifier : com.inadaydevelopment.mac10biiFinancialCalculator
// Bundle Version : 2.1.0
// Receipt Identifier : com.inadaydevelopment.mac10biiFinancialCalculator
// Receipt Version : 2.1.0
//
// Language : ObjC
// Platform : OSX
// Code Prefix : ReceiptValidation
// Success Behavior : RunApplication
// Failure Behavior : ExitWith173
//
// Certificate Name : Apple Root CA
// Certificate Fingerprint : 611E5B662C593A08FF58D14AE22452D198DF6C60
// Signer Certificate OID : 1.2.840.113635.100.6.11.1
//
// OpenSSL Version : 1.0
//
// This generated code has to be linked with OpenSSL libcrypto (either statically or dynamically)
// Refer to the website for more details and specific cases.
//
Я проверил, что идентификатор пакета и версия совпадают с тем, что у меня есть в XCode (текстовое поле недостаточно длинное, но оно начинается с com.inaday ...):
![enter image description here](https://i.stack.imgur.com/Q9wT5.png)
Я просмотрел Диагностическую страницу Receigen , чтобы увидеть возможные исправления, но ничего не помогло:
1) Я просмотрел / искал в своей консоли какие-либо записи "storeagent", и я никогда не нахожулюбой.Возможно, страница диагностики содержит информацию для более старой версии macOS?
2) Я выполнил команды killall и rm -r, чтобы исправить любые проблемы с кэшированием, связанные с поврежденным сообщением.Я также несколько раз перезагружался.
3) Я заглянул внутрь пакета приложения и не увидел чека.
4) Я удалил единственную другую известную мне копию приложения (ту, которую я установил из App Store) и попробовал все снова.Та же проблема.
5) Попытка удаления контейнера.Та же проблема.
6) Я попробовал "sudo pkill -f CommerceKit".Та же проблема.
Это то, что я обнаружил в своей консоли:
ReceiptRefreshRequest: Ошибка при получении квитанции для / Users / kenny / Library / Developer / Xcode / DerivedData / 10bii_Financial_Calculator-edfoaceclymbdsazqdpinclhsejp / Buck/ Debug / 10bii Financial Calculator.app - Ошибка Domain = com.apple.commerce.server Code = 500317 "(null)"
Вот полный раздел из консоли:
default 11:52:42.776265 -0700 commerce StoreSession: StatusCode: 200; <private>; Environment: SB; URL: https://p100-sandbox.itunes.apple.com/WebObjects/MZFinance.woa/wa/createAppReceipt
debug 11:52:42.776776 -0700 commerce looked up value <private> for key PrimaryAccount:1 in CFPrefsPlistSource<0x7fe4eb803860> (Domain: com.apple.appstore.commerce, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No)
debug 11:52:42.776811 -0700 commerce looked up value <private> for key KnownAccounts:1 in CFPrefsPlistSource<0x7fe4ea6058a0> (Domain: com.apple.commerce, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No)
debug 11:52:42.776909 -0700 commerce Handling response <private> for URL <private>...
debug 11:52:42.776943 -0700 commerce No handling for HTTP status code 200 in response for URL <private>
default 11:52:42.777268 -0700 storeuid ReceiptRefreshRequest: Error fetching receipt for /Users/kenny/Library/Developer/Xcode/DerivedData/10bii_Financial_Calculator-edfoaceclymbdsazqdpinclhsejp/Build/Products/Debug/10bii Financial Calculator.app - Error Domain=com.apple.commerce.server Code=500317 "(null)"
debug 11:52:42.777338 -0700 storeuid Bundle: <private>, key: APP_IS_DAMAGED_TITLE, value: , table: MacAppStore, localizationName: (null), result: APP_IS_DAMAGED_TITLE
debug 11:52:42.777400 -0700 storeuid Bundle: <private>, key: APP_IS_DAMAGED_TITLE, value: , table: Localizable, localizationName: (null), result: “%@” is damaged and can’t be opened. Delete “%@” and download it again from the App Store.
debug 11:52:42.777427 -0700 storelegacy Bundle: <private>, key: com.apple.commerce.server, value: com.apple.commerce.server, table: Error, localizationName: (null), result: com.apple.commerce.server
debug 11:52:42.777496 -0700 storeuid Resource lookup at <private>
Request : appStore type: icns
Result : file:///System/Library/PrivateFrameworks/CommerceKit.framework/Resources/appStore.icns
debug 11:52:42.777471 -0700 storelegacy Bundle: <private>, key: The operation couldn\U2019t be completed. (%@ error %ld.), value: The operation couldn\U2019t be completed. (%@ error %ld.), table: Error, localizationName: (null), result: The operation couldn’t be completed. (%1$@ error %2$ld.)
debug 11:52:42.777544 -0700 storeuid Bundle: <private>, key: OK, value: , table: MacAppStore, localizationName: (null), result: OK
default 11:52:42.777540 -0700 storelegacy StoreLegacy: Failed to renew receipt for application at path /Users/kenny/Library/Developer/Xcode/DerivedData/10bii_Financial_Calculator-edfoaceclymbdsazqdpinclhsejp/Build/Products/Debug/10bii Financial Calculator.app : 'The operation couldn’t be completed. (com.apple.commerce.server error 500317.)'