我已经将AWS iOS SDK(v.2.3.6)集成到了我的应用程序中。它工作得很好,除了我注意到defaultServiceManager有免责声明:
“您应该使用此单例方法而不是创建服务管理器的实例”。
我通常不会对此有任何疑问,除非它的defaultServiceConfiguration是不可变的:
“此属性只能设置一次,任何后续的设置器都将被忽略。”
我要求服务配置(即identityPoolId +区域)能够在运行时更改。
有什么可能的解决方法?我很希望能够随时重置服务配置,但是考虑到文档中的内容,这不太可能。
您不应更改默认服务配置。而是,每个服务客户端提供以下类方法:
+ register[ServiceClientName]WithConfiguration:forKey:
+ [ServiceClientName]ForKey:
例如,对于AWSS3TransferUtility
,它们是:
+ registerS3TransferUtilityWithConfiguration:forKey:
+ S3TransferUtilityForKey:
这样,您可以在运行时为每个服务客户端传递不同的服务配置。通过遵循这种模式,可以避免无意中“污染”的默认服务配置错误,这些错误可能很难调试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句