文本
文章平均质量分 84
Gavin-Wang
这个作者很懒,什么都没留下…
展开
-
HTTPS-加密过程
https的加密过程详解转载 2023-03-16 11:52:52 · 225 阅读 · 0 评论 -
iOS main函数为什么要包着@autoreleasepool?
最近面试总会被问到自动释放池相关的问题,在回答完自动释放池的原理和内部的结构AutoreleasePoolPage后,面试官大多习惯性的会问一句。main函数中为什么用@autoreleasepool{}包着。查阅网络上的相关资料,对这一块的解释也是十分有限。经过对AutoreleasePoolPage的深入了解以及自动释放池和线程/RunLoop的相关了解。大致原因总结如下:main函数中写的代码中可能产生 autorelease 对象,用 @autoreleasePool 包...原创 2021-11-12 16:54:34 · 2429 阅读 · 0 评论 -
iOS神技之动态更换APP的Icon图
iOS神技之动态更换APP的Icon图 动态修改app的图标,就是在不重新安装app的情况下,可以修改当前的icon图标;在某些情况下,是有这个需求的;例如,可以更换主题的app中,一般都会有一套完整的主题包含相应的icon;还有就是一些节日主题的icon或者促销的icon,例如淘宝、京东等的节日icon。在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,主要是下面这几...原创 2019-12-29 17:11:15 · 994 阅读 · 0 评论 -
iOS11 设置导航栏的返回按钮只保留箭头,去掉后边的文字
在 iOS 11 ,之前,为了只显示 返回 图片,而不显示上级界面的标题,可以通过设置导航栏的的属性 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)forBarMetrics:UIBarMetricsDefault];在iOS11上,出现了图片显示异常的现象(原创 2018-01-04 21:06:23 · 6099 阅读 · 0 评论 -
React Native 中的 ScrollView 基本使用
最近老大想接了个项目 想让我们 通过React Native 来实现 等技术成熟后 把我们自己的APP 也通过React Native 来实现 这样既可以实现跨平台 又可以 实现热更新。所以,近期看了React Native 中文网 开始尝试着写一点小功能的东西试试闲话少叙 今天先从 ScrollView 开始: 1、ScrollView介绍:ScrollVi原创 2017-12-29 13:32:55 · 9775 阅读 · 0 评论 -
UIPageViewController的简单使用
今天再看一个旧项目时,发现这里面用的了UIPageViewController这个控件(可以理解为书籍控件)。之前只是听说过,从来没有去实际运用过。所以就来看看UIPageViewController的基本使用。本文只是对UIPageViewController它的基本介绍,对于大牛级别的可以绕行。 UIPageViewController也有自己的delegate和dataSour原创 2017-11-08 11:36:27 · 792 阅读 · 0 评论 -
iOS UIWebView 通过 cookie 完成自动登录验证
一些说明:通过UIWebView登录后,会自动得到web服务器设置的cookie包括服务器中的seesionid。cookie不会自动保存在app里面,需要通过设置才能在下次启动app时获取。自动登录,需要设置header,才能将cookie带给web服务器。自动登录,需要web服务器端进行cookie验证方可登录。实现流程:1. 做好Sign in页面后,通过get或post递交转载 2017-09-12 11:24:26 · 271 阅读 · 0 评论 -
AES加密 - iOS与Java的同步实现
AES是开发中常用的加密算法之一。然而由于前后端开发使用的语言不统一,导致经常出现前端加密而后端不能解密的情况出现。然而无论什么语言系统,AES的算法总是相同的, 因此导致结果不一致的原因在于 加密设置的参数不一致 。于是先来看看在两个平台使用AES加密时需要统一的几个参数。密钥长度(Key Size)加密模式(Cipher Mode)填充方式(Padding)初始向量(I转载 2017-09-01 11:47:25 · 2879 阅读 · 0 评论 -
ios 切换多任务后台界面应用闪屏
在作iOS应用时 应用在做多任务切换时 会出现闪屏或者在滑动屏幕时自己写的应用会时而显示应用的界面时而不显示.定位发现原因是自己设置UIBarButtonItem的显示模式使标题向左移动[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSInteg原创 2017-06-07 16:06:38 · 3119 阅读 · 0 评论 -
ios-AutoLayout(自动布局代码控制)简单总结
每次写布局的代码总是要翻看一下之前的的代码:今天就好好的整理下笔记:原理:IOS6.0之后,苹果优化了UI界面的布局方式,提出了自动布局的概念,和之前的autoresizing相比功能更强大。子视图基于父视图的自动布局显示。都是父视图去添加对子视图的约束。在这里主要说的是通过代码对自动布局视图的实现。代码中一般用到的有两个添加约束的方式:1.-(void)addConstr原创 2017-04-21 22:09:27 · 263 阅读 · 0 评论 -
从零开始学React Native之数据持久化存储
数据持久化就是指应用程序将某些数据存储在手机存储空间中。AsyncStorage APIRN框架为开发者提供了 AsyncStorage API,开发者可以利用它将任意“字符串键值对”保存到存储空间中。它是简单的,异步的。用它可以取代Android的sharedperference和ios的NSUserDefault。AsyncStorage存储的数据对该RN应用全局都是可原创 2018-01-30 11:08:52 · 1776 阅读 · 0 评论 -
iOS 代码混淆
一、代码易读字符串混淆混淆分许多思路,比如:1)花代码花指令,即随意往程序中加入迷惑人的代码指令2)易读字符替换1.1 防止class-dump出可读信息的有效办法是易读字符替换首先切换到我们的项目目录下,创建两个文件:confuse.sh: 存放混淆的脚本func.list: 需要混淆的方法、变量名创建文件右键项目名称,把这两个文件导进来项目中来添加新建文件到项目中然后打开 confuse.sh...原创 2018-04-20 15:35:10 · 1406 阅读 · 2 评论 -
iOS 组件化开发
1、创建模板文件 pod lib create flieNamepod spec create flieName方法⼀会帮助你创建一⼤大堆的⽂文件,包括演示demo创建;方法⼆方便你在现有的项目中提取你需要制作pod的代码。这里使用的是方式一选择平台、语言、模板、类前缀等2、在模板的Classes文件中不安置自己编写的组件/框架。3、模板本地安装组件测试同时把相应的文件拖动如下的模板工程文件中 c...原创 2018-05-30 13:58:49 · 3396 阅读 · 0 评论 -
iOS经典讲解之Xcode10打开旧项目报错解决方案
近期升级Xcode10后,运行原来的项目会出现各种报错,大致分为下面两种,附带解决方案。一、Multiple commands produce 错误这是因为编译方式和之前的不一样。解决方式为二、libstdc++ 库报错(Xcode 10 取消了内置支持的 libstdc++ 库)方案:可以直接使用libc++ 这个库来替换,或者麻烦一点从Xcode 9 那边拷贝一...原创 2018-12-18 13:45:40 · 588 阅读 · 1 评论 -
iOS图层配合核心动画详解
Core AnimationCore Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation可以用在Mac OS X和iOS平台。 Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。 要注意的是,Core Ani...转载 2019-04-18 19:21:24 · 143 阅读 · 0 评论 -
NSCache的详解,以及SDWebImage的缓存策略源码分析
NSCache讲解NSCache的基本使用,NSCache是Foundation框架提供的缓存类的实现,使用方式类似于可变字典,由于NSMutableDictionary的存在,很多人在实现缓存时都会使用可变字典,但NSCache在实现缓存功能时比可变字典更方便,最重要的是它是线程安全的,而NSMutableDictionary不是线程安全的,在多线程环境下使用NSCache是更好的选择。...转载 2019-05-17 16:01:42 · 294 阅读 · 0 评论 -
iOS响应者链彻底掌握
点我跳转原文地址概述iOS响应者链(Responder Chain)是支撑App界面交互的重要基础,点击、滑动、旋转、摇晃等都离不开其背后的响应者链,所以每个iOS开发人员都应该彻底掌握响应者链的响应逻辑,本文旨在通过demo测试的方式展现响应者链的具体响应过程,帮助读者彻底掌握响应者链。Demo你可以在这里(GitHub地址)下载本文测试的Demo源码,阅读本文的同时结合Demo...转载 2019-06-19 11:51:02 · 188 阅读 · 0 评论 -
Swift 中计算型属性 和 懒加载 的区别
import UIKitclass Person: NSObject { private var name: String?; /// 计算型属性 // 不会开辟`空间` 每次调用都会重新调用并`计算` // 类似一个特殊的函数(没有参数) var title1: String { return "原创 2017-03-27 14:47:08 · 363 阅读 · 0 评论 -
NSRuntime
一、runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明:在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过原创 2016-06-06 18:08:36 · 443 阅读 · 0 评论 -
蓝牙 BlueTooth Low Energy (BLE)
BLE:(Bluetooth low energy)蓝牙4.0设备因为低耗电,也叫BLEperipheral,central:外设和中心设备,发起链接的是central(一般是指手机),被链接的设备是peripheral(运动手环)service and characteristic:(服务和特征)每个设备会提供服务和特征,类似于服务端的API,但是结构不同.每个设备会有很多服务,原创 2017-03-17 17:09:26 · 1555 阅读 · 0 评论 -
NSInvocation 注意事项
在利用NSInvocation对方法进行包装时遇到了一点小坑。我们平时再做开发时可以利用NSInvocation对象对我们的方法进行一次包装回调。//方法签名(方法的描述) NSMethodSignature *signature = [[self class] instanceMethodSignatureForSelector:selector];//利用一个NSInvoc原创 2016-06-02 12:29:13 · 617 阅读 · 0 评论 -
NSRooLoop 浅析
iPhone手机开发NSRunLoop 的简单介绍原创 2016-06-02 12:03:50 · 405 阅读 · 0 评论 -
Xcode7无证书真机测试问题
在使用Xcode7进行真机测试时遇到的坑原创 2016-05-12 12:11:27 · 481 阅读 · 0 评论 -
iOS 3D Touch 简述
3D Touch 简单实现 主要是 正对iPhone 手机 iOS9.0 以上手机的应用的需求原创 2016-03-04 11:21:39 · 506 阅读 · 0 评论 -
dispatch_source
dispatch源(dispatch source)和RunLoop源概念上有些类似的地方,而且使用起来更简单。要很好地理解dispatch源,其实把它看成一种特别的生产消费模式。 dispatch源好比生产的数据,当有新数据时,会自动在dispatch指定的队列(即消费队列)上运行相应地block,生产和消费同步是 dispatch源会自动管理的。dispatch源的使用基本为以下步骤:原创 2016-01-07 12:33:52 · 465 阅读 · 0 评论 -
UIBezierPath 介绍
UIBezierPath 简单入门介绍,对UIBezierPath的简单立即及应用。适合于初学者转载 2016-01-14 16:06:23 · 386 阅读 · 0 评论 -
Xcode7 真机测试出现 "The account 'Apple ID' has no team with ID 'team ID'的解决方案
The account '' has no team with ID ''原创 2016-01-30 15:56:34 · 2669 阅读 · 0 评论 -
多线程
iOS 多线程浅析原创 2016-01-07 18:33:11 · 291 阅读 · 0 评论 -
iOS 中 frame、center 和bounds 的深入了解
iOS 中 frame、center 和bounds 的深入了解原创 2016-01-23 23:35:53 · 674 阅读 · 0 评论 -
UIView 中position 和anchorPoint 的了解 iOS
iOS开发中 position 和anchorPoint 的彻底了解原创 2016-03-18 21:22:38 · 1713 阅读 · 0 评论 -
iOS摄像头和相册-UIImagePickerController-浅析
在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频。并且从相册中选取我们需要的图片或者视频。关于iOS摄像头和相册的应用,可以使用UIImagePickerController类来完成控制。关于UIImagePickerController的相关知识,UIImagePickerController继承自UINavigationController 并且遵守UINavigationC原创 2016-07-11 17:42:52 · 1604 阅读 · 0 评论 -
GameKit 蓝牙
gameKit 只用于iOS设备间的同个应用连接, 多由于游戏 在iOS7之后过期gameKit 的使用过程主要可以分为四步: 1.创建一个GKPeerPickerController 对象 这个对象用来搜索附近的设备(类似alertView). 2.设置GKPeerPickerController 的代理 用于连接的回调 3.在 (void)peerPickerContr原创 2017-03-17 15:49:26 · 396 阅读 · 0 评论 -
Swift 修改约束 添加UIView动画
最近在使用Swift编写程序时 使用UIView动画 对约束执行动画遇到了一个小坑1.在控制器中添加一个 容器view, 容器view的约束是宽高都是300/ 水平居中/ 竖直居中2. 在容器view中添加一个imageView, imageView的约束是:和容器view等宽等高 / 水平居中 /顶部对齐着这里希望通过修改imageView的顶部约束来执行动画pri...原创 2017-03-02 17:26:09 · 2337 阅读 · 0 评论 -
<iOS> 谈谈iOS Animation
零.前言这里没有太多的代码细节,只是探索iOS动画的基本概念,以及其抽象模型,数学基础等.我们学习一个知识的时候一般有两个部分,抽象部分和形象部分,抽象好比语言的语法,是规则,形象好比具体的句子,可以用来和别人交流的.抽象比形象难于理解,但比形象通用.其实数学中经常碰到抽象和形象的概念,比如有一系列离散的点,这是形象;通过这些点我们拟合出一条曲线,得到其函数,函数是抽象的;然后通过这个函数转载 2016-11-29 15:59:24 · 369 阅读 · 0 评论 -
iOS基本动画
iOS开发基本动画简述原创 2016-03-18 21:35:15 · 351 阅读 · 1 评论 -
UIDynamic 动画
UIDynamic是从iOS7开始引入的一种新技术,隶属于UIKit框架,可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象。要想使用UIDynamic来实现物理仿真效果,大致的步骤如下:1、创建一个物理仿真器(顺便设置仿真范围);2、创建相应的物理仿真行为(顺便添加物理仿真元素)3、将物理仿真行为添加到物理仿真器中---->开始仿真。三大概念:原创 2016-10-11 15:12:34 · 328 阅读 · 0 评论 -
iOS开发 适配iOS10以及Xcode8
一、证书管理用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书。建议大家勾选这个Automatically manage signing(Ps.但是在beat2版本我用的时候,完全不可以,GM版本竟然神奇的又好了。)下面我来说说可能会出现的问题:1.Xcode未设置开发者账号情况下的截图解决办法是:大家在Xcode的偏好设置原创 2016-09-23 17:06:00 · 881 阅读 · 0 评论 -
setValue: forKeyPath: 与 setValue: forKey: 区别
KVC是Key Value Coding的缩写,意思是键值编码。在iOS中,提供了一种方法通过使用属性的名称(也就是Key)来间接访问对象的属性方法。相信有人肯定对 setValue: forKeyPath: 与 setValue: forKey: 这两个方法有所不解,这两个方法同属于nsobject(Key Value Coding) 的类扩展方法 根据苹果官网的说的是:...原创 2016-09-06 14:59:17 · 1164 阅读 · 0 评论 -
利用Multipeer Connectivity框架进行WiFi传输
利用Multipeer Connectivity框架,即使在没有连接到WiFi(WLAN)或移动网络(xG)的情况下,距离较近的Apple设备(iMac/iPad/iPhone)之间可基于蓝牙和WiFi(P2P WiFi)技术进行发现和连接实现近场通信。原创 2016-08-10 14:59:11 · 506 阅读 · 0 评论 -
Xcode7 iOS9网络请求适配 网络白名单
一、网络适配由http改成https 苹果官方对App Transport Security Technote的解释如下: 翻译成中文的意思就是说:iOS9.0SDK在编译的时候,默认所有从NSURLConnection、CFURL和NSURLSession发出的http请求,都改为https请求。由于AFNetworking版本底层是用了NSURLConnection转载 2016-08-03 15:58:14 · 4981 阅读 · 0 评论