常见问题

iOS 常见问题

如何设置统一存储用户态?

解答:接入 mPaaS 的应用会使用自己的账号体系,如果需要使用统一存储来管理用户态数据,请第一时间通知统一存储,让统一存储进行用户数据库的切换,再通知其它业务层。

  1. [[APDataCenter defaultDataCenter] setCurrentUserId:userId];

当用户登出时,可以不调用 setCurrentUserId 方法,统一存储会继续打开上一个用户的数据库,不会产生影响。

统一存储是线程安全的吗?

解答:是的,统一存储的数据存储接口都考虑了线程安全性问题,可以在任意线程进行调用。

如何解决与百度地图 SDK 的冲突?

描述:当与某一版本的百度地图 SDK 集成时,可能出现如下 crash。

baidu-ap

解答:您需要在 App 初始化时进行如下设置(10.1.32 及以上版本支持)。

  1. #import <MPDataCenter/APDataCenter.h>
  2. // App 初始化方法中设置
  3. APDataCenter.compatibility = YES;

archiveObject 是如何存储和读取变量的?

解答:请参考以下代码:

  • 对象持久化存储:
    1. MPCodingData *obj = [MPCodingData new];
    2. obj.name = @"Amelia";:
    3. obj.age = 1;
    4. [APUserPreferences archiveObject:obj forKey:@"archObjKey" business:dataBusiness];

统一存储中- 读取变量:

  1. MPCodingData *encodeObj = [APUserPreferences objectForKey:@"archObjKey" business:dataBusiness];