- 博客(43)
- 资源 (5)
- 收藏
- 关注
原创 iOSAPP跳转微信小程序
iOSAPP跳转微信小程序前言准备工作集成微信书写跳转代码结语前言APP跳转微信小程序,首先先关注一下微信官方给的一些资料:移动应用拉起小程序功能、iOS开发示例、iOS资源下载。准备工作准备工作需要在微信公众平台注册开发一个小程序、在微信开放平台注册申请一个APP,审核通过后方可使用,APP的bundle ID可以修改。注意事项:一个小程序可关联500个移动APP,但是一个APP只可以...
2019-08-23 15:54:57
12003
原创 iOS快速入手语音识别、听写、评测、播报
引言 子弹短信,不仅支持语音输入、文本输入,同时还支持“语音输入、文字输出”。前言之前在讯飞人脸识别的基础上做了活体人脸识别,并在当时没有免费活体识别的大环境下,本着程序猿的互联网精神,在Git上第一个站出来开源出来,感谢大家的支持。后来也一直打算拿出来讯飞的语音识别,做些事情方便大家,初衷是想做一款读书软件,后来拖延症晚期患者一直没上手。今年7月份偶然参加了一个活动,需要做...
2018-09-14 02:14:56
412
原创 iOS数据统计(柱状图、折线图、扇形图)
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换而言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数
2017-11-23 15:19:45
5586
原创 iOS蓝牙原生封装,助力智能硬件开发
引导语前言系统蓝牙状态监听蓝牙搜索蓝牙设备的连接设备的自动连接设置1.根据设备peripheral自动连接2.通过设备UUID自动连接写入数据1.异步Block方式返回结果2.同步返回结果蓝牙的断开获取蓝牙设备的距离其他结束语引导语人工智能自1956年提出以来,一直默默无闻,近年来人工智能的发展得到重视逐渐发展起步,智能...
2017-09-18 16:31:40
1913
11
转载 cocoapods pod install 安装报错 is not used in any concrete target
低版本的cocoa pods在编写Podfile文件时这样写就可以了platform :iOS, '8.0'pod 'AFNetworking'高版本的cocoa pods在编写Podfile文件必须这样写platform :ios, '8.0'target "项目名称" dopod 'AFNetworking'end
2017-02-08 16:54:29
542
原创 iOS活体人脸识别的Demo和一些思路
之前公司项目需要,研究了一下人脸识别和活体识别,并运用免费的讯飞人脸识别,在其基础上做了二次开发,添加了活体识别。项目需要就开发了张嘴和摇头两个活体动作的识别。 这里简单介绍一下当时的开发思路和一些个人拙见,欢迎大神指点。 首先说一下讯飞第三方的人脸识别的几个缺点:1.识别不稳定,各点坐标跳动偏差比较大,不容易捕捉;2.CPU使用率比较高,连续识别一会儿手机会明显发烫,手机配置低的
2016-11-10 16:36:19
11302
8
原创 集成腾讯信鸽推送遇到的大坑
前段时间项目集成信鸽推送,官方给的证书创建和集成方法在这里,这里我也是严格按照官方给的方法做了,按照验证证书的方法测试证书合法性也能通过,但就是上传不成功,尝试了各种办法,重新创建了三次,都失败了,最后突然发现一个问题,报着试试看的态度试了一下,竟然成功了,现在告诉大家,希望大家的集成之路不再有坑。 集成中如下步骤的时候,填写“常用名称”,一定不能用中文!不能用中文!不能用
2016-09-20 10:18:36
3898
转载 "Could not find Developer Disk Image"问题,为Xcode 7.3之前版本配置iOS9.3配置包
有没有开发的小伙伴已经升级iOS9.3了?反正我是手残升了,既然升了,那Xcode运行时候“Could not find Developer Disk Image”问题来了, 不多说,直接上资源包: http://download.csdn.net/detail/u010731949/9471210将文件解压(记得手动将 .zip_ 后缀 改为 .zip)^_^拖入目录 /Appl
2016-04-11 10:18:19
452
原创 ios代码实现Autolayout(自动布局)的简单讲解
简介 原理:iOS6.0之后,苹果优化了UI界面的布局方式,提出了自动布局的概念,和之前的Autoresizing相比功能更强大。子视图基于父视图的自动布局显示。都是父视图去添加子视图的约束。 在这里主要说的是通过代码对自动布局视图的实现。代码中一般用到的有两个添加约束的方式:1.- (void)addConstraint:(NSLayoutCons
2015-08-14 10:48:26
1622
转载 设计模式六大原则
一、单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使
2015-08-13 17:57:59
842
转载 iOS设计模式汇总
iOS设计模式-你可能已经听说过这个词,但是你真正理解它意味着什么吗?虽然大多数的开发者可能都会认为设计模式是非常重要的,然而关于设计模式这一主题的文章却不多,并且有时候我们开发者在写代码的时候也不会太关注它。 在软件设计领域,设计模式是对通用问题的可复用的解决方案。设计模式是一系列帮你写出更可理解和复用代码的模板,设计模式帮你创建松耦合的代码以便你不需要费多大力就可以改变或者替换
2015-08-13 17:29:03
1295
转载 mac_终端命令
Mac OS 采用Unix的文件系统根目录位置是 /驱动所在位置 /System/Library/Extensions用户文件夹位置 /Users/用户名桌面的位置 /Users/用户名/Desktop文件通配符为星号 *注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。如何进入命令行操作模式在图形界面下,用finder 打开 应用
2015-08-11 18:21:44
2888
转载 Mac环境下svn的使用
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。我们首先来看下,如何在Mac环境下搭建svn服务器端环境。创建代码仓库,用来存储客户端所上传的代码我先在/User/apple目录下新建一个svn目
2015-08-11 16:10:53
411
转载 http详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation
2015-08-05 19:03:29
576
转载 简单理解Socket
TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模
2015-08-02 20:24:55
1023
转载 XMPP协议的原理介绍
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;
2015-07-20 21:08:13
412
转载 详解Objective-C runtime
什么是Objective-C runtime? 简单来说,Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,而方法(methods)可以用C函数实现。事实上,他们 差不多也是这么干了,另外再加上了一些额外的特性。这些结构体和函数被runtime函数封装后,Objective-C程序员可以在程序运行时创建,检 查,修改类
2015-07-15 21:30:56
630
原创 iOS中runtime运行机制解析
一.先思考两个问题:第一个问题, 1》runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API。 在我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码, runtime算是OC的幕后工作者
2015-07-15 20:49:27
3682
原创 不同版本iOS的特性和差异
1.iPhone OS 2.0 苹果在2008年3月6日iPhone SDK Roadmap会上正式介绍了iPhone OS 2.0。这个版本的获得的重要更新可以分成一下4大类:-企业增强-微软Exchange ActiveSync-iPhone SDK-App Store 在2008年6月的WWDC大会上苹果宣布包括MobileMe服务以及其他
2015-07-15 16:35:46
5629
转载 iOS view和viewController的生命周期
一、ViewController的职责对内管理与之关联的View,对外跟其他ViewController通信和协调。对于与之关联的View,ViewController总是在需要的时候才加载视图,并在不需要的时候卸载视图,所以也同时担当了管理应用资源的责任二、ViewController的生命周期View是指Controller的View。它作为Controler的属性,生命周期在Co
2015-07-14 17:30:02
570
转载 iOS项目中常用的第三方开源库
1.项目使用的第三方开源库 项目使用了CocoaPods(类似java中的maven)管理常用的第三方库,一些特殊的单独引用,下面介绍下比较好用的几个。(1)AFNetworking目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理。需要注意的是AFNetworking对服务器返回的ContentType要求比较严格,
2015-07-11 17:27:03
1324
转载 iOS中的设计模式简单说明
ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate
2015-07-11 15:14:44
475
转载 iOS中多线程原理与runloop介绍
一.线程概述 有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样;圆如操作系统,一直运行直到你关机。 一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。Mac和iOS中的程序启动,创建好一个进程的同时, 一个线程
2015-07-10 21:21:09
591
原创 runLoop和runtime的分析
一.RunLoop: Runloop是事件接收和分发机制的一个实现。 Runloop提供了一种异步执行代码的机制,不能并行执行任务。 在主队列中,Main RunLoop直接配合任务的执行,负责处理UI事件、定时器以及其他内核相关事件。(1).RunLoop的主要目的: 保证程序执行的线程不会被系统终止。
2015-07-10 20:53:00
4593
原创 iOS网络协议----HTTP/TCP/IP浅析
一.TCP/IP协议 话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样。一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通。两台电脑之间进行通讯所共同遵守的规则,就是网络协议。那么谁来制定这个网络协议? 国际标准化组织(ISO)定义了网络协议的基本框架,被称为OSI模型。要制定通讯规则,内容会很多,比
2015-07-10 20:27:50
2801
原创 多线程 - 课程分析
1.每个进程至少包含一个线程,这个默认创建的线程被成为主线程 2.单线程程序:程序只包含一个线程(主线程),线程中的代码按顺序执行,缺点:可能会造成主线程阻塞(有些任务耗时比较长) 3.多线程程序:程序中包含多个线程,线程是独立运行的,提高程序运行效率. 4.iOS开发中,所有跟UI有关的操作(绘制,刷新)都必须在主线程中完成. 5.子线程:主线程之
2015-06-29 19:45:18
490
原创 线程互斥实例----火车票
线程互斥:保证共享数据每次只能被一个线程访问,具有排他性. 多线程并发执行时,访问共享数据时是无序的.当多个线程同时访问(修改)同一个数据时,可能会出现数据错乱现象.此时需要线程互斥,而线程互斥需要一个互斥锁 互斥锁:当某个线程访问共享数据时,需要枷锁,其他线程则处于等待状态;访问数据结束时,需要解锁,所有线程可以继续访问数据.
2015-06-29 19:25:34
1184
转载 xcode gdb/lldb调试命令
XCode4.0以后,编译器换成了LLVM 编译器 2.0与以前相比,更加强大:1.LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++.2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结构.3.LLVM和Xcode 4完全的整合在一起.包括关键字高亮,代码完整性等全都是由LLVM语法分析器来
2015-06-22 22:07:08
498
转载 获取iOS设备信息
有时候做项目是需要获取手机的相关信息,好让用户知道自己的使用情况: /*获取手机信息应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来*/NSDictionary* infoDict =[[NSBundlemainBundle] infoDictionary];NSString* versionNum =[infoDict o
2015-06-18 19:41:59
431
转载 iOS多线程编程:线程同步总结
1:原子操作 - OSAtomic系列函数iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。2:锁 - NSLock系列对象iOS平台下的
2015-06-18 15:12:31
486
转载 iOS 播放音频的几种方法
iPhone OS主要提供以下了几种播放音频的方法:System Sound ServicesAVAudioPlayer 类Audio Queue ServicesOpenAL1. System Sound ServicesSystem Sound Services是最底层也是最简单的声音播放服务,调用 AudioServicesPlaySystemSo
2015-06-18 15:10:39
521
转载 iOS性能优化系列
一:性能优化策略 这一系列文章是我的读书笔记,整理一下,也算是温故而知新。性能问题的处理流程发现/重现问题利用工具剖析形成假设改进代码和设计在以上的四个步骤中循环反复,直到问题解决。Profile!不要猜!性能优化的主要策略:不要做无用功:不要在启动时花几百ms来做logging,不要为同样的数据做多次查询试图重用:对于创建过程昂贵的对象,要重用
2015-06-18 15:07:01
449
原创 objective-c启用ARC时的内存管理
在 objective-c 中,内存的引用计数一直是一个让人比较头疼的问题。尤其是当引用计数涉及到 arc、blocks 等等的时候。似乎 ARC 的出现只是让我们解放了双手,由于底层实现依然依赖引用计数,所以开启 ARC 后,只有对引用计数机制更加了解,才能避免 Cycle Retain、Crash 等问题的出现。但是由于使用 ARC 可以显著
2015-06-16 10:24:17
565
转载 iOS 多线程详解
一:operations(任务)cocoa提供了三种不同的operations1:Block operations(NSBlockOperation)These facilitate the execution of one ormore block objects.代码#import @interface OperationsAppDelegate : NSOb
2015-06-15 20:11:46
568
转载 IOS里的多线程编程详解
以下是开发初期收集整理的一点资料 多线程之NSInvocationOperation多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。本次介绍NSOperation的子集,简易方法的NSInvocationOperation:@imp
2015-06-15 17:57:37
386
转载 IOS多线程_GCD的简单使用和详细说明
你可以先看看这个例子的效果找点感觉,再看说明@interfaceyxpGCDVController (){UIImageView *_imageView;}@end@implementation yxpGCDVController- (void)viewDidLoad{[superviewDidLoad];self.title=@"GCD";//初始
2015-06-15 17:53:38
433
转载 iOS---block的详细用法
本文来自台湾的某开发人员的博客,被墙,感觉讲的比较易懂,所以引过来。文字简体化了,原来是繁体,变数=变量,这个注意一下。本文的顺序是层层深入的,要想简单的了解,只看X.1 初探Block就好了本章学习目标:1. 了解何谓block。2. 了解block的使用方法。Block 是iOS在4.0之后新增的程式语法,严格来说block的概念并不算是基础程式设计的范围,对初
2015-06-13 21:05:22
530
原创 数据持久化--沙盒
沙盒机制,需要对属性进行编码和反编码定义一个Person类在.h文件中声明几个属性(注意需要遵守一个NSCoding协议)#import //实现编码和反编码需要遵守协议NSCoding@interface Person : NSObject@property(nonatomic,retain)NSString *name;@property(nonatomic,retai
2015-06-13 11:53:45
565
原创 数据库SQLite
创建一个单例对象,数据库写在单例文件里,有数据库的开闭,数据信息的增,删,改,查.首先需要引入libsqlite3.0.dylib文件,方法: TARGETS->Build Phases-> Link Binary With Libaries中点击“+”按钮查找添加即可需要创建一个类,这里创建了一个学生类,声明属性:姓名,学号,性别,年龄几个属性单例文件里写法
2015-06-13 11:28:10
415
iOSAPP跳转微信小程序Demo
2019-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人