Я не могу запустить мою подписку AWS AppSync при использовании iOS SDK.Я успешно запустил Мутации и Запросы, поэтому не уверен, что могу сделать неправильно для подписок.
Моя схема AppSync GraphQL.Я подтвердил, что все это правильно работает в консоли AWS AppSync.
type Mutation {
updateState(id: ID!, state: State!): StateChange
}
type Subscription {
watchState(id: ID!): StateChange
@aws_subscribe(mutations: ["updateState"])
}
type StateChange {
id: ID!
state: State!
}
enum State {
regular
lockdown
accolades
}
Мой код iOS:
//Set a variable to discard at the class level
var discard: Cancellable?
//In your app code
do {
discard = try appSyncClient?.subscribe(subscription: WatchStateSubscription(id: "20"),
resultHandler: { (result, transaction, error) in
print("SUBSCRIPTION TRIGGERED")
if let result = result {
print("RESULT")
print(result.data!.watchState!.state)
} else if let error = error {
print("ERROR")
print(error.localizedDescription)
}
})
} catch {
print("Error starting subscription.")
}
Я могу предоставить любые другие подробности по мере необходимости!Мой оператор печати SUBSCRIPTION TRIGGERED никогда не печатается, даже когда я отправляю мутацию через консоль AppSync, которая успешно изменяет данные «state».