The string "..." is an invalid value for NSHealthUpdateUsageDescription

因为我们的app中用到了HealthKit,
最近Bugly频繁捕捉到iOS13系统一个必现的crash,描述为
the string "健康2" is an invalid value for NSHealthUpdateUsageDescription
经过定位,崩溃的地方为请求HealthKit授权,

  • (void)requestAuthorizationToShareTypes:(nullable NSSet *)typesToShare
    readTypes:(nullable NSSet *)typesToRead
    completion:(void (^)(BOOL success, NSError * _Nullable error))completion;这是HealthKit的API,
    因为是SDK的API方法,所以没法去改代码。经过百度和揣摩,也许NSHealthUpdateUsageDescription对应的value值描述的过于粗糙。
    因为我们一开始仅仅设定为“ 健康2”,后来改成了“爱家康需要您的同意,才能访问健康更新,给您带来更好的服务”
    然后在iOS13上run,竟然不crash了。
    搞到最后,竟是因为描述太粗糙,真是服了大苹果。描述太粗糙,竟然让app crash,给个警告也好呀。。。

你可能感兴趣的:(The string "..." is an invalid value for NSHealthUpdateUsageDescription)