Я получаю известную ошибку:
Не удалось получить токен, ошибка: Ошибка Домен = NSCocoaErrorDomain Code = 3000 "no valid" строка доступа aps-environment ", найденная для приложения" UserInfo = 0x413be0 {NSLocalizedDescription = нет допустимой строки права доступа aps-environment, найденной для приложения}
Я могу исправить его, отредактировав следующий файл:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/Entitlements.plist
И вручную добавив ключ aps-environment следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
<key>aps-environment</key>
<string>development</string>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
</array>
</dict>
</plist>
Затем Xcode генерирует правильный файл Xcent, который содержит ключ aps-environment:
/Users/mySelf/Library/Developer/Xcode/DerivedData/myApp-buauvgusocvjyjcwdtpewdzycfmc/Build/Intermediates/myApp.build/Debug-iphoneos/myApp.build/myApp.xcent
И запуск приложения на iPhone способен производить токен устройства для push.
Это единственный способ найти проблему.
(вы можете использовать эту информацию для своего собственного устранения неполадок, если вы столкнулись с этой ошибкой)
Теперь у меня такой же проект работает на другом ноутбуке (синхронизирован с git),
с той же версией Xcode 4.6.
Эта проблема делает не встречаться на этом ноутбуке.
Профиль проекта/профиль подготовки и т.д. Все 100% одинаковы на обеих машинах.
(Пожалуйста, поверьте мне, на этом)
Кто-нибудь сталкивался с такой проблемой с Xcode 4.6?
Вероятно, я должен открыть билет в Apple.
Просто интересно, доступно ли еще более элегантное решение.
Обновление:
Вышеупомянутое исправление может быть достаточным только для этапа разработки, но не для выпуска.