![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发
iOS_小磊
QQ:171080857(问题:iOS开发)
2015年以来一直在做iOS开发,对iOS开发有比较全面的技术经验。喜欢交流开发技术知识,欢迎讨论。15年之后一直在杭州发展。平时喜欢总结一些技术开发知识,但是文字写作能力较差,直接上技术代码,欢迎交流。
展开
-
iOS系统访问权限大全
iOS需要一些手机的隐私权限,下面介绍一下常用的隐私权限是否开启的获取方法<!-- 相册 --><key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相机 --><key>NSCameraUsageDescription</key> <string>App需要您的同意,才能访问相机&原创 2022-04-02 15:00:04 · 2912 阅读 · 0 评论 -
iOS国际化(多语言)App名称国际化
iOS开发中,有些APP是面向世界或者海外市场的,需要用到国际化的多语言配置。下面介绍下中英文配置新建多语言文件,Localizable.strings添加需要的语言,比如英语,然后勾选上配置上双语言,记得带上分好,oc swift都需要,不然报错使用方法需要使用NSLocalizedString类去获取字符串,坐着给Sring添加了个分类方法extension String { var W: String { return NSLocalize原创 2022-03-28 17:58:48 · 5289 阅读 · 0 评论 -
iOS暗黑(dark)模式适配
在iOS开发中,有些APP需要适配暗黑模式,下面介绍下暗黑模式需要开发者手动管理的任务。其他系统自动管理的任务不再说明不需要适配暗黑模式的话去info里面关闭即可Assets中的图片要选择一下支持暗黑模式,会有两种状态的图片,浅色深色各一套,系统会自动的更改颜色设置的话,UIColor新增了深色浅色方法,要注意深色只有在iOS13以上系统才生效class func setColor(_ light: UIColor, _ drak: UIColor) -> UIColor原创 2022-03-23 16:34:01 · 5205 阅读 · 0 评论 -
iOS横屏模式适配
iOS开发中,有时候会用到横屏模式,比如视频播放,科学计算器等。下满开发者就讲下横屏模式的注意事项屏幕方向info设置,建议只勾选竖屏就好了,不要勾选其他的,不然的话有些三方组件是强制竖屏的,会崩溃在AppDelgate中允许屏幕旋转func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask原创 2022-03-23 16:16:01 · 4035 阅读 · 0 评论 -
Swift常用控件集合
1.UIButton let btn = UIButton() btn.addTarget(self, action: #selector(btnClick), for: .touchUpInside) btn.layer.cornerRadius = 10.P btn.backgroundColor = .yellow btn.setTitle("点击一下", for: .normal) btn.setTitl原创 2021-10-27 17:48:13 · 549 阅读 · 0 评论 -
iOS Universal Link使用
Universal Link是iOS9退出的外部打开APP的新功能。之前打开APP使用的是scheme方式,这种方式不够安全。从微信SDK1.8.6版本开始就要求使用Universal Link这种方式去打开APP。苹果官方文档1. 配置xcode中Universal Link权限xcode配置Universal Link权限,Domains中的域名必须是使用applinks开头,然后输入自己的域名即可。配置完发现证书报错了,是因为APP在苹果开发者中心的id没有开启Universal Link权限。原创 2021-03-18 16:36:40 · 570 阅读 · 1 评论 -
iOS极光推送
APP开发中经常要使用消息推送,下面我介绍常用的一种推送的集成使用方法极光推送集成框架使用cocoapods导入框架 pod 'JPush'导入头文件#import "JPUSHService.h"注册//Required //notice: 3.0.0 及以后版本注册可以这样写,也可以继续用之前的注册方式 JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init]; if (@availa原创 2020-11-25 16:54:07 · 1190 阅读 · 0 评论 -
iOS KVO的使用
什么是KVO?KVO 是iOS提供的一套事件通知机制。允许对象监听另一个对象属性的改变,并在改变时接收到事件。由于 KVO 的实现机制,只针对属性才会发生作用,一般继承自 NSObject 的对象都默认支持 KVO。KVO 可以监听单个属性的变化,也可以监听集合对象的变化。通过 KVC 的 mutableArrayValueForKey: 等方法获得代理对象,当代理对象的内部对象发生改变时,会回调 KVO 监听的方法。集合对象包含 NSArray 和 NSSet。KVO的使用注册观察者通过add原创 2020-11-25 15:42:45 · 765 阅读 · 0 评论 -
APP拉起小程序
APP和小程序相互打通的时候,经常会用到APP拉起小程序,小程序返回APP。下面介绍一下APP跳转小程序某个页面的功能1.APP关联小程序详细见其他博客:https://blog.csdn.net/qq_30356665/article/details/1055078402.代码WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunch...原创 2020-04-15 16:08:57 · 1018 阅读 · 0 评论 -
APP分享微信小程序
APP可以分享小程序到微信对话框中,还能设置具体的跳转页面,下面介绍一下开发流程1.APP绑定小程序打开微信开放平台,登录APP的微信开放账号,在管理中心找到APP设置。点击小程序类目,绑定小程序。绑定的时候需要登录小程序的账号密码,需要管理员扫码确认绑定。2.APP关联小程序点击APP应用的后面的查看,进入APP设置页面。在设置页面最下面“APP跳转小程序”添加关联小程序,点击关...原创 2020-04-14 11:35:51 · 5077 阅读 · 0 评论 -
iOS APP项目图片尺寸大全(启动页、icon、App Store展示图片)
iOS项目开发中需要用到很多的项目图片其中启动页、icon、App Store展示图等的尺寸较多一下我会汇总出来各种尺寸1.启动页尺寸以上红圈里面是首页版APP启动页的尺寸大全,iPad不需要支持的话,不用传iPad的启动页。...原创 2019-10-10 19:45:34 · 1188 阅读 · 0 评论 -
iOS cocoapods下载失败怎么解决(完美解决)
iOS 开发中,使用cocoapods管理第三方框架是非常方便的,但是在安装环境的过程中,由于网速等原因总是会在下载master文件时速度过慢或者直接下载失败。接下来介绍一种方法去解决这个问题。下载master文件失败的时候很难再成功,多次重试仍然失败,这个时候我们可以采取拷贝master文件的方法跳过下载操作。打开find,然后前往文件 ~/.cocoapods/repos/。这个文件夹下面就...原创 2019-09-02 15:10:03 · 1095 阅读 · 0 评论 -
iOS GCD多线程
iOS开发中经常会用到多线程的方法来异步处理一些耗时操作,来增加APP的性能及体验,充分利用设备的多核资源。多线程有多重方法实现,下面我们来说一种非常好用的方法GCD。1.GCD简介GCD是Grand Central Dispatch的缩写,含义是 “强大的中央调度器”。GCD会自动管理线程的生命周期,我们不需要编写任何的线程管理代码,GCD会自动利用多核。2.GCD任务和队列同步执行(...原创 2019-08-29 11:45:02 · 290 阅读 · 0 评论 -
iOS图片显示模式(UIImageView)
ddd原创 2019-08-13 16:53:40 · 4580 阅读 · 0 评论 -
iOS Version和Build的区别
iOS开发中,会面对一个问题,Version和Build的区别。这两种均是版本号,但是在开发中还是有一定的区别,而且用处很大。Version是版本号,在info.plist中对应的key是 CFBundleShortVersionString,这是在AppStore上看到的版本号。就是对外展示的版本号Build 是内部使用的版本号,是开发过程中标识项目版本。在iOS开发中,向Ap...原创 2019-03-01 11:46:45 · 891 阅读 · 0 评论 -
iOS与H5交互(WKWbebView)
前言:在iOS开发中,或多或少的会嵌入一些H5页面,有时候需要原生代码和H5页面进行交互。iOS8开始苹果推出性能更强大的WKWebView,所以一下方法是关于WKWebView与JS的交互。创建WKWebView:遵守协议<WKNavigationDelegate, WKUIDelegate, WKScriptMessageHandler>-(WKWebVi...原创 2019-03-01 11:51:17 · 184 阅读 · 0 评论 -
iOS MJExtension的使用
前言:MJExtension是iOS的字典装模型的一个第三方框架。相对于JSONKit和SBJson相比MJExtension更简单易用、功能更强大。导入:使用CocoaPods导入(CocoaPods的使用方法在其他文档里面会介绍)pod'MJExtension'在使用该框架的文件里面导入头文件(推荐在pch文件中导入)#import "MJExtension.h"...原创 2019-03-01 11:54:10 · 1115 阅读 · 0 评论 -
iOS 常用的宏定义
屏幕尺寸#definekScreenWidth[UIScreen mainScreen].bounds.size.width#definekScreenHeight[UIScreen mainScreen].bounds.size.height手机型号#define kISiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfa...原创 2019-03-01 11:56:03 · 241 阅读 · 0 评论 -
iOS block的使用
前言:block是iOS开发中时间及参数传递的一种方法,和代理模式(delegate)相比,block是简单易用的轻量级事件传递方法。初始化:手打如下代码,或者从代码块把代码拖拽出来。typedefvoid(^upLoadImage)(NSString*str);//传参类型及形参@property(nonatomic, strong)upLoadImag...原创 2019-03-01 11:58:29 · 124 阅读 · 0 评论 -
iOS 控制器的生命周期(UIController)
前言:在iOS开发中,控制器的生命周期非常重要,什么时候加载页面,什么时候请求接口,什么时候刷新界面等等,都有很多值得优化的地方loadView:最先执行的方法,控制器关联的有Nib文件的时候,该方法会从Nib文件加载view。ViewDidLoad:该方法可以用来可以用来初始化控件、也可进行异步的网络请求,该方法在页面出来之前调用,方法在执行结束后,页面才会出现。因此该方法里...原创 2019-03-05 11:23:48 · 484 阅读 · 0 评论 -
iOS上传图片和视频(base64和file)
前言:iOS开发中经常会使用到图片和视频上传及保存到相册,下面我讲介绍视频图片的两种上传服务器的方法。以阿里云的OSS服务器为例。友情提示:上传图片方法在APP中使用很广泛,最好单独写一个图片上传的类,这样就很方便了。base64上传图片:NSString *strType = [GXToolClass getBase64Str:image]; NSMutableDi...原创 2019-03-05 11:36:28 · 803 阅读 · 0 评论 -
iOS聊天客服功能(Udesk)
前言:在商城或者需要用户和平台交流的APP中需要用到客服功能。接下来会讲解Udesk客服功能的实现。技术文档在Udesk官网可以看到,本文讲述在项目中的集成实现流程。客服使用的PC端交流工具账号在公司客服手中,作者也没权限。想了解的开发者可联系作者,作者私下交流。集成SDK:pod 'UdeskSDK'使用的时候导入头文件#import "Udesk.h"初始化SDK:...原创 2019-03-05 11:53:18 · 918 阅读 · 3 评论 -
iOS第三方登录(微信、qq、微博)
本文会介绍iOS常用的第三方登录,包括微信、QQ、微博,文章前部分会介绍每个平台的API集成及使用方法,文章后部分会介绍对三方登陆集成一起的三方框架ShareSDK(友盟也是可以的)。微信登录:集成前先去微信开放平台(地址https://open.weixin.qq.com)注册账号及注册APP,来获取appkey。注册APP的时候注意最好是iOS版和安卓版注册到一起,不然只注册一个端会导致...原创 2019-08-14 11:29:17 · 1489 阅读 · 0 评论 -
iOS GIF动态图(显示、上传、保存)
iOS系统提供的UIImageView控件是不支持GIF的加载的,在APP开发中会使用到一些GIF图片,本文主要讲解苹果手机上GIF图使用方法,主要是基于SDWebImage框架。一、界面显示:1.先集成SDWebImage及SDWebImage/GIF框架pod 'SDWebImage'pod 'SDWebImage/GIF'2.使用SDWebImage/GIF框架提供的兼容...原创 2019-08-12 13:57:53 · 2146 阅读 · 0 评论 -
iOS分享(微信、qq、微博)
本文会介绍iOS常用的第三方分享(本文是分享带标题及藐视的h5地址),包括微信、QQ、微博,文章前部分会介绍每个平台的API集成及使用方法,文章后部分会介绍对三方分享(或者登陆)集成一起的三方框架ShareSDK(友盟分享也是可以的)。微信分享:集成前先去微信开放平台(地址https://open.weixin.qq.com)注册账号及注册APP。注册APP的时候注意最好是iOS版和安卓版...原创 2019-08-12 14:27:58 · 903 阅读 · 2 评论 -
iOS淘宝授权登录及跳转淘宝页面
的点点滴滴原创 2019-08-13 17:25:19 · 6020 阅读 · 0 评论 -
iOS代理模式(delegate)的使用
前言:代理模式是iOS中非常重要的一个模式,iOS SDK中的系统控件几乎都用到了代理模式。代理模式用来处理事件监听、参数传递功能。协议创建(Protocol):可手打如下代码,或者在代码块里面搜索"protocol",然后把协议的代码拖拽出来@protocol FullcellDalegate <NSObject>@required//遵守协议必须实现...原创 2019-03-01 11:43:53 · 307 阅读 · 0 评论