创建 BoxMetadata 时出现意外值
Unexpected value while creating BoxMetadata
我的 iOS 应用程序正在通过 BOXContentSDK 访问 BOX API。突然,我在创建 BOXMetadata 时收到 'version' 和 'typeversion' 的意外类型(int),这导致崩溃,因为 NSJSONSerialization+BOXAdditions.m[=13 下面的断言=]
+ (id)box_ensureObjectForKey:(NSString *)key inDictionary:(NSDictionary *)dictionary hasExpectedType:(Class)cls nullAllowed:(BOOL)nullAllowed
{
id object = [dictionary objectForKey:key];
id extractedObject = object;
if ([object isEqual:[NSNull null]])
{
if (nullAllowed)
{
extractedObject = [NSNull null];
}
else
{
BOXAssertFail(@"Unexpected JSON null when extracting key %@ from dictionary %@", key, dictionary);
extractedObject = nil;
}
}
else if (object == nil)
{
extractedObject = nil;
}
else if (![object isKindOfClass:cls])
{
BOXAssertFail(@"Unexpected type when extracting key %@ from dictionary %@\nExpected type %@ but instead got %@", key, dictionary, NSStringFromClass(cls), NSStringFromClass([object class]));
extractedObject = nil;
}
return extractedObject;
}
这是我从上面的断言中得到的异常;
Expected type NSString but instead got __NSCFNumber'
下面的示例响应 JSON;
{"documenttype":"Inspections","categories":"Inspections","reportdocumenttype":"","documentTag":"SR000070022803","csa.internal.only":"false","$type":"properties","$parent":"file_42748776033","$id":"314f1a71-7ecf-4e6f-a765-8a6eaefed6d3","$version":0,"$typeVersion":0,"$template":"properties","$scope":"global"}
谢谢!
感谢您与我们联系,Alp。我们的元数据 SDK 代码与值不再需要是字符串(元数据中可以有整数和浮点值)这一事实不同步。这是您将在 https://github.com/box/box-ios-sdk/pull/134 中看到的主要更改,其中包含针对此问题的修复。
如果您 运行 有进一步的问题,请告诉我们。
祝你好运,
汤姆
我的 iOS 应用程序正在通过 BOXContentSDK 访问 BOX API。突然,我在创建 BOXMetadata 时收到 'version' 和 'typeversion' 的意外类型(int),这导致崩溃,因为 NSJSONSerialization+BOXAdditions.m[=13 下面的断言=]
+ (id)box_ensureObjectForKey:(NSString *)key inDictionary:(NSDictionary *)dictionary hasExpectedType:(Class)cls nullAllowed:(BOOL)nullAllowed
{
id object = [dictionary objectForKey:key];
id extractedObject = object;
if ([object isEqual:[NSNull null]])
{
if (nullAllowed)
{
extractedObject = [NSNull null];
}
else
{
BOXAssertFail(@"Unexpected JSON null when extracting key %@ from dictionary %@", key, dictionary);
extractedObject = nil;
}
}
else if (object == nil)
{
extractedObject = nil;
}
else if (![object isKindOfClass:cls])
{
BOXAssertFail(@"Unexpected type when extracting key %@ from dictionary %@\nExpected type %@ but instead got %@", key, dictionary, NSStringFromClass(cls), NSStringFromClass([object class]));
extractedObject = nil;
}
return extractedObject;
}
这是我从上面的断言中得到的异常;
Expected type NSString but instead got __NSCFNumber'
下面的示例响应 JSON;
{"documenttype":"Inspections","categories":"Inspections","reportdocumenttype":"","documentTag":"SR000070022803","csa.internal.only":"false","$type":"properties","$parent":"file_42748776033","$id":"314f1a71-7ecf-4e6f-a765-8a6eaefed6d3","$version":0,"$typeVersion":0,"$template":"properties","$scope":"global"}
谢谢!
感谢您与我们联系,Alp。我们的元数据 SDK 代码与值不再需要是字符串(元数据中可以有整数和浮点值)这一事实不同步。这是您将在 https://github.com/box/box-ios-sdk/pull/134 中看到的主要更改,其中包含针对此问题的修复。
如果您 运行 有进一步的问题,请告诉我们。
祝你好运, 汤姆