iOS-扩展篇各种功能
改专栏介绍iOS实际开发中所用到的功能,比如定位,地图,蓝牙,分享,登入,支付推送等
三好夫人
仰望星空,脚踏实地
展开
-
iOS 14系统下 UIDatePicker 出现问题及解决方案
如果你的项目中使用了 UIDatePicker 控件并在 14 系统下出现问题出现的原因苹果在 14 系统中修改了 datePicker 的preferredDatePickerStyle属性增加了UIDatePickerStyleInline并且将默认样式调整到新增的 style 上,如果你的项目中和我一样没有设置 style类型并且需要轮播那么就会出现问题解决方案:主动设置 datePicker的 style if (@available(iOS 13.4, *)) {原创 2020-10-23 14:39:51 · 2920 阅读 · 0 评论 -
各个iPhone尺寸和分辨率
Phone 1G320x480iPhone 3G320x480iPhone 3GS320x480iPhone 4640x960iPhone 4S640x960iPhone 5640x1136iPhone 5S640x1136iPhone 5C640x1136iPhone 6 750x1334iPhone 6 Plus 1080x1原创 2016-12-27 23:11:46 · 432 阅读 · 0 评论 -
iOS 系统权限配置
<------http权限----><key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/><------相册----><key>NSPhotoLibraryUsageDesc...原创 2019-03-19 16:04:59 · 505 阅读 · 0 评论 -
关于xcode10模拟器运行xr真实宽高适配
虽然xr官方的屏幕尺寸为6.1英寸本来xr 的屏幕size是 414x896 @2x(2倍分辨率)所以用了828x1792#define kDevice_Is_iPhoneXR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[U...原创 2018-10-19 21:19:22 · 1659 阅读 · 0 评论 -
iphone机型分辨率
1启动图的适配如果用的是LaunchScreen.storyboard就不需要考虑,如果是LaunchImage启动图那么需要准备正确的启动图,注意XR使用的@2x的图机型启动图及分辨率4s320x480 @2x5,5s,se320x568 @2x6,6s,7,8375x667 @2x6,6s,7,8(plus)414x736 @3x...原创 2018-10-19 20:34:41 · 755 阅读 · 0 评论 -
蓝牙
iOS端蓝牙开发框架 1.gamekit多用于对战游戏,从7.0过期 2.MultipeerConnectivity,代替上面的,多用于非联网状态下,通过Wi-Fi或者蓝牙来进行文件共享,且只能用于ios设备之间连接,局限于同一个app交互 3.externalAccessoy:用于第三方蓝牙设备交换,但设备必须经过评估mfi认证. 4.(主打)CoreBluetooth:就是所谓的BLE...原创 2018-02-22 18:11:40 · 205 阅读 · 0 评论 -
openssl生成ras证书
链接http://blog.csdn.net/lining1041204250/article/details/79259920 前言 iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密. 首先需要先生成这些文件,然后再将文件导入工程使用。 ...转载 2018-02-13 00:12:18 · 470 阅读 · 0 评论 -
RSA
加密—非对称加密 非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密(privatekey) 公开密钥和私有密钥是一对 如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。 如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。 特点 算法强度复杂,安全性依赖于算法与密钥。 加密解密速度慢。 使用 证书生成 http://blog.csdn.ne...原创 2018-02-13 00:09:58 · 231 阅读 · 0 评论 -
Base64+动态密码生成
加密方式二Base64 //字符串编码 -(NSString )base64EncodeString:(NSString )string{ NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; //对二级制数据进行64编码 NSString *base64 = [data base64Enc...原创 2018-02-12 23:09:36 · 528 阅读 · 0 评论 -
MD5
使用import原创 2018-02-12 23:07:22 · 142 阅读 · 0 评论 -
AES
ios端的加密方式有以下几种 1:AES(对称加密) 2:RSA(非对称加密) 算法摘要 3:MD5 4:base64 5:动态生成密码(时间戳)1.AES 1.1简介 对称加密算法又称传统加密算法。加密和解密使用同一个 密钥 那么他有128,192, 256三种秘钥 加密模式有ecb,cbc,cfb,ofb AES128 CBC No Padding加密方式 AES1...原创 2018-02-12 23:05:54 · 247 阅读 · 0 评论 -
zipArchive(解压缩)
1、zipArchive // Unzip Operation NSString *zipPath = @”path_to_your_zip_file”; NSString *destinationPath = @”path_to_the_folder_where_you_want_it_unzipped”; [Main unzipFil...原创 2018-02-11 00:06:23 · 1319 阅读 · 0 评论 -
ios-数据存储三(CoreData)
1、CoreData 简介:CoreData是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。CoreData是一门功能强大的数据持久化技术,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互,如果让我选我还是选SQ...原创 2018-02-11 00:03:31 · 208 阅读 · 0 评论 -
ios-KeyChain
iOS数据存储— keyChain iOS的keyChain是一个相对独立的空间,当我们的程序(App)被替换或者删除时并不会删除保存在keyChain的内容。 相对于NSUserDefaults、plist文件保存等一般方式,keychain保存更为安全。 所以我们会用keyChain保存一些私密信息,比如密码、证书、设备唯一码(UDID7.0被禁 用uuid代替)等等。 密...原创 2018-02-10 23:59:36 · 380 阅读 · 0 评论 -
ios--数据存储(二)文件
iOS端存储方案二NSFileManager文件存储 存 -(void)creatFile{NSString *fileName = @"textFile";NSString *fileContent = @"内容很唱唱唱换成那个啊啊";NSData *fileData = [fileContent dataUsingEncoding:NSUTF8StringEncoding];...原创 2018-02-10 23:58:31 · 167 阅读 · 0 评论 -
ios开发-数据存储篇(一)
iOS端存储方案 ios数据持久化有几种方式 1.plist 2.NSUserDatefaults(偏好设置) 3.NSKeyedArchiver解归档 4.fmdb(Sqlite的封装)5.CoreData 6.keyChain(钥匙串,与沙盒无关) 7.文件存储 沙盒 要想在本地存储数据,那就要知道一下什么是应用沙盒 ,其实很好理解应用沙盒就是应用的文件夹,...原创 2018-02-10 23:57:07 · 255 阅读 · 0 评论 -
ios开发-支付宝篇
支付宝支付流程 文档中心demo下载 https://docs.open.alipay.com/54/104509 支付宝提供的公私钥生成工具 工具地址:https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=106097&docType=1 https://docs.open.alipay.com/2...原创 2018-02-10 23:54:49 · 219 阅读 · 0 评论 -
ios-IAP坑点和遇到的问题总结
内购全面总结 苹果IAP最大的坑点:applicationUsername=nil,你懂得 另外:IAP和第三方支付最大的不同点 第三方支付:客户端只要给服务器传商品参数给服务器让我们服务器向第三方支付服务器请求交易订单这样的好处是安全,可控制,可查询然后我们客户端根据服务器给我们的交易订单来拉起支付但是IAP:如果也向第三方流程一样由服务器创建订单再下发给客户端然后调用IAP的话我们无原创 2018-02-07 18:41:10 · 5681 阅读 · 0 评论 -
ios第三方支付-微信篇(含本地签名)
ios支付为内购和第三方支付微信,支付宝,银联一微信支付 相关链接 微信开放平台 https://open.weixin.qq.com 微信支付商户平台 https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2Findex.php 微信支付文档 https://pay.weixin.qq.com/wiki/原创 2018-02-06 23:14:16 · 3879 阅读 · 0 评论 -
视频,音频,相册,
2、视频 MPMoviePlayerViewController介绍:MPMoviePlayerViewController是视频播放器的控制器(能够播放mp4、avi、mov格式的视频,支持本地和远程视频的播放)1)#import此framework中带有视频播放器2) 创建的方法_playController=[[MPMoviePlayerViewCon原创 2016-12-18 16:15:26 · 328 阅读 · 0 评论 -
app之间跳转
APP之间的跳转所用的函数在第一界面鞋写在需要跳转的或者btn点击下 [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:encodeString]];并且在targets中info 找到 URLtypes 做一个标记 跳转传值的话需要用到函数app一个代理方法-原创 2016-12-18 16:18:17 · 348 阅读 · 0 评论 -
地图
地图一、iOS系统自带定位,用CLLocationManager就可以轻松的实现定位的操作,获得的是一组经纬度。1、导入CoreLocation.framework框架2、定义属性 CLLocationManager *_locationManager3、@property(assign, nonatomic) id delegate;4、@propert原创 2016-12-18 16:19:11 · 242 阅读 · 0 评论 -
ios--调用设备系统功能
//想要实现应用内跳转到系统设置界面功能,需要先在Targets-Info-URL Types-URL Schemes中添加prefs-(void)OpenAppSetting{//Wifi// if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@”prefs:root=WIFI”]])原创 2018-02-06 00:55:26 · 210 阅读 · 0 评论 -
iOS 调用系统相关功能(本机信息,手电筒,电话,短信,通讯录,内存,电池,亮度)
设备信息注获取手机型号需要导入 #import "sys/utsname.h" 获取运行商需要导入 #import #import //设备唯一标识符 NSString *identifierStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; NSLog(@"设备唯一标识符:%@"原创 2018-02-06 00:53:03 · 417 阅读 · 0 评论 -
ios-push证书申请+极光推送
推送第三方平台:极光,融云等等 案列一般当应用激活并且在前台时也就是用户正在使用是接收不到通知提示的 这时候如果有这个需求我们可以使用远程加本地的方式来开发 这里以极光为例子 申请push证书 1)生成.csr证书 打开钥匙串工具(Finder -> 应用程序 -> 实用工具 -> 钥匙串访问), 打开后点击顶部菜单栏““钥匙串访问”出现如下界面, 选择 证书助理 -> 从证书原创 2018-02-06 00:42:11 · 374 阅读 · 0 评论 -
ios第三方分享登入
好久没写文章了巩固一下加深印象 第三方分享有很多第三方集成平台-友盟,mob,极光,野狗等 还有一种是下载各个第三方平台的sdk各个集成 无论是用原平台sdk还是第三方平台sdk我们都需要项目配置所以第一步通用配置 先用平台各个集成然后在第三方平台集成这篇不涉及各平台申请appid和key过程第一步项目配置 1)设置白名单 targets-info—URL Types中 2)在pl原创 2018-02-06 00:40:14 · 284 阅读 · 0 评论 -
iOS与js交互(WebView+WKWebView)
需求:1点击js登入按钮将用户账号和密码传给移动端 2将客户端的token传给html端据我了解有以下几种方法1:webview的javascriptCore2:webkit3:url拦截4:第三方库我用的是1和2理论:js与oc相互调用并且传值 我们可以理解成河2边需要送东西的过程 我们需要在js和oc之间搭建一个桥梁...原创 2018-02-01 00:39:14 · 766 阅读 · 0 评论 -
iOS MapKit+CoreLocation
iOS 系统自带的地图定位功能实现:环境配置第一步ios8.0以上需要在plist中设置用户授权,和http白名单第二步导入 MapKit(地图)+CoreLocation(定位)框架 遵守CLLocationManagerDelegate,MKMapViewDelegate协议代码部分第一部分定位 _locationM=[[CLLoca原创 2017-08-16 00:57:17 · 208 阅读 · 0 评论 -
关于音乐播放器锁屏播放,后台播放,封面显示等
1. 如果应用需要后台播放:那么在appdelegate 中添加 [AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayback error:nil]];2. 锁屏显示歌曲信息:主要思路就是将自定义播放器中的歌曲信息和系统中M...原创 2017-06-18 18:57:24 · 1747 阅读 · 0 评论 -
magical record 用法和介绍
magical record 是一个第三方库,主要是用来对于core data进行二次封装使用起来很方便也很简单;1用法倒入头文件,那边用那边倒入2,首先我们要AppDelegate,的 didfinishlaunchingwithoptions方法里面添加一个数据表到沙盒目录下, NSLog(@"%@",NSHomeDirectory());//打印沙盒目录原创 2016-12-27 23:00:42 · 526 阅读 · 0 评论 -
远程推送那些事
推送原理:iOS端推送绕不开APNS,我们发送的每一条推送都经过苹果的APNS然后在下发给iphone Device。当用户第一次启动app时,会提示用户是否接受远程通知,如果接受那么NSUserNotficationCenter会将设备的UUID和项目的id发送给APNS apns将加密生成的Token返回给设备,这时我们将该字段传回服务器或者保存。当我们需要给用户发送推送的时候,服务器会...原创 2016-12-24 21:02:17 · 314 阅读 · 0 评论