自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 NSUserDefaults保存对象数组报错

在使用NSUserDefaults的时候插入数据有时候会报以下错误:Attempt to set a non-property-list objec这种错误的原因是插入了不识别的数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数...

2018-09-15 16:26:00 362

转载 配置MDM的描述文件

配置描述文件首先需要一个 MDM 配置描述文件,此文件用于安装到设备上,使其向 MDM 服务器注册为受管理的设备。1、凭证用iphone配置使用工具,新建一个配置描述文件,在“凭证”栏,创建新凭证。1)点击“+”,将 CA 根证书添加到凭证中。2)再次点击“+”,将私钥(.p12)添加到凭证中。也就是说,在“凭证”中需要加入两个证书:根证书(自签名CA证书)和 M...

2018-01-03 18:05:00 1407

转载 类似于xml的一种数据传输格式protobuf

1、Protobuf 简介Protocol Buffer是google 的一种数据交换的格式,已经在Github开源,目前最新版本是3.1.0。它独立于语言,独立于平台。google 提供了多种语言的实现:Java、C#、C++、Go和Python,Objective-C,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 XML 进行数据交换快许多。...

2017-12-29 11:25:00 259

转载 WebRtc(网页即时通讯技术)知识点总结

前言WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术。并且还支持跨平台:windows,linux,mac,android,iOS。实现原理P2P连接模式一般我们传统的连接方式,都是以服务器为中介的模式:类似http协议:客户端<——...

2017-12-26 17:04:00 324

转载 自签名的https证书是不安全的

一、项目内的需求我们做的app都是企业级的应用,而企业级的应用的下载需要遵循itms协议,itms协议下需要https链接,这就需要你的服务器支持https的协议,该协议需要申请SSL证书,我们测试时用的是自签名的证书,而自签名的证书本来就就存在不安全行,自从ios10.3更新以来即使安装了自签名的证书也报错,说无法下载app,是因为苹果阻止了不受信任的证书二、解决方案1、自...

2017-10-11 13:58:00 496

转载 ios实现无限后台任务

需求我们的app是使用心跳机制来保持用户的登陆状态,这样才能收到服务器发来的消息和命令,但是当app进入后台以后大约3分钟或者10分钟之后app就会被系统挂起,用户就会超时下线,这样就必须保持app长时间的后台运行原因app一般有三种状态前台运行中、进入后台以及挂起状态,当我们按home键或者锁屏键以后app进入后台运行,根据苹果的官方解释,苹果允许app运行一小段时间在后台...

2017-10-11 10:56:00 130

转载 解决打包时出现的Failed to verify bitcode

今天给一个老项目打包在导出包的时候报错,可能是因为xcode升级造成的Failed to verify bitcode in Fuzi.framework/Fuzi:error: Bundle only contains bitcode-marker /var/folders/xw/bwm83fgx2xbf7myb2rgbht5m0000gn/T/XcodeDistPipelin...

2017-08-25 14:07:00 1275

转载 mac上解决Resource temporarily unavailable

Resource temporarily unavailable这种问题一般是因为当前的进程数或者文件数不够fork: Resource temporarily unavailable修改最大进程数我们可以通过ulimit -a来查看当前系统的一些系统参数。在上面这些参数中,通常我们关注得比较多的是一个进程可打开的最大文件数,即open files 系统允许创建...

2017-05-23 10:13:00 1460

转载 实时语音视频技术webrtc的编译总结

webrtc编译教程一、安装depot_tools工具首先你的电脑上安装了git1) 下载depot_toolscd到下载的目录下git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git使用git下载源码的时候会报这样的错误unable to access ...

2017-05-23 10:00:00 236

转载 利用callKit实现电话防骚扰

callKit框架是ios10之后更新的一个框架,代替了原来的CoreTelephony.framework,使用CallKit可以实现电话的拦截首先创建一个项目之后,创建一个target,选择Call Directory Extension,会创建一个extension限制通话的三个方法已经实现但是需要修改,还要在主程序里面添加检测授权的方法和更新电话的代码一、主程序的...

2017-04-18 17:47:00 239

转载 mac上使用使用rz,sz命令

mac上使用rz,sz命令,mac上的终端不支持rz 和sz,所以安装iterm并配置使用rz和cz1、首先需要下载安装iterm2,下载地址:下载后安装http://www.iterm2.cn/download2、使用brew 安装lrzsz终端输入brewinstalllrzsz,如果没有安装homeBrew需要先安装安装完成后检查 ls -alh ...

2017-04-12 16:08:00 794

转载 向2016年说拜拜,继续我的安全开发

16年年初跳槽到了一家做安全相关的公司,自从入职以来,就是解决各种难以想象难题,再也不能和小伙伴请教了,因为他们也觉得不可能嘛,每天都是沉浸在研究摸索和不确定中,最让人难以接受的是研究了好几天还是没有结果,最快乐的是解决了一个小问题,总之2016就是个五味杂陈的一年。 刚来到这个公司是各种的问题摆在面前,IOS的封闭阻塞了安全开发的路,安卓能做的我们能做的少之又少,挫败感失落...

2017-01-22 11:18:00 77

转载 iOS微信第三方登录实现

iOS微信第三方登录实现一、接入微信第三方登录准备工作。移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。(注意)1、下载iOS微信SDK。下载地址...

2017-01-04 17:31:00 128

转载 class-dump 反编译私有的库和应用

一、下载并安装class-dump下载class-dump-3.5.dmg 点击下载下载完成以后双击.dmg的文件,将里面的class-dump拷贝到/usr/local/bin设置权限chmod 777 /usr/local/bin/class-dump在控制台输入class-dump,显示如下表示配置成功二、反编译.framework文件我们以解析Mob...

2017-01-03 11:29:00 556

转载 利用私有的库MobileCoreServices检测正在安装的应用

利用的私有库检测正在安装的app分为两步:第一,通过placeholderApplications获得所有的正在安装的app的信息 第二,遍历正在安装的app的信息,根据名称获得你想检测的app是否正在安装一旦使用了私有的接口你的app便不能再上架了利用私有的库MobileCoreServices检测正在安装的应用 NSMuta...

2016-12-14 15:48:00 102

转载 应用内添加指纹识别

iOS8之后苹果发布了指纹识别的功能,通过touch ID来识别用户,做用户授权,主要是依赖于LocalAuthentication库指纹识别:一判断设备是否支持指纹识别功能二识别指纹,成功后做相应的动作,失败后提醒用户指纹识别失败先引入#import <LocalAuthentication/LocalAuthentication.h>LAContext...

2016-12-13 14:42:00 144

转载 企业级应用发布流程

有一段时间iOS端的某官方app下载出现了以下的错误,这是因为发布企业级应用时配置出现了错误第一有可能是打包错了,也有可能是里面的plist文件配置错了,在这里总结一下企业级应用的发布流程首先需要一个打包好的ipa文件,还需要有一个plist文件第一:给服务器配置https协议,具体的配置过程参考我的服务器开启https协议,配置完协议之后在安装app之前需要下载配...

2016-12-09 09:52:00 133

转载 通过安装一个描述文件在控制台获得设备的udid

在我的这篇博客里面说明了本地获得设备udid的方法,但是只能在模拟器中获得http://www.cnblogs.com/liyy2015/p/6090204.html当然可以在设备上集成苹果的MDM获得设备的很多信息,如果只是想获得udid,那集成麻烦的mdm就没必要了在这里让你的手机安装一个描述文件,就能在控制台获得手机的udid首先需要你新建一个后缀是.mobilecon...

2016-12-03 08:51:00 712

转载 获得设备的唯一标识符UDID

在IOS5之后,苹果为避免根据UDID获得用户的信息,而禁止使用uniqueIdentifier获得UDID,但是仍有些应用需要根据UDID区分设备有一个系统的库IOKit.framework可以获得设备的唯一标识 NSString *serialNumber = nil; NSString * path = [[NSBundle mainBundle]p...

2016-12-01 08:27:00 403

转载 利用私有的API获得手机上所安装的所有应用信息(包括版本,名称,bundleID,类型)...

MobileCoreService这个系统的库,里面有个私有的类LSApplicationWorkspace,利用运行时可以获得私有类里面的方法,-(id)allInstalledApplications; 该方法能够获得设备上所有的应用信息,包括系统的和用户的应用获得的应用的信息是一个类对象LSApplicationProxy,该对象里面有方法获得app的版本,名称,bun...

2016-11-22 17:15:00 115

转载 你必须知道的HTTP错误

发送网络请求有时失败,分析一下响应行,在响应的响应行内,你会发现响应行由三部分组成,用空格来隔开,HTTP/1.1 404 NOT FOUND,第一个是响应的HTTP的版本,第二个和第三个是状态值。发送完网络请求会得到一个Error和response对象,我们不能单单只判断Error,直接打印出error这个错误,我们应该分析respon的属性statusCode,然后根据状态码分析...

2016-11-09 16:50:00 113

转载 静态库制作

如果想让别人用你的代码但是又不想暴露你的源码,可以使用静态库的方式1.新建项目选择Cocoa Touch Static Libraay2.把要打包的文件拖入工程里面3.选择targets->Build Phases->点击加号->选择New Headers Phase4.在Headers里面,添加爆漏给别人使用的文件,需要隐藏的移动到privat...

2016-11-05 15:35:00 86

转载 MDM证书申请的流程

MDM证书申请的流程整个流程分为两部分:vendor,customer。一、Vendor1、成为一个 MDM Vendor1) 首先你需要拥有一个 Apple Enterprise account($299/年)。2) 访问 https://developer.apple.com/contact/submit.php,在这里你可以申请成为一个 MDMVendor:...

2016-11-05 13:38:00 192

转载 苹果的MDM简介

MDM(Mobile Device Management)移动设备管理,一般会用于企业管理其移动设备,鉴于iOS是比较封闭的系统很多的功能都难以实现,所以利用苹果的MDM可以达到远程控制设备,像远程定位,远程锁屏,远程恢复出厂设置,禁用蓝牙,禁用摄像机等功能下面的这幅图很好的说明了MDM的运行过程,首先注册你的设备在MDM服务器上,MDM服务器通过APNS发送命令给设备,设备如果处于...

2016-11-04 14:16:00 1724

转载 IOS客户端实现RSA加密

在IOS的app登陆模块,用户名和密码如果直接传给后台服务器,很容易被截获并伪造网络请求,如果利用RSA算法在每个客户端利用公钥解密,服务器端进行私钥解密,即使截获了密码也是无法解密的在这里只介绍客户端如何对密码进行公钥加密和解密首先打开终端生成公钥和私钥(要有openSSL工具)openssl genrsa -out private_key.pem 1024op...

2016-10-20 16:49:00 96

转载 获得appstore里面app的最新的版本信息,进行版本更新

版本更新有两种方式一种是从服务器获得最新的版本信息和当前app的版本进行比较另外一种是获得appStore上最新的版本信息和当前的app的版本进行比较现在我来说一下如何通过appStore获得最新的版本(参考下面的苹果的官方文档)https://affiliate.itunes.apple.com/resources/documentation/itunes-store...

2016-10-20 11:53:00 132

转载 unable to boot the simulator,无法启动模拟器已解决

突然模拟器报错:unable to boot the simulator(无法启动模拟器)试了好几种解决办法,删除所有的模拟器重启以后再添加,删除钥匙串登陆中的证书,重新安装Xcode都不行最后通过这种方式解决了重新启动mac 进度条加载的时候一直按command+R进入设置界面,打开界面的左上角实用工具里面的终端,输入csrutil disable回车然后点击左上角...

2016-10-19 08:45:00 637

转载 利用NSCalendar类实现日期的比较

在项目中日期的显示经常会当天的显示时分,当月的显示日时和分,以此类推,难免会涉及到日期的比较,下面介绍一下日期比较的两种方法比较日期有两种方法一种是通过系统的NSCalendar类实现NSString * date = @"2016-10-12 13:12:12"; //创建日期格式 NSDateFormatter * dateFormat = [[N...

2016-10-14 15:42:00 114

转载 服务器开启https协议

开启Tomcat https服务发布企业级应用的时候遇到一个问题,就是IOS7.1之后app的下载地址URL必须是https开头的协议,所以服务器必须支持https协议。实验环境:Mac OSX 或者 win7,Tomcat 7.0,JDK 1.7一.环境搭建1.安装tomcata.下载地址:http://tomcat.apache.org/download-70....

2016-10-14 09:10:00 301

转载 JS代码和OC代码的相互调用

JS调用OC很多应用里面或多或少的调用了网页,来达到绚丽的效果,所谓的JS调用OC.....举个例子吧,网页上有个按钮点击按钮跳转界面,跳转的动作由OC的代码实现。OC调用JS还是举个例子,我们OC代码创建了输入框比如输入用户名,输入完成后显示在网页上,显示用户的用户名一.利用webView的代理方法实现OC和JS的相互调用创建属性@property(nona...

2016-10-13 09:35:00 78

转载 app上架流程的整理

app的上架流程一.准备工作首先需要有开发者账号,企业级的账号是299$,个人开发者账号是99$,没有的话可以登录http://developer.apple.com/自行申请假如你已经有账号了,进入苹果官网点击Accout登录二.申请证书申请appId登录完成后点击证书,进入界面,有证书.标识.设备.描述文件点击identifiers下面...

2016-10-12 08:35:00 544

转载 解决NSTimer存在的内存泄漏的问题

创建定时器会在一定的间隔后执行某些操作,一般大家会这样创建定时器,这样创建的定时,self对定时器有个引用,定时器对self也有个引用,造成了循环引用,最终造成了内存泄漏,如果定时器在做下载的操作就会一直下载。 self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@sel...

2016-07-01 10:58:00 141

转载 ipad和iphone的适配

关于xib或者storybord下iphone的横竖屏的适配以及ipad的适配ios8出现了Size Classes,解决了各种屏幕适配的问题,他把屏幕的宽和高分别分成了三种,把屏幕总共分成了九种情况。1.首先iphone的横屏的适配,选择下面的方块,然后给视图建立约束。,以两个按钮为例横屏的运行效果如下2.iphone的竖屏效果选择下面的方块,建立约束,运行效果...

2016-06-27 12:52:00 136

转载 集成shareSDK错误总结(新浪微博)

错误1..以上错误是由于没有添加-ObjC的原因,在targets->Build Setting ->Other Linker Flags中添加-ObjC添加方法如下错误2授权回调页的添加如果不添加授权回调页将会报错错误3.分享有图片的微博时出现如下的错误码分享失败,错误码:10014,错误描述:Insufficient app p...

2016-06-24 15:44:00 200

转载 AFN解析器里的坑

AFN框架是用来用来发送网络请求的,它的好处是可以自动给你解析JSON数据,还可以发送带参数的请求AFN框架还可以监测当前的网络状态,还支持HTTPS请求,分别对用的类为AFNetworkReachabilityManager,AFSecurityPolicy 虽然AFN可以发送请求,但是里面有许多坑, 1.你想要得到正确的JSON数据必须要:网络请求成功,服务器返回的必须是JSON ...

2016-03-21 23:29:00 76

转载 @property中的copy.strong.weak总结

1.NSString类型的属性为什么用copy NSString类型的属性可以用strong修饰,但会造成一些问题,请看下面代码#import "ViewController.h"@interface ViewController ()@property(nonatomic,strong) NSString *nameStrong;@prope...

2016-03-15 16:34:00 78

转载 手动创建单例

所谓的单例就是:一个应用程序(app)只有一个实例化对象,这个对象就是单例,一般用于音乐播放器和工具类在这里教大家如何手动创建单例,一种是利用互斥锁的方式,另一种是利用dispatch的一次性执行. 1//通过互斥锁创建单例 2 +(instancetype)sharedNetWorkTools 3 { 4 //static修饰 5 st...

2016-03-08 15:43:00 96

转载 教你几行代码实现图片的模糊效果

一张清楚的图片变的模糊了,也就是所谓的毛玻璃效果,通过查看图层可以发现,它只是在原有的图片上加了一个View,而这个View具有毛玻璃效果,图层查看如下图所示:最终效果图如下图:1 1 // 创建图片2 2 UIImageView *imgView = [[UIImageView alloc]initWithFrame:[UIScr...

2016-03-03 22:28:00 359

转载 【代码笔记】自定义布局实现瀑布流

利用collectionView实现瀑布流的效果,文件目录如下动画效果图如下: 1 //ViewController文件 2 3 #import "ViewController.h" 4 #import "LYWaterFlowLayout.h" 5 #import "LYWaterCell.h" 6 #import "LYSho...

2016-03-03 00:23:00 92

转载 【代码笔记】手势解锁

动画实现解锁-文件目录效果图ViewController.h文件//创建自定义的View,遵守协议,设置代理,实现代理方法 1 #import "LYPaintView.h" 2 3 #import "ViewController.h" 4 5 @interface ViewController ()<LYPaintVi...

2016-03-02 22:07:00 78

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除