IOS开发
文章平均质量分 93
海阔天空_栋
我很笨,但是我很勤奋
展开
-
设计模式之六大原则(转载)
转载博客链接:https://www.cnblogs.com/dolphin0520/p/3919839.html还没消化完成,需要仔细研究。转载 2018-10-15 21:58:32 · 198 阅读 · 0 评论 -
swift oc混编 打包framwork
最近由于项目需求需要使用Swift做开发,但之前的好多有用的东西都是使用OC写的,鉴于这种情况最好的方式当然是使用swift重写,但这样的工作量太大,而且不能保证功能的稳定性,所以自己就尝试的使用Framework来嵌入Swift项目中去。至于涉及到OC和Swift汇编的过程可以看我上一篇文章首先我们需要了解framework是什么:Framework 就是一个Bundle,将原创 2017-05-06 18:47:20 · 3970 阅读 · 0 评论 -
swift oc 混合编程
最近在学习Swift,写了一段时间之后感觉要比OC代码量少很多,而且简洁很多,但是基于目前公司大部分项目还是在使用OC开发,就涉及到OC和Swift的混合开发了,今天就自己这段时间了解的做个总结:1.建立一个Swift工程:如上我在工程中添加了OC文件以及Swift文件,在添加OC文件时会提示是否创建桥接文件:选择Finish这在后面swift调用OC文件时要使用,其实原创 2017-05-06 18:04:03 · 957 阅读 · 0 评论 -
Xcode 8.2.1打开直接闪退
xcode意外退出第一种方案然后用文本编辑器打开project.pbxproj文件,看是否有svn冲突,可以搜索如果不是svn文件,工程其他人能打开,就自己的打不开,可以使用第二种方案1.第一步 找到工程文件第二步,找到project.转载 2017-03-27 15:34:09 · 3203 阅读 · 1 评论 -
IOS BLE_peripheralManager 类参考
概述CBPeripheralManager类是被用来发布本地外设属于GATT数据库中的一些服务以及向主设备广播这些服务。当一个服务在数据库中时,它是可见的而且能够被连接的主设备存取。即便如此,假如你的APP没有指定bluetooth-peripheral后台模式,当APP处于后台或者被挂起时,这些服务也是不能够起作用的。哪怕任意一个远端的central试图想访问你的App的任意一个charac翻译 2014-02-28 20:41:41 · 5099 阅读 · 0 评论 -
【转】iOS开发--一步步教你彻底学会『iOS应用间相互跳转』
1. 应用间相互跳转简介在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。下面来看看我们在开发过程中遇到的应用场景。2. 应用间相互跳转应用场景使用第三方用户登录,跳转到需授权的App。如QQ登录,微信登录等。需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名、密转载 2016-11-15 17:22:05 · 1361 阅读 · 0 评论 -
AFnetWorking 2.X更新到AFNetworking 3.X遇到的问题
AFNetworking 3.0AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。原创 2016-11-17 15:52:28 · 1356 阅读 · 0 评论 -
苹果设备蓝牙接入设计指南
本文介绍了针对硬件通过蓝牙传输来与苹果产品包括Mac,iPhone和iPod touch等交互的设计指南。为了能够与苹果产品兼容,现在和未来的设计当中,蓝牙计入都应该遵循本文中的规范。本文主要分为两个部分:通用需求描述了使用蓝牙接入的硬件设备设计应该遵循的通用蓝牙标准;苹果协议和开发者支持描述了苹果用来扩展标准蓝牙文件从而提升接入能力的协议。通用需求遵循蓝牙协议任何能够与苹转载 2015-11-06 09:13:19 · 8000 阅读 · 3 评论 -
IOS 调用系统循环震动
在项目中遇到这样的问题:边响音乐边震动,音乐结束则结束震动。首先需要引入#import 头文件,在需要播放音乐的地方添加: AudioServicesAddSystemSoundCompletion(kSystemSoundID_Vibrate, NULL, NULL, systemAudioCallback, NULL); AudioServicesPlaySys原创 2015-05-06 15:07:43 · 3716 阅读 · 0 评论 -
Xcode 6中添加预编译pch文件
1、新建一个PCH文件6中添加预编译pch文件" title="Xcode 6中添加预编译pch文件" style="margin:0px; padding:0px; border:0px; list-style:none; max-width:100%; height:auto">2、修改buildsetting配置文件在搜索框里输入prefix搜索一下,比较原创 2015-04-22 15:55:36 · 989 阅读 · 0 评论 -
IOS设备的唯一标识符
由于IOS系统存储的数据都是在sandBox里面,一旦删除App,sandBox也不复存在。好在有一个例外,那就是keychain(钥匙串)。通常情况下,IOS系统用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。keychain里保存的信息不会因App被删除而丢失。所以,可以利用这个keychain这个特点来保存原创 2015-03-13 17:39:11 · 779 阅读 · 0 评论 -
iOS开发网络篇—XML数据的解析
iOS开发网络篇—XML介绍一、XML简单介绍XML:全称是Extensible Markup Language,译作“可扩展标记语言”跟JSON一样,也是常用的一种用于交互的数据格式,一般也叫XML文档(XML Document) XML举例 二、XML的语法1.简单转载 2015-03-13 17:20:16 · 1506 阅读 · 0 评论 -
iOS开发网络篇—JSON数据的解析
iOS开发网络篇—JSON介绍一、什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组{"name" : "jack", "age" : 10}{"names" : ["jack", "rose", "jim"]}转载 2015-03-13 17:15:40 · 1426 阅读 · 0 评论 -
IPhone 日历提醒
授权为了让提醒事项和日历事件能工作起来,你需要依赖于EventKit。你将也需要一个持久化的存储来保存备忘录项。因此,EventKit为你提供了这个:EKEventStore。一个EKEventStore允许你从用户日历数据库中更新、创建、编辑和删除事件。提醒事项和日历数据都存储在日历数据库。在理想情况下,你整个应用将只有一个事件存储器,而且你只能实例化其一次,那就是EKEvent原创 2015-03-11 10:32:19 · 1407 阅读 · 0 评论 -
IOS APP 使用别人的P12文件上传APP store
当使用客户的帐号打包上传时,只需要客户提供打包好的P12文件(钥匙串文件以及证书文件)和描述文件(mobileprovision)。安装即可,打包过程如下:选择Archive:开始编译文件后出现:由于是编译好包给客户上传的,所以选择Export,输出安装包,Submit直接就可以连接到itunes connect进行验证APP的可靠性。接下来:选原创 2015-03-11 17:33:14 · 7184 阅读 · 0 评论 -
IOS APP 上传APP store
开发APP最终的目的都是上传APP到APP store上,当然要上传必须要苹果个人版开发者帐号,有了帐号那就万事俱备,只欠东风了。 第一:准备证书 要上传APP store当然是要发布证书了,要创建证书肯定就需要钥匙串文件,这个文件从哪儿来呢?不要急,打开钥匙串访问,如下:选择从证书机构请求证书,然后呢?看下:继续默认设置一直到结束,这时候你的钥匙串证书已经生成原创 2015-03-04 17:44:47 · 1126 阅读 · 0 评论 -
IOS开源库一览表
应有尽有,包罗万象http://www.open-open.com/lib/view/open1387098154281.htmlhttp://github.ibireme.com/github/list/ios/GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助系统基础库转载 2015-03-05 10:09:26 · 1636 阅读 · 0 评论 -
ios开发证书CSR文件、CER文件、P12文件,mobileprovition许可文件的用途
1.CSR文件 钥匙串文件,为生成证书做基础,要生成CER证书必须要有CSR私钥,此私钥包含了用户自己的一些信息。2.开发证书 CER文件苹果的这个开发者证书也是同样的原理,本地的request文件里包含开发者的个人信息和公钥,提交给苹果。然后经过一系列的操作后最终可以得到一个可用的证书文件(CER文件)。所以这个CER证书里包含了开发者信息和公钥。当开发者下载并双击打原创 2015-03-05 10:13:43 · 12159 阅读 · 1 评论 -
iOS工程里添加C文件造成的编译错误
错误:expected identifier or’(’ unknown type name‘nsstring’ declaration of ‘protocol’must be imported from module’objectiveC.runtime’before it is required 解决方法: 原来在xcode里新建的pch文件少了:原创 2017-11-11 17:50:27 · 1805 阅读 · 0 评论 -
iOS 使用UIScrollView实现图片的缩放
iOS 使用UIScrollView实现图片的缩放当需要在特定的区域实现图片的手势缩放时,我们首先想到的就是UIScrollview。 缩放原理:当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容),同时会回调UIScrollView的Delegate方法: - viewForZooming原创 2017-10-18 10:53:05 · 1441 阅读 · 0 评论 -
HTML页面嵌入IOSAPP 资源无法显示
一般我们在写HTML页面的时候,都是从主目录一级一级加载的,但是当HTML页面嵌入到IOS APP中的时候,整个的文件结构就发生了变化; 当需要引入资源文件时,一般会选择资源文件和HTML文件在同级目录,使用WKWebView加载时使用: let htmlStr = Bundle.main.path(forResource: "Index", ofType: "html")...原创 2018-09-13 20:23:31 · 1467 阅读 · 0 评论 -
ios 知识点总结(十一)之RUNLOOP
1.iOS系统中,提供了两种Runloop:NSrunloop和CFRunLoopRef; CGRunLoopRe是在CoreFoundation框架内的,提供纯C函数的API,所有的API都是线程安全的。 NSRunloop是基于CFRunloopref的封装,提供了面向对象的API,但是这些API不是线程安全的。 2.使用场景 不开启runloop:在...原创 2018-10-17 20:44:39 · 189 阅读 · 0 评论 -
IOS 知识点总结(十)之结构体和类
区别: 1.结构体只能封装属性,类却不仅可以封装属性也可以封装方法,如果及需要封装属性有需要封装方法的话,就只能是类了。 2.结构体变量属于值类型,分配在栈上,而OC对象分配在堆,栈的控件相对于对来说是比较小的,但是存储在栈上的数据访问效率比堆上的数据快很多。 3.如果定义一个结构体,这个结构体有很多的属性,那么这个是有就要选择使用类来处理,在栈中占用太多的空间会降低效率; ...原创 2018-10-17 20:44:10 · 434 阅读 · 0 评论 -
ios 知识点总结(七)
UIResponse之事件响应链及其事件传递响应链:响应连是由一系列链接在一起的响应者组成的,一条响应链开始于第一响应者,结束于application对象,如果一个响应者不能处理事件,则会将事件沿着响应链传递到下一个响应者响应链是随着我们视图的搭建而创建的。以树状的层次结构。当用户触发某一事件(触摸事件或运动事件)后,UIKit会创建一个事件对象(UIEvent),该对象包含一些处理...原创 2018-10-17 20:43:23 · 151 阅读 · 0 评论 -
IOS 知识点总结(六)
一、Swift和OC的联系 1.swift和OC共用一套运行时环境, 2.swift更加安全,他是类型安全的语言; 3.swift引入了可选类型,用于处理变量值不存在的情况。类似于OC中的Nil指针, 4.swift更倾向于使用函数响应式编程;...原创 2018-10-17 20:43:09 · 206 阅读 · 0 评论 -
IOS 知识点总结(五)
IOS中的SEL和IMP SEL:类成员方法的指针,但是不同于C语言的函数指针,函数指针世界保存了方法的地址,但是SEL保存的只是方法的编号。 IMP 一个函数的指针,保存了方法的地址; 每一个继承于NSobject的类都能自动获得runtime的支持,在这样的类中,有一个isa指针,只想该类定义的数据结构体,这个结构体是编译器编译时为类创建的,这个结构体...原创 2018-10-17 20:42:53 · 155 阅读 · 0 评论 -
IOS 知识点总结(四)
load和initialize方法 load 方法:在加载类的使用就会调用,一般是在编译阶段就会调用该方法。 load方法中一般会使用一下Method Swizzle(及OC的runtime机制,字典转模型,模型转字典,或者动态的交换方法或者替换方法) initialize方法:在类第一次被加载时调用,也就是在类第一次被初始化(alloc)时调用,若该类只是被引用,当并没有被...原创 2018-10-17 20:42:34 · 126 阅读 · 0 评论 -
IOS 知识点总结(三)
Objective-c 中的Block类型: 代码块Block是IOS 4 开始引入的对C语言的扩展,用来实现匿名函数的特性。 Block在编译的过程中,会被当做结构体进行处理; Block也属于函数的范畴,变量进入Block时,实际就是已经改变了作用域。 根据Block创建的位置不同,Block分为三种:NSSrackBlock 存储于栈区: block...原创 2018-10-17 20:42:13 · 188 阅读 · 0 评论 -
IOS 知识点总结(二)
线程锁 锁住一段代码,在同一时间内只能被一个线程访问。为了避免在同一个时间内有多个线程访问同一段代码就有了“锁”的概念。线程安全 当一段代码被多个线程执行,执行后的结果和多个线程依次执行后的结果一直,那么这段代码就是线程安全的。NSlock try 尝试加锁,失败是不会阻塞线程的,如果尝试获取锁失败就不会执行加锁代码。 NSRecursivelock:递归锁解...原创 2018-10-17 20:41:53 · 132 阅读 · 0 评论 -
IOS 知识点总结(一)
IOS线程讲解 对于单核的处理器,可以把多个操作放到不同的线程,当用户操作完UI之后其他后续任务在其他线程操作,当CPU空闲时继续其他操作; 对于多核操作,操作任务可以分散到多个空闲的CPU中继续执行; 一个核(CPU)可以有多个线程,但其实是CPU在快速的调度不同的任务,造成多线程运行的假象; 每一个线程同时只能处理一件事情,其他的事情会放在队列中等待,当CPU...原创 2018-10-17 20:41:14 · 502 阅读 · 0 评论 -
IOS 使用CocoaPods 制作组件化开发
部署一个开源的pod如果你是一个非git版本控制使用的开发者,那么在你部署一个开源的library之前,可以直接使用码云结合Cornerstone使用;在你的Gitee上创建一个Private Project![这里写图片描述](https://img-blog.csdn.net/20180528161006260?watermark/2/text/aHR0cHM6Ly9ibG9n...原创 2018-05-28 16:11:04 · 1290 阅读 · 0 评论 -
RN-集成到现有的原生应用
主要是安装JAVAScript的安装包创建package.json的目录需要注意下,IOS开发,一般会在.project的上一级目录,package.json: { "name": "MyReactNativeApp", //该地方使用项目的名称 "version": "0.0.1", "private": true, "scripts": {原创 2018-04-02 21:36:20 · 783 阅读 · 0 评论 -
修改IOS 工程名
修改工程名: http://blog.csdn.net/xx352890098/article/details/78837020转载 2018-03-21 16:57:25 · 294 阅读 · 0 评论 -
Xcode9 Icon不显示
今天更新了Xcode9 听说有坑 跑了下项目 APP icon 变成了下图image.png 莫名的懵逼 ,检查了下配置没问题 只好谷歌得到解决方法两个 链接地址:https://github.com/CocoaPods/CocoaPods/issues/7003 https://github.com/mythkiven/developTips使用了CocoaPods的Xcode工程,在iOS转载 2017-12-30 11:47:22 · 616 阅读 · 0 评论 -
Swift 中的#pragma Mark
众所周知,大家在OC中对代码进行逻辑组织 用的是#pragma mark - ,生成分隔线用#pragma mark 函数说明,来生成一个函数的说明X,下面介绍Swift下的标识: // MARK: - 生成分隔线// FIXME:生成分隔线// TODO: 切记不要忘记后面的:号原创 2017-11-13 11:07:50 · 1006 阅读 · 0 评论 -
IOS JS交互Webview重定向
IOS JS 交互WebView重定向 当使用webView与JS交互时,我们一般会遇到这样的问题:第一次夹在Web页面时JS是可以获取到上下文对象的,但是当我们重新reload的时候,发现获取的上下文对象错误,这时我们需要这样处理: 当第二次重新reload的时候需要先移除原先的WebView,然后在重新创建对应的web页面在行加载 详细代码如下: if (_mReq原创 2017-11-02 22:02:16 · 1962 阅读 · 0 评论 -
iOS应用国际化教程
国际化另一个重要的方面是使用Auto Layout改变文本的大小。不过为了让本教程尽可能地简单,我们不会主要关注Auto Layout。对于Auto Layout这个话题,我们另有其他教程。 国际化 vs 本地化(Internationalization vs Localization)在你开始学习本教程之前,很重要的一点是了解国际化和本地化之间的不同之处,原创 2014-12-10 15:13:09 · 824 阅读 · 0 评论 -
Store Kit Guide(In App Purchase)翻译
一、In App Purchase概览Store Kit代表App和App Store之间进行通信。程序将从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买。当用户需要购买某件产品时,程序调用StoreKit来收集购买信息。下图即为基本的store kit 模型:Store Kit的API只是为程序添加In App Purchase功能的一小部分。你转载 2014-09-02 10:10:08 · 813 阅读 · 0 评论 -
addChildViewController
在苹果的WWDC2011大会视频的 《Session 101 - What’s New in Cocoa》 和 《Session 102 - Implementing UIViewController Containment》 中介绍了苹果在iOS5中给UIViewController新增加的5方法以及一个属性:12345678// 方法a转载 2014-08-20 16:42:50 · 602 阅读 · 0 评论 -
iPhone开发入门守则:Objective-C编码规范(1)
偶然发现这么一篇文章,感觉写的不错和大家分享一下:iPhone开发入门守则:Objective-C编码规范规范的代码,不仅美观,而且在后期的维护以及移植都有很大的帮助。原创 2014-03-14 11:33:34 · 1025 阅读 · 0 评论