iOS 常见问题

本文介绍的是接入 iOS 过程中常见的问题及相应的解决方案。

如何设置统一存储用户态

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

[[APDataCenter defaultDataCenter] setCurrentUserId:userId];

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

统一存储是线程安全的吗

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

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

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

baidu-ap

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

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

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

解答:请参考以下代码:

  • 对象持久化存储:

    MPCodingData *obj = [MPCodingData new];
    obj.name = @"Amelia";:
    obj.age = 1;
    [APUserPreferences archiveObject:obj forKey:@"archObjKey" business:dataBusiness];
  • 在统一存储中读取变量:

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