iOS常见问题


1. 问: 编译报错常见的问题处理方式

答: 注意,Yoosee和GWP2P-SDK都必须要在真机环境下运行,如果在模拟器上运行会报错。

① 由bitcode导致的编译报错,报错类型是does not contain bitcode,则需要把工程里的bitcode=YES,改为bitcode=NO,具体在Xcode项目Build Settings -> Enable Bitcode 设置为NO,即可编译通过。

② 由Weak References in Manual Release导致的编译报错,报错类型是_scrollView is unavailable,则需要把工程里的Weak References in Manual Release=NO,改为Weak References in Manual Release=YES,具体在Xcode项目Build Settings ->Weak References in Manual Release设置为YES,即可编译通过。

2. 问: APP推送常见的问题处理方式

答: 注意,打包app测试推送,必须使app在release版本下进行打包,安装到手机,然后再测试推送。

① 要确保制作的推送证书是过程是正确的,然后用工具(工具名字)测试推送证书。

② 测试过程中,如果遇到一两次测试推送发送不成功,麻烦多测试几次,再就是多次先注销app,然后再多次登陆app,在重新发送。

③ 把测试通过的推送证书上传到相关的推送服务器上,并且激活推送证书,如果不激活,app上线之后,也收不到推送信息的。

3. 问: 旧项目如何升级P2P库文件

答: 首先删除旧项目中的libAVCtrl.a或者所有libAVCtrl_xxx.a格式的文件,删除P2PCInterface.h,然后下载最新的P2P库和P2PCInterface.h,导入项目中即可,具体的操作请查看更新说明

4.问:采用GWP2P-SDK开发项目,并集成到项目工程里面,出现编译错误,如何解决

答: 在Xcode项目中 Build Settings -> Other Linker Flags 中,增加 -ObjC即可,原因是GWP2P-SDK中使用到了分类,需要增加这个参数。

5.问:老版本Yoosee源码给设备设置布防后,下拉刷新,界面既然变成布防状态,但是设备还是撤防状态,该如何解决呢

答: 在老版本的代码找到P2PClient.m文件里面的vIndexFriendsStatusUpdate方法,并且注释下面的代码:

if(isSupportGetDefenceStateAndSubType) {
    //bDefenceState一般设备是指布防状态0,1;对于868设备是指情景模式0 1 2 3;
    if (isSupportSceneMode(subType)) {
        [manager setDeviceCurrentModeWithDeviceId:contactId currentMode:defenceState];
    } else {
       [manager setDefenceStateWithId:contactId type:defenceState];
    }
}

在新版本Yoosee代码里是没有这个问题。

6.问: GWP2P-SDK有没有修改APP登陆密码的接口

答: 没有,目前没有集成进去,但是可以使用GWNet模块里面的相关API来进行修改。

7.问: 全新APP的Bundle ID命名规则是怎么样的

答: 全新开发的app,最好安卓和苹果统一包名,字母全部小写,并按照命名规范来写:com.公司简称.app名 (如: com.jwsd.yoose)。

8.问: GWP2P-SDK, 调用哪个API来修改设备密码

答:调用如下方法来进行修改的,具体的参数,请自行在GWP2P-SDK里面进行搜索查阅。

-(void)setDeviceAdministratorPasswordWithOldPassword:(NSString *)oldPassword
                                          newPassword:(NSString *)newPassword
                                             deviceID:(NSString *)deviceID
                                      completionBlock:(CompletionBlock)completionBlock

9.问: GWP2P-SDK里面方法的返回数据结果,最终都以什么为主

答: 返回结果最终以字典里面的数据为主,可以通过解析字典,得到具体的结果。

10.问: GWP2P-SDK支不支持自定义信息发送给设备

答: 目前是不支持的,但是Yoosee源码有支持自定义信息发生给串口,具体的方法在Yoosee源码里面的如下方法所示:

//开锁接口
-(void)sendCustomCmdWithId:(NSString*)contactId password:(NSString*)password cmd:(NSString*)cmd;

具体如何使用改方法,请查看Yoosee源码里面的调用过程。

11.问: GWP2P-SDK、Yoosee-App的登陆账号可不可以使用同一个账号

答:可以。

12.问: GWP2P-SDK是否支持全景模式

答:支持,以下是支持全景设备类型:

GWP2PDeviceIPCSubtypeSC1135Fisheye360D, //360全景
GWP2PDeviceIPCSubtypeSC1135Fisheye180D, //180全景
GWP2PDeviceIPCSubtypeSC3035Fisheye360D, //360全景
GWP2PDeviceIPCSubtypeSC3035Fisheye180D = 36, //180全景

13.问:在Yoosee源码基础上进行定制app需要注意的是APP_ID、APP_TOKEN、APP_NAME、APP_VERSION这几个参数如何修改

答:在Yoosee源码里面找constants.h文件,并且修改如下代码:

#ifndef APP_VERSION
#define APP_VERSION @"xx.xx.xx.xx"
#endif
 
#ifndef APP_NAME
#define APP_NAME @"xxxxx"
#endif
 
#ifndef APP_ID
#define APP_ID @"xxxxxxxxxxxxxxxxxxxxxxxxx"
#endif
 
#ifndef APP_TOKEN
#define APP_TOKEN @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
#endif

APP_VERSION、APP_NAME、APP_ID、APP_TOKEN分别代表是app的版本号、app名字、申请的app_id、申请的app_token。

注意: 以上内容必须要修改,如果修改错误,或者不修改,在登陆的时候,会出现"error_code" = 10901053 错误提示。