Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 变量的字符串赋值仍然为零_Ios_Amazon Web Services_Nsstring - Fatal编程技术网

Ios 变量的字符串赋值仍然为零

Ios 变量的字符串赋值仍然为零,ios,amazon-web-services,nsstring,Ios,Amazon Web Services,Nsstring,因此,我使用AWS Cognito对iOS应用程序中的用户进行身份验证。然而,在一小段代码中,我缩小了一个非常奇怪的问题,同时做了一些小的修改 我注意到我收到了这个错误: 无法刷新。错误是[错误] 域=com.amazonaws.AWSCognitoCredentialsProviderErrorDomain代码=1 “identityId不应为零” UserInfo={NSLocalizedDescription=identityId不应为零}] 调试后,我注意到identityId实际上没有

因此,我使用AWS Cognito对iOS应用程序中的用户进行身份验证。然而,在一小段代码中,我缩小了一个非常奇怪的问题,同时做了一些小的修改

我注意到我收到了这个错误:

无法刷新。错误是[错误] 域=com.amazonaws.AWSCognitoCredentialsProviderErrorDomain代码=1 “identityId不应为零” UserInfo={NSLocalizedDescription=identityId不应为零}]

调试后,我注意到identityId实际上没有设置:

_identityId = [jsonDict objectForKey:@"IdentityId"];
self.keychain[EncryptionKeyKey] = self.identityId;
return [AWSTask taskWithResult:nil];
虽然我在上面的代码块中清楚地设置了它,并检查以确保[jsonDict objectForKey:@“IdentityId”]确实产生了一些值,但通过调试器,我发现赋值前后的“po self.IdentityId”仍然为零。NSString不是需要分配的东西,更奇怪的是,它过去是可以工作的。因为我现在使用的是UICkeychainstore,所以我把一些语句调高了,但这不会影响任何事情。此外,我处理了我的更改,发现问题仍然存在。如果你有任何想法,请告诉我

在上一个错误之后不久,我也注意到了这个错误:

此应用程序正在从后台线程修改autolayout引擎,这可能导致引擎损坏和奇怪的崩溃。这将在将来的版本中导致异常


任何想法都会非常有用

事实证明,我有一个登录方法和一个getToken方法。在getToken方法中,出于安全原因,我对使用keychain而不是nsuserdefaults的代码进行了一些更改,但我没有做正确的事情。修复getToken后,它工作了。不过,在进一步调试之后,我发现identityId仍然无法设置,无论它是否工作。我猜它可能是某种块变量s.t。赋值不会立即发生。至少这是我的理论。但总而言之,它是有效的

请出示您在jsonDict字典中的