2014-11-21 1 views
5

Я работаю над приложением Mac, которое использует StoreKit для покупки приложений. На старте он проверяет существование appStoreReceiptURL, и завершается с кодом 173, если он не существует, как описано в этой технологии записке от Apple:Как я могу распространять бета-приложение для Mac App Store с помощью Xcode 6.1?

https://developer.apple.com/library/ios/technotes/tn2259/_index.html

Я экспортировал приложение, используя " Экспорт как приложение для Mac », как я уже много раз делал это для распространения на наши бета-тестеры. Обычно выход с кодом 173 заставлял OS X отображать диалоговое окно «Вход для загрузки из магазина приложений»; это работало совсем недавно, в конце прошлой недели. Однако с помощью приложения, которое я экспортировал сегодня, используя Xcode 6.1, он не делает этого. Раньше я экспортировал Xcode 5.1.

Есть ли у кого-нибудь подобное подобное поведение? Есть ли что-то, что я должен делать по-другому, чтобы тестеры увидели приглашение входа в магазин приложений?

EDIT: В настройках сборки для цели, которую я создаю, я выбрал идентификатор подписывания кода Mac Developer и профиль автоматической настройки. Журнал процесса архивирования показывает, что он использовал ожидаемый идентификатор подписывания Mac Developer. Затем в окне «Органайзер» я выбираю «Экспорт как приложение для Mac», чтобы экспортировать его на диск, а затем запустите приложение, дважды щелкнув значок в окне Finder. Это журнал я вижу в консоли после того, как я дважды щелкните (первая строка регистрационное сообщение, что приложение выводит только перед выходом с кодом 173):

2014-11-21 3:58:43.146 PM MyApp[4144]: to get sandbox receipt, the app must be launched from outside xcode 
2014-11-21 3:58:43.148 PM com.apple.xpc.launchd[1]: (com.mycompany.MyApp.337424[4144]) Service exited with abnormal code: 173 
2014-11-21 3:58:43.151 PM storeassetd[398]: AssetServiceDelegate: Accepting new connection <NSXPCConnection: 0x7f8d61f2f990> connection from pid 378 with interface <AssetServiceInterface: 0x7f8d606f6cf0> (PID 378) 
2014-11-21 3:58:43.151 PM storeassetd[398]: addOperation <FetchReceiptOperation: 0x7f8d61f560a0>{name = '(null)'} 

Я хотел бы добавить, что я тестирование экспортированное приложение Mac на Yosemite.

EDIT: Я также использовал Receigen для генерации кода проверки квитанции и вижу те же результаты, когда я использую код, который он генерирует.

+0

Вы выяснили? – user2924482

+0

Нет, я еще не понял этого. – Greg

ответ

1

Даже если все кажется нормально, иногда демон storeagent идет не так. Это может привести к:

  • неправильная версия извлекается в получении
  • AppStore Логин не отображается
  • т.д.

Хороший способ начать это, чтобы убить storeagent:

  • в OS X 10.6 10.9:

Откройте приложение «Монитор активности» и убейте процесс storeagent (исходный отзыв приходит с форумов разработчиков Apple). Повторите попытку запуска приложения. Необходимо получить правильную квитанцию. Или вы можете открыть окно терминала и запустите команду sudo pkill -f storeagent

  • На OS X 10.10:

Открыть окно терминала и запустите команду sudo pkill -f CommerceKit

1

При экспорте приложения от Организатора , выберите Export as a Mac Application вместо Export a Developer ID-signed Application - это исправлено для меня.

+0

Да! Я пытался получить приглашение для входа в магазин приложений после появления кода 173 в течение как минимум часа, и это, наконец, сделало это для меня. Благодаря! – user3225395