我一直在使用IOS AWS SDK,总的来说它非常棒,即使文档不是。 ;) 出于与本文无关的原因,我尝试使用 AWS 开发工具包中提供的 AWSCognitoIdentityProvider。 不幸的是,当应用程序尝试实例化此对象时,会收到以下错误:
。异常"NSInternalInconsistencyException",原因:"服务? 配置
nil
。您需要配置Info.plist
或设置defaultServiceConfiguration
在使用此方法之前。
熟悉的领域,我在 S3 等上见过它......这意味着您需要在 PList 中配置它。 问题 - 与 S3 不同,似乎没有任何关于此对象的 PList设置应该是什么的文档。 AWS MobileHub 示例代码不使用此对象,Github 示例也不使用此对象。 那么这个对象的实际配置应该是什么?
Aaaaa并回答我自己的问题(经过一些反复试验的猜测(,以便这可以帮助其他可怜的灵魂......
您在"AWS"字典部分中所需的PList设置是:
<dict>
<key>CognitoIdentityProvider</key>
<dict>
<key>Default</key>
<dict>
<key>PoolId</key>
<string>[Your Pool ID]</string>
<key>Region</key>
<string>[Your Region]</string>
</dict>
</dict>
</dict>
那些以前为Cognito工作过并流血的人会注意到,这些设置与您为CredentialsProvider/CognitoIdentity配置提供的设置相同(在MobileHub中确实有示例(。 希望这可以避免你撕裂你的眼球。
以下解决方案适用于认知同步
<key>AWS</key>
<dict>
<key>Cognito</key>
<dict>
<key>Default</key>
<dict>
<key>PoolId</key>
<string>[Your Pool ID]</string>
<key>Region</key>
<string>[Your Region]</string>
</dict>
</dict>
</dict>