Проверка квитанции проверки App Store для Mac (от receigen) «приложение повреждено и не может быть открыто». - PullRequest
1 голос
/ 09 апреля 2019

Я использую 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

Я просмотрел Диагностическую страницу 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.)'

1 Ответ

0 голосов
/ 28 мая 2019

Нашел ответ здесь, воспроизведенный ниже на случай, если оригинал исчезнет: https://forums.developer.apple.com/thread/92419

Проблема заключалась в том, что я пытался войти в систему, используя свою обычную учетную запись iTunes.


... пользователь должен использовать Apple ID тестового пользователя Sandbox, , а не свой собственный Apple ID, который мне не был понятен в то время.Кроме того, я обнаружил, что пользователь должен выйти из Mac App Store со своим собственным Apple ID, чтобы иметь возможность даже вводить идентификационный код пользователя Apple Sandbox при запросе.

Однако тест песочницыУчетные записи пользователей зависят от страны.Таким образом, вам нужен тестовый пользователь Sandbox для каждой страны.И сейчас у меня есть очень похожие сообщения об ошибках для пользователя в новой стране.Вероятно, мне придется использовать другой запрос DTS, чтобы выяснить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...