iOS
無_爲
擅长JavaEE、Android、iOS、Web前端等技术
展开
-
iOS:创建/下载/应用Profile
说明:Profiles是配置文件,上架App Store需要。创建证书:https://blog.csdn.net/a526001650a/article/details/104423593创建App ID:https://blog.csdn.net/a526001650a/article/details/104428582一、创建Profile:1.打开Profiles页面,...原创 2020-02-21 16:05:21 · 2500 阅读 · 0 评论 -
iOS:注册App ID
说明:一般为APP包名,用于唯一标识符,上架App Store用。1.打开注册App ID的页面,左侧选择”Identifiers”,中间Identifiers列表就是已创建的App ID,点击”+”,进入ID类别选择页面,如图所示:地址:https://developer.apple.com/account/resources/identifiers/list/bundleId...原创 2020-02-21 15:28:08 · 2653 阅读 · 0 评论 -
iOS:下载/创建证书
说明:开发证书:适用于企业内部打测试包,不上线;生产证书:适用于打包发布到AppStore,上线。证书页面:https://developer.apple.com/account/resources/certificates/list一、下载证书:1.查看证书列表:(1)打开证书页面,选中左侧”Certificates”,中间”Certificates”的列表就是所有证书,如图...原创 2020-02-21 10:33:08 · 5397 阅读 · 0 评论 -
iOS:文件下载
说明:1.获取网络文件大小;2.开启循环,计算每段position开始与结束位置,通过Range头字段按块获取文件数据流;3.使用NSFileHandle追加方式将NSData文件数据写入本地文件。一、用HEAD请求方式获取网络文件大小:/* 获取网络文件大小 */- (long long)getNetFileLen:(NSURL *)url{ //1.创...原创 2019-04-13 16:13:39 · 988 阅读 · 0 评论 -
iOS:多线程、队列使用
一、NSThread使用://获取当前线程名称[NSThread currentThread]//暂停几秒[NSThread sleepForTimeInterval:5.0f];二、NSOperation/NSOperationQueue使用:说明:使用GCD实现的OC的API,性能比GCD略低分主队列和自定义队列主队列:在主线程中执行(UI线程)...原创 2019-04-13 11:48:00 · 871 阅读 · 0 评论 -
iOS:数据存储
一、Plist方式数据存取:1.保存NSArray到document/plist中:/*保存NSArray到document/plist中*/- (void)saveNSArrayToPlist{ //获取沙盒根路径 NSString *home = NSHomeDirectory(); //document路径 NSString *docPath ...原创 2019-04-09 23:12:00 · 247 阅读 · 0 评论 -
iOS:Block使用
说明:输入inlineblock,会自动提示,按回车就可以直接出现Block写好的代码块一、无参数:定义:(返回类型)(^块名称)() = ^ { 代码实现;};示例:int(^getCount)() = ^ { return 1;};二、单个参数:定义:(返回类型)(^块名称)(参数类型) = ^(参数){...原创 2019-04-13 09:56:57 · 83 阅读 · 0 评论 -
iOS:获取APP缓存与清除缓存
1.清除APP缓存:/* 自定义方法,清除APP缓存 */- (void)clearCache{ //获取文件管理器 NSFileManager *fileM = [NSFileManager defaultManager]; //获取缓存路径 NSString *cachePath = [NSSearchPathForDirectoriesInDoma...原创 2019-04-09 15:35:36 · 3003 阅读 · 0 评论 -
iOS:打ipa安装包
一、Xcode标题栏左上角停止图标边上,将设备从模拟器改为真机,如: “工程名 > Generic iOS Device”二、Xcode标题栏左上角停止图标边上,点击 “工程名 > ”,在弹出下拉菜单中选中”Edit Scheme”。三、在弹出窗口中选中”Run”,在”Info”选项卡中,将”Build Configuration”的值从debug改为Releas...原创 2019-04-15 22:44:13 · 739 阅读 · 0 评论 -
iOS:单元测试
说明:单元测试用于测试一些工具类方法、网络、DB等和UI无关的业务方法的正确性。一、在创建工程输入名称的窗口上,选中”Include Unit Tests”,工程中会自动多出”Unit_UI_TestsTests”目录,”Unit_UI_TestsTests”目录中会自动创建”Unit_UI_TestsTests.m”,此文件就是单元测试类。二、Unit_UI_TestsT...原创 2019-04-15 21:39:12 · 91 阅读 · 0 评论 -
iOS:FMDB使用
说明:FMDB是操作sqlite的开源框架,封装了C语言的增删改查操作。使用:一、下载开源FMDB的fmdb-master工程,将fmdb整个目录拖动到项目根目录下,在使用的地方导入FMDB.h文件:#import "FMDB.h"二、创建表、增删改查操作:1.定义全局成员变量://线程不安全,多线程下不使用此类//@property(nonatomic, ...原创 2019-04-09 14:52:28 · 508 阅读 · 0 评论 -
iOS:Modal方式打开/关闭界面
一、代码方式打开关闭界面:1.打开新界面:/* 通过Modal方式打开新窗口 */- (void)open{ //创建新窗口控制器 UIViewController *vc1 = [[UIViewController alloc] init]; vc1.view.backgroundColor = [UIColor redColor]; //通过Mo...原创 2019-04-09 09:50:29 · 1379 阅读 · 0 评论 -
iOS:UITabBarController使用
说明:UITabBarController是一个Tab导航控制器,由内容+底部Tab导航条组成,可加入多个ViewController,每个对应底部一个tabBarItem,可设置显示标题,图标等。一、代码方式,在AppDelegate.m的didFinishLaunchingWithOptions方法中加入如下代码:- (BOOL)application:(UIApplica...原创 2019-04-08 22:16:51 · 1259 阅读 · 0 评论 -
iOS:MKMapView导航画线
说明:MKMapView是地图控件,支持在地图上画导航路径等操作。一、将MKMapView控件拖动到Main.storyboard视图中,并拖线到ViewController.m创建控件引用,导入MapView相关依赖包,实现代理,初始化地址与经纬度互转管理器:#import "ViewController.h"//导入自定义标注图标类#import "MyAnnotati...原创 2019-04-11 22:44:09 · 880 阅读 · 0 评论 -
iOS:文件上传(PUT方式)
说明:此处使用PUT请求方式1.增加Authorization头字段,通过服务端账号认证;2.使用NSURLSession+NSURLSessionUploadTask实现文件上传。一、使用NSURLSessionUploadTask实现文件上传:/* 文件上传(put方式) */- (void)uploadFile{ //1.创建url对象 NS...原创 2019-04-13 17:43:00 · 2135 阅读 · 0 评论 -
iOS:播放音乐
说明:AudioServices适合播放短音频AVAudioPlayer适合播放比较长的音乐一、短音乐播放:1.定义SystemSoundID成员变量,初始化SystemSoundID://短音乐:成员变量@property (nonatomic, assign) SystemSoundID soundID;/* 短音乐:初始化SystemSoundID */...原创 2019-04-13 19:55:09 · 133 阅读 · 0 评论 -
iOS:录音
说明:使用AVAudioRecorder录音一、开始录音://录音器成员变量@property (nonatomic, strong) AVAudioRecorder *recorder;/* 1.开始录音 */- (void)startRecord{ //1.录音保存文件路径 NSString *filePath = [[NSSearchPathForD...原创 2019-04-13 20:51:31 · 435 阅读 · 0 评论 -
iOS:AFNetworking使用
说明:AFNetworking是个网络请求框架使用:一、创建请求:通用请求创建方法:/* 创建URLRequest:GET或POST requestType:GET 或 POST urlStr:url字符串 body:请求体,GET方式传nil */- (NSMutableURLRequest *)getRequestByType:(NSString *...原创 2019-04-18 00:16:16 · 710 阅读 · 0 评论 -
iOS:生成.framework静态库
一、创建Bundle工程:打开Xcode,创建新工程,选中macOS -> Framework & Library下的”Bundle” - Next,输入名称,创建成功,并需要的.m和.h代码与bundle资源包拖入。二、在Build Phases中新加Headers选项:在Xcode中选中工程,在中间视图选中上面的”Build Phases”,打开左侧与中间视图之...原创 2019-04-14 19:40:25 · 224 阅读 · 0 评论 -
iOS:生成.a静态库
一、创建Framework & Library工程:打开Xcode,创建新工程,选中iOS -> Framework & Library下的”Cocoa Touch Static Library” - Next,输入名称,创建成功,并需要的代码拖入或编写。二、在Build Phases中新加Headers选项:在Xcode中选中工程,在中间视图选中上面的”B...原创 2019-04-14 19:05:30 · 334 阅读 · 0 评论 -
iOS:UIView动画与帧动画
说明:UIView动画:UIView动画,真实改变属性的值,类似android属性动画。帧动画:帧动画,一张张图片组合播放。类试电影效果。使用:一、UIView动画:1.执行动画:(1)头尾式:/* 1.头尾式 */- (void)startEndAnim{ //开启动画 [UIView beginAnimations:nil con...原创 2019-04-14 17:33:41 · 291 阅读 · 0 评论 -
iOS:CALayer和CALayer动画
说明:CALayer是层的概念,每个UIView有一个CALayer,可实现各种样式设置,CALayer还可单独加入某个UIiew上成为子视图(无触控事件);CALayer一些属性改变时自带动画,如要关闭需要开启事务,在事务中关闭;CALayer常用动画:CABasicAnimation(核心动画)、CAKeyframeAnimation(帧动画)、CATransition(过渡动...原创 2019-04-14 16:25:43 · 603 阅读 · 0 评论 -
iOS:裁剪圆形图片
说明:1.加载图片,生成bitmap;2.画圆;3.调用CGContextClip裁剪;4.画图片;5.生成新图片。使用:/* 裁剪头像为圆形 */- (void)clipImg{ //1.0加载图片 UIImage *sourceImg = [UIImage imageNamed:@"img"]; //1.1产生bitmap ...原创 2019-04-14 00:27:48 · 419 阅读 · 0 评论 -
iOS:截取屏幕
说明:1.将当前控制器的根View渲染到Context;2.从Context取出截图;3.保存新生成的图片。使用:/* 截取屏幕 */- (void)clipScreen{ //开启Context UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0); ...原创 2019-04-13 22:42:24 · 235 阅读 · 0 评论 -
iOS:UILocalNotification使用
一、添加状态栏、桌面、锁屏通知:/* 添加状态栏、桌面、锁屏通知 */- (void)addLocalNotification{ //1.创建通知 UILocalNotification *n = [[UILocalNotification alloc] init]; //2.设置在哪里通知 n.alertAction = @"通知标题"; ...原创 2019-04-16 22:08:32 · 370 阅读 · 0 评论 -
iOS:SDWebImage简单使用
说明:SDWebImage是图片加载框架,能自动将图片下载并显示到UIImageView上。一、将SDWebImage导入工程:1.到SDWebImage GitHub上下载”SDWebImage-master”,将SDWebImage-master目录下的”SDWebImage”整个文件夹拖入工程根目录下。2.按”Command+B”编译工程,解决报错问题,最新的会报2个类...原创 2019-04-21 17:51:10 · 749 阅读 · 0 评论 -
iOS:CoreData使用
说明:CoreData是数据库框架,封装了原始的SQLite操作,直接操作对象就可以完成增删改查。一、建立CoreData数据表与对应的数据对象:1.在创建iOS工程时,在输工程名称与包名的窗口,选中"Use Core Data",如图所示:2.在打开的工程目录中选中"工程名.xcdatamodeId",在中间视图窗口点底部"Add Entity",增加一个表,如图所示:...原创 2019-04-21 16:29:08 · 176 阅读 · 0 评论 -
iOS:给图片打上水印
说明:1.加载背景图片,生成bitmap;2.加载水印图片;3.合成2张图片,生成新的UIImage。使用:/* 合成两张图片,打上水印 */- (void)createWatermarkImg{ //1.0加载背景图片 UIImage *bg = [UIImage imageNamed:@"bg"]; //1.1产生背景bitmap ...原创 2019-04-13 21:40:28 · 373 阅读 · 0 评论 -
iOS:UIDatePicker使用
说明:UIDatePicker是系统自带的时间选择控件使用:1.属性介绍:将UIDatePicker控件拖动到Main.storyboard上,选中此控件时,右侧属性面板可以选择中英文,显示模式等:Mode:Date and Time:显示日期+时间Date:只显示日期Time:只显示时间Count Down Timer:显示倒计时Locale:选择Chines...原创 2019-04-08 18:07:42 · 480 阅读 · 0 评论 -
iOS:UIViewController生命周期
UIViewController的生命周期如下:/* 1.view加载完成 */- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"1 view加载完成");}/* 2.view即将显示到window上 */- (void)viewWillAppear:(BOOL)animated{ NSLog(@"...原创 2019-04-08 17:40:19 · 107 阅读 · 0 评论 -
iOS:UIDynamic(物理引擎)使用
说明:UIDynamic是物理引擎,能模拟重力、回弹、碰撞等特效,一般使用于游戏开发。使用:一、拖一个UIView到Main.storyboard视图中,用于充当箱子,右击此控件,拖线到代码中,定义一个成员变量引用://产生物理特效的View@property (weak, nonatomic) IBOutlet UIView *boxV;二、给UIView增加各种物...原创 2019-04-10 22:10:36 · 346 阅读 · 0 评论 -
iOS:简单画板(point方式)
一、在Main.storyboard中拖入一个UIView,用于显示绘制的线条,将Class属性改成自定义类(此类继承UIView,处理触控事件并绘制线条),并拖三个UIButton用于处理返回上级、清空画板、保存相册的点击事件,代码如下:#import "ViewController.h" @interface ViewController ()//UIView引用@propert...原创 2019-04-01 15:02:24 · 191 阅读 · 0 评论 -
iOS:简单画板(path方式)
一、在Main.storyboard中拖入一个UIView,用于显示绘制的线条,将Class属性改成自定义类(此类继承UIView,处理触控事件并绘制线条),并拖三个UIButton用于处理返回上级、清空画板、保存相册的点击事件,代码如下:#import "ViewController.h"@interface ViewController ()//UIView引用@property...原创 2019-04-01 14:48:15 · 187 阅读 · 0 评论 -
iOS:UIPickerView实现三级城市联动
思路:1.使用UIPickerView控件,设置3列,第1列显示省列表,第2列显示市列表,第3列显示区列表,并根据省市区条数控制当前列显示行数;2.网上下载全国地址json文件,拖到工程中,并解析成对象列表备用;3.在pickerView-titleForRow方法中根据当前列取出省或市或区,返回,设置显示内容;4.在滚动时临时保存省市区三个position值,当省与市列表滚动时,...原创 2019-04-06 00:42:51 · 641 阅读 · 0 评论 -
iOS:NSURLConnection使用
一、GET请求方式:/*get请求网络api */- (void)doGet{ //url NSString *urlStr = [NSString stringWithFormat:@"https://m.baidu.com/s?word=%@", @"phone"]; //对URL字符串进行转义,处理空格中文等情况 urlStr = [urlStr ...原创 2019-03-27 16:38:11 · 122 阅读 · 0 评论 -
iOS:UIWebView使用
一、将UIWebView控件拖动到Main.storyboard面板中,按住Ctrl+鼠标左键,拖动到如下位置,自动生成webWv成员变量://实现UIWebViewDelegate,可以重写一些WebView的方法@interface ViewController () <UIWebViewDelegate>@property (weak, nonatomic) IBOu...原创 2019-03-27 14:57:06 · 132 阅读 · 0 评论 -
iOS:MPMoviePlayerController播放视频
说明:MPMoviePlayerController类似android中的VideoView控件,自带播放视图、播放/暂停、进度条、快进快退等按钮。一、选中Main.storyboard,在中间选中当前窗口View上级的ViewController,在右侧将Class改成自定义类,如PlayerViewController;二、新建PlayerViewController,在内部实现...原创 2019-04-04 16:51:39 · 244 阅读 · 0 评论 -
iOS:将NSData数据保存到plist文件
NSData *data = nil;//获取应用本身缓存目录NSString *cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];//获取文件的路径NSString *path = [cache stringByAppendingPathComponen...原创 2019-04-04 14:05:18 · 873 阅读 · 0 评论 -
iOS:SQLite使用
一、创建数据库和表://1.获取沙盒中的数据库文件名,例如yyh.db NSString *dbName = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"yyh.db"]; ...原创 2019-03-26 19:15:51 · 545 阅读 · 0 评论 -
iOS:手势安全锁
思路:1.自定义一个View,在View的控制器中添加9格按钮,三行三列,每个按钮设一个tag值;2.监听down与move事件,将触控点坐标与9个按钮中心点范围进行匹配,符合则加入列表中,并缓存当前移动点的坐标;3.取出已选中列表与当前临时移动的点,在绘制方法中绘制path路径。4.监听up事件,从已选中列表中取出每个按钮的tag值,拼成字符串,这就是手势最终结果值,然后再清空按...原创 2019-04-04 11:38:08 · 134 阅读 · 0 评论