gpt4 book ai didi

ios - nsstring 导致我的应用程序崩溃

转载 作者:行者123 更新时间:2023-11-28 21:42:45 27 4
gpt4 key购买 nike

我创建了包含帖子参数的字典。

NSDictionary *post_params = [NSDictionary dictionaryWithObjectsAndKeys:
[[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString], @"advertisingId",
[[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleShortVersionString"], @"appVersion",
[[UIDevice currentDevice]systemVersion], @"deviceSystemVersion",
[[NSUserDefaults standardUserDefaults] objectForKey:@"apnsToken"], @"apnsToken",
[[NSUserDefaults standardUserDefaults] objectForKey:@"userId"], @"userId",nil];

上面的帖子参数附加到带有此代码的帖子请求:

for (id key in params) {
[body appendData:[[NSString stringWithString:[params objectForKey:key]] dataUsingEncoding:NSUTF8StringEncoding]];
}

以上代码在send_post_request函数中执行。

我收到了这个崩溃报告

0   CoreFoundation                  0x182a982d8 __exceptionPreprocess + 132 (NSException.m:162)
1 libobjc.A.dylib 0x1947640e4 objc_exception_throw + 60 (objc-exception.mm:527)
2 CoreFoundation 0x182a9f3a4 __methodDescriptionForSelector + 0 (NSObject.m:368)
3 CoreFoundation 0x182a9c154 ___forwarding___ + 928 (NSForwarding.m:2878)
4 CoreFoundation 0x18299eccc _CF_forwarding_prep_0 + 92 (NSForwarding.s:772)
5 Foundation 0x1838cc864 -[NSPlaceholderString initWithString:] + 180 (NSString.m:1973)
6 Foundation 0x1838d2e14 +[NSString stringWithString:] + 56 (NSString.m:152)
7 ZVSDV 0x100084f70 +[ZVSDVutableURLRequest send_post_request:params] + 800 (ZVSDVutableURLRequest.m:79)

此报告显示应用程序在执行这行代码时崩溃:

[body appendData:[[NSString stringWithString:[params objectForKey:key]] dataUsingEncoding:NSUTF8StringEncoding]];

这可能是因为这个原因:

  1. [params objectForKey:key] 返回 nil 值。但这不可能发生。因为 NSDictionary 不能保存 nil 值。

  2. [params objectForKey:key] 返回整数。我确定 NSUserDefaults 返回 NSString 对象。其他参数对象应该是 NSString

可能是什么问题?

最佳答案

params 中的对象之一不是 NSString。

运行这个检查

  for (id key in params) {
if (![[params objectForKey:key] isKindOfClass:[NSString class]]) {
NSLog(@"the object for key '%@' is not a string. It's %@", key, NSStringFromClass([[params objectForKey:key] class]));
}
}

关于ios - nsstring 导致我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31404664/

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