gpt4 book ai didi

ios - AWS SDK swift com.amazonaws.AWSSNSErrorDomain Code=0 "(null)"

转载 作者:行者123 更新时间:2023-11-28 08:25:56 24 4
gpt4 key购买 nike

我正在尝试使用 AWS 开发工具包在应用程序上创建端点,以便我可以发送推送通知。当我在 AWS 控制台上手动输入详细信息时,推送通知会通过,但我正在尝试从应用程序内部注册设备,以便新用户可以注册。

按照 http://docs.aws.amazon.com/mobile/sdkforios/developerguide/setup.html 上的步骤操作我已经在 AppDelegate 中为应用程序创建了凭据,并在另一个类中使用了这些凭据。

我用来尝试访问 AWS SNS 的代码是:

func subscribeEndpoint(json: JSON)
{
let sns = AWSSNS.defaultSNS()

let request = AWSSNSCreatePlatformEndpointInput()

let user_id = json["id"].string!
request.token = "XXXXX"
request.customUserData = user_id

print("token : \(token) user : \(user_id)")

request.platformApplicationArn = "XXXX"

sns.createPlatformEndpoint(request).continueWithBlock({ (task: AWSTask!) -> AnyObject! in
if task.error != nil {
print("Error dis: \(task.error!)")
} else {
let createEndpointResponse = task.result as! AWSSNSCreateEndpointResponse
print("endpointArn: \(createEndpointResponse.endpointArn)")
}

return nil
})
}

我已经使用设备在注册通知时生成的设备 token 进行了测试(该值在 AWS SNS 控制台上输入时有效)。 user_id 也已经过测试并且不为空。

我不断得到的错误是

Error dis: Error Domain=com.amazonaws.AWSSNSErrorDomain Code=0 "(null)"

不太确定问题的原因是什么,但如果有人能帮助我,我将不胜感激。谢谢

最佳答案

这很可能是授权错误。您是否正确设置了默认服务配置?

当您使用 AWSSNS.defaultSNS() 时,它会从默认配置对象加载配置。用于默认配置的凭据提供程序应承担一个角色,该角色有权从客户端调用 createPlatformEndpoint

如果代入的角色具有足够的权限,您可以从 IAM 控制台验证它。

谢谢,罗汉

关于ios - AWS SDK swift com.amazonaws.AWSSNSErrorDomain Code=0 "(null)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39981326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com