关于CTS项目的iOS开发

关于CTS项目的iOS开发

通过iOS客户端UI界面布局设计,前端与后端的数据交互,数据的读取、加载、写入,实现技术架构的论证。主要通过AFNetworking实现网络通讯(数据加载、递交、更新)、MJRefresh(下拉刷新、上拉加载)、MBProgressHUD(提示)。

一、iOS开发者帐号申请
1、开发者官方网站/开发者注册。
http://developer.apple.com
https://developer.apple.com/cn/programs/enroll/
Apple ID 需要更新:移动电话号码、开启双重认证。
实体类型:选择个人。
联系地址:电话、地址信息。
支付:绑定信用卡,支付RMB 688。
2、过1个工作日,收到苹果邮件提醒,需要上传身份证正反面。
3、过1个工作日,收到苹果邮件提醒,欢迎加入Apple Developer Program。

二、iOS开发者证书和描述文件申请
1、通过钥匙串访问生成csr文件。
2、创建证书。
3、创建App ID。
4、测试设备。
5、描述文件。


开发者账号的有效期是1年。

三、xcode开发环境配置
1、xcode9.4.1安装(10月3日升级为10.0)。网络访问AFNetworking、刷新控件MJRefresh、提示控件MBProgressHUD。

2、主界面

四、调试
1、关于MJREFRESH上拉刷新无法停止的解决方法。
初始化时,将MJRefreshAutoNormalFooter更换成MJRefreshBackNormalFooter。
// 上拉加载更多的初始化

self.taskTableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];

2、-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance
格式类型不匹配,类型转换。

NSNumberFormatter *numberFor = [[NSNumberFormatter alloc]init];
NSString *oper_flag = [numberFor stringFromNumber:dict[@"oper_flag"]];

if ([oper_flag isEqualToString:@"0"]) {
//
}

3、Error Domain=NSURLErrorDomain Code=-1002 “unsupported URL”
// 请求的URL地址问题, 对请求的URL地址字符串进行utf-8编码

url_action = [url_action stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet characterSetWithCharactersInString:@"`#%^{}\"[]|\\<>"].invertedSet];

4、使用模态窗口presentViewController跳转黑屏。
通过UIStoryboard创建的ViewController,在调用模态窗口时,模拟器出现黑屏。
因为UIStoryboard无法跳转到类所对应的View中,只有对View设置ID,才能进行跳转。

// 弹出任务处理界面
/**
// 模拟器出现黑屏
TaskDealViewController *detailVC = [[TaskDealViewController alloc]init];
[self presentViewController:detailVC animated:YES completion:nil];
 */

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
TaskDealViewController *detailVC = [sb instantiateViewControllerWithIdentifier:@"sbid_taskdeal"];
[self presentViewController:detailVC animated:YES completion:nil];

 

发表回复

您的电子邮箱地址不会被公开。