Mac App Store проверяет подтверждение получения (от receigen) «приложение повреждено и не может быть открыто»

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

Mac App Store проверяет подтверждение получения (от receigen) «приложение повреждено и не может быть открыто»

Я просмотрел Страница диагностики Receigen, чтобы увидеть возможные исправления для этого, но ничего не помогло:

1) Я просмотрел/искал в своей консоли какие-либо записи «агента хранения» и так и не нашел. Возможно, на странице диагностики есть информация для более старой версии macOS?

2) Я выполнил команды «killall» и «rm -r», чтобы исправить любые проблемы с кэшированием, связанные с поврежденным сообщением. Я тоже несколько раз перезагружался.

3) Я заглянул внутрь пакета приложения и не увидел квитанции.

4) Я удалил единственную известную мне копию приложения (которую я установил из App Store) и попробовал все заново. Та же проблема.

5) Попытался удалить контейнер. Та же проблема.

6) Я попробовал "sudo pkill -f CommerceKit". Та же проблема.

Вот что я нашел в своей консоли:

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)"

Вот полный раздел из консоли:

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.)'
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
0
1 193
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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


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

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

Другие вопросы по теме