Как Вы протестировали бы сервис обратной связи APNS в песочнице? Или другими словами, как Вы вынуждаете устройство быть в обратной связи?
Если вы удалите приложение с устройства, все, что вам нужно сделать, это попытаться отправить одно уведомление на это устройство, и при следующем подключении к серверу обратной связи оно вернет это устройство. Затем он не вернет устройство снова, пока вы не попытаетесь отправить другое уведомление на это устройство.
Кроме того, если вы отправляете несколько уведомлений на устройство между подключениями к серверу обратной связи, устройство будет возвращаться для каждого уведомления, которое было отклонено.
Я понимаю, что ответ уже был принят, но для того, чтобы провести первый раунд тестирования без необходимости постоянно устанавливать и удалять мое приложение с телефона/ipod, я создал ОЧЕНЬ простой скрипт ruby для работы в качестве сервера обратной связи. Я настроил свой класс APNS в ruby на подключение к этому серверу (localhost:2196) и чтение с него. Я НЕ инициировал SSL-соединение, поэтому вместо него я просто использовал базовый сокет. Ниже приведен скрипт, который я использовал для "размещения" сервера.
#!/usr/bin/env ruby
require 'socket'
puts 'Opening server'
server = TCPServer.open(2196)
loop {
puts 'Waiting for connection'
client = server.accept
puts 'Connected preparing data'
data = [1, 2, 3, 4, 0, 32, ['d41c3767074f541814c2207b78f72e538569cb39eae60a8c4a8677549819e174']]
puts 'Data for delivery: ' + data.inspect
begin
data[6] = data[6].pack('H*')
data = data.pack('c6a*')
loop {
puts 'Writing Data'
client.write data
puts 'Sleeping for 5 seconds'
sleep 5
}
rescue
end
puts 'Done writing, closing'
client.close
}
Этот скрипт будет слушать и при получении соединения каждые 5 секунд записывать пакет в сокет. Если сокет закрывается (например, вы завершаете процесс обратной связи), этот скрипт перезагружается и ждет нового соединения.
Помните, не используйте SSL-соединение, просто стандартный сокет ruby. Удачи!