iOS备忘录-原创
文章平均质量分 79
好_快
这个作者很懒,什么都没留下…
展开
-
Xcode查看、下载、替换APP沙盒数据
一直觉得iOS8之后iFun软件没法查看测试机的沙盒数据,其实Xcode自带查看工具。1、进入设备管理页面2、选择要查看的APP,单击设置图标按钮显示内容:只能查看文件列表,不能查看文件内容下载内容:将数据下载到PC,然后显示包内容,可以查看详细文件内容替换内容:选择备好文件替换测试机内容点击打开原文链接原创 2015-12-10 15:18:03 · 1842 阅读 · 0 评论 -
获取定位授权和注意事项
获取定位授权和注意事项iOS原生类获取定位授权是通过CoreLocation框架中的CLLocationManager类完成的,这其中可以解决两大类场景的授权问题: 1、原生开发的授权 2、网页混合开发的授权。使用webview加载网页,授权归入APP授权;在浏览器中加载页面,授权归入浏览器授权。一、概述获取权限过程 1、调用authorizationStatus,获取状态,只要不是允许状态,原创 2016-08-30 13:36:56 · 1886 阅读 · 0 评论 -
Key-Value Coding(键值编码)
Key-Value Coding(键值编码)一、KVC简介KVC提供了一套不通过访问器方法或者属性变量,通过Key或者KeyPath直接访问对象属性的机制。KVC是以下技术的实现基础KVO、Core Data、Cocoa bindings、AppleScript。KVC性能略逊于访问器和实例变量,但是灵活性高,很多时候可以简化代码。原创 2016-09-01 17:40:18 · 2280 阅读 · 0 评论 -
Runtime--Property
Property与Runtime原创 2016-09-18 11:44:19 · 862 阅读 · 0 评论 -
Runtime--Instance Variables
简介Instance Variables(以下称实例变量)指在一个对象生存时存在并且保存值的变量,其内存申请和释放和对象的创建 (alloc)和销毁(dealloc)同步进行。 比如在header文件中@interface Data : NSObject{ //Instance Variables 区}@end或者在implementation文件中#import "Data.h"@原创 2016-09-19 17:28:57 · 535 阅读 · 0 评论 -
Key-Value Observing (键值监测)
Key-Value Observing (键值监测)简介KVO是一套当目标对象的属性值改变时观察者对象能够接受到通知的机制。必须先理解KVC才能更好的理解KVO,前者是后者的实现基础。原创 2016-09-07 15:29:04 · 1426 阅读 · 0 评论 -
Runtime--Message、Message Forwarding
简介Objective-C 程序能够在三个层次上和runtime系统交互:Objective-C Source Code、NSObject Methods、Runtime Functions。Objective-C Source Code此层次中,runtime函数将被自动调用。Runtime function的一个主要功能就是发送消息,如Messaging所示。NSObject Methods几乎原创 2016-10-10 14:03:04 · 558 阅读 · 0 评论 -
Runtime--Selector、IMP、Method
SelectorSelector的类型是SEL。能够用来唯一标识方法。能够像动态的函数指针一样精准的指向方法的implementation。获取方法在编译期,使用编译器指令@@selector,例如SEL aSelector = @selector(methodName);在运行期,使用NSSelectorFromString函数,例如SEL aSelector = NSSelectorFromSt原创 2016-09-21 18:19:01 · 508 阅读 · 0 评论 -
Runtime--Dynamic Method Resolution
Runtime–Dynamic Method Resolution很多时候你想动态的提供方法的实现,比如说声明property的时候使用编译器指令@dynamic@dynamic propertyName;可以通过实现以下两个方法达到动态实现方法的目的//如果找到方法实现并且添加到Class,则返回Yes,否则NO//针对类方法+ (BOOL)resolveClassMethod:(SEL)se原创 2016-10-11 15:46:15 · 600 阅读 · 0 评论 -
Runtime--Protocols
Working with Protocols定义类的接口用来声明其自身相关的methods和properties;相反,协议用于声明独立于任何特定类的方法和属性。 基本定义语法:声明实例方法、类方法、属性@protocol ProtocolName// list of methods and properties@end协议可以继承其它协议;NSObject提供了很多常用的协议,因此常见的定义原创 2016-10-13 11:58:51 · 760 阅读 · 0 评论 -
Customizing Existing Classes
Customizing Existing Classes对象定义了明确的任务,比如model化指定信息、展示可视化内容、控制流程。一个类的interface定义了和其他类的交互方式以便以完成任务。 有时候你会发现,你希望拓展现有类。Objective-C提供两种途径来拓展现有类:Categories(类别)和Class Extensions(类拓展)。Category如果需要给已有类添加Metho原创 2016-10-17 16:43:08 · 407 阅读 · 0 评论 -
Working with Blocks
简介Blocks是C语言层级语法和运行时特性。 它们类似于标准C函数,但是除了可执行代码之外,它们还可以保存堆栈变量。 因此,块可以保存数据,在代码执行时使用。 1、Block可以作为函数数调用、作为函数参数、作为方法参数。 2、因为独立完整可以在多线程中使用; 3、因为拥有回调时需要执行的代码和执行代码时需要的数据,常常被用来实现回调Callback。 由于Objective-C和C++都原创 2016-10-20 15:01:12 · 602 阅读 · 0 评论 -
Exporting Your App for Testing
上架到Appstore之前,肯定需要经过测试,大体流程如下: 1、在开发者中心注册设备2、打包App3、导出ipa安装包:使用ad hoc provisioning profile 或者 team provisioning profile 进行签名4、安装到测试设备进行测试5、从测试人员那里获取 crash reports一、 注册测试设备在创建ad hoc 或者 team provisionin原创 2017-01-03 17:36:25 · 744 阅读 · 0 评论 -
URL合法化
URL合法化iOS开发过程中,网络数据请求中带有汉字或者特殊符号需要经过编码处理,使得URL合法化之后才能进行网络请求。原创 2016-08-18 21:11:51 · 1546 阅读 · 0 评论 -
UITableViewCell高度自适应
UITableViewCell高度自适应UITableView是iOS开发过程中常用的列表控件,固定高度的Cell布局再熟悉不过,比较麻烦的是高度不固定的问题,比如用大量文字需要展示的。一、手动计算,手动布局主要的实现思路:计算好需要的高度,然后设置Cell高度和布局;用的的代理方法的调用顺序//1、先调用返回高度- (CGFloat)tableView:(UITableVi原创 2016-08-15 14:55:53 · 597 阅读 · 0 评论 -
ARC简介和注意事项(学习笔记1)
第一次较为详细地阅读苹果官方文档,虽然是英文但是能够不难读懂。阅读原滋原味的文档,以此博客记录学习笔记!欢迎指正交流!原创 2015-11-24 22:10:03 · 939 阅读 · 1 评论 -
Xcode调试UI
开发iOS项目的时候,UI出现的bug调试还行相当繁琐的,Xcode提供了一个可视化的调试工具,用起来还是相当不错的!一、打开方式1、在debug工具栏点击按钮2、Xcode的导航条处Debug > View Debugging > Capture View Hierarchy.二、界面分布1、View Hierarchy 可以看到页面的层级结构2、中间提供了可原创 2015-11-26 15:46:02 · 951 阅读 · 0 评论 -
iOS键盘使用
一、键盘外观设置UITextField和 UITextView都遵守 UITextInputTraits协议(定义键盘属性),所以可以设置这些对象的属性来设置键盘的外观。二、键盘通知UIKeyboardWillShowNotification UIKeyboardDidShowNotification UIKeyboardWillHideNotification原创 2015-12-28 14:15:09 · 679 阅读 · 0 评论 -
Xcode无开发者账号打包
大神避让原创 2015-12-11 10:12:55 · 3271 阅读 · 0 评论 -
APP图标和启动页尺寸(Icon and Image Sizes)
App上架必须的切图尺寸,在官网找了一下找到了,如下:AssetiPhone 6s Plus and iPhone 6 Plus (@3x)iPhone 6s, iPhone 6, and iPhone 5 (@2x)iPhone 4s (@2x)iPad and iPad mini (@2x)原创 2015-12-03 16:40:34 · 3965 阅读 · 0 评论 -
iOS上架准备工作(一)--版本号和编译号 (Version Numbers and Build Numbers)
在着手上架之前,对于版本号和编译号不理解如何配置,查阅了官方文档,一句话总结:版本号和编译号的对应关系和你度过的时间:年份和月份的对应关系是一样的(年份必须递增,月份可以相同)!作用:通过版本号和编译号组合在一起来确定你上传到appstore的ipa包的唯一性。查看以及修改方法:1、In each Xcode target's General tab2、In you原创 2015-12-04 16:32:54 · 1211 阅读 · 0 评论 -
UIWebView和原生交互 JavaScriptCore
UIWebView的基本用法和API不再赘述,直接上重点!一、iOS7之前交互实现方式1、OC调用JS通过UIWebView的stringByEvaluatingJavaScriptFromString方法实现。2、JS调用OC简单来说就是URL拦截来实现的;通过代理方法-(BOOL)webView:(UIWebView*)webView shouldStartLoad原创 2016-06-24 11:39:18 · 857 阅读 · 1 评论 -
此证书签发者无效,发布证书已丢失, Download and Install the Renewed Intermediate Certificate
今天打包失败,出现以下提示然后,钥匙串中的证书提示“此证书签发者无效 ”原因:苹果官方证书过期,需要更新解决方法:1、首先下载新证书,然后双击安装2、打开钥匙串,选择系统,显示-》显示过期证书,然后删除过期证书3、问题解决点击打开原文链接原创 2016-02-17 15:36:23 · 454 阅读 · 0 评论 -
定位、通讯录、日历、提醒、照片、蓝牙、麦克风、相机、健康、Home、运动权限
iOS应用开发免不了使用设备硬件资源,这是都是要用授权的,授权路径在设置->隐私;一、定位服务1、获取授权状态- (void)checkLocationServicesAuthorizationStatus { /* We can ask the location services manager ahead of time what the authorizatio原创 2016-06-30 15:00:45 · 2166 阅读 · 1 评论 -
iOS跳转系统设置页面
一、跳转系统设置页面1、例如跳转 隐私->定位服务 页面if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]){ [[UIApplication sharedApplication] openURL:[NSURL URLWithS原创 2016-07-01 13:42:07 · 1180 阅读 · 0 评论 -
多线程编程--Grand Central Dispatch(一)
记录GCD的简单实用方法:并发队列,串行队列 和 同步执行,异步执行的搭配实用。原创 2016-07-13 17:18:38 · 2052 阅读 · 0 评论 -
iOS9 画中画 Picture in Picture
画中画 (Picture in Picture)iOS9系统在iPad上支持多任务分屏和画中画视频播放,画中画视频播放就将视频播放窗口化,然后浮动在屏幕上,此时你可以使用其他APP。但是有限制:1、iOS9 2、iPad,此功能是在iPad上看电影,home返回后无意间发现的好玩的功能。一、准备工作1、最好确保iPad的“设置--通用--多任务--持续视频叠层”功能打开。2、以原创 2016-07-05 11:27:38 · 1737 阅读 · 0 评论 -
像企业账号一样分发安装应用
注:本文假设读者熟悉iOSAPP开发上架流程日常开发过程中,总有那么几个时候,需要给特定的人员安装中间测试版本,作为开发一般有两个选择:1、使用企业开发这账号 2、把指定设备添加到开发者账号中这两种方式各有优势和弊端:1、使用企业账号,相当方便。直接打包企业版本,然后发送ipa安装包,或者上传到蒲公英这样的网站直接二维码扫描下载安装。但是企业账号贵啊,还不能上架到App Store,不是每个公司或者原创 2017-10-13 15:35:34 · 632 阅读 · 0 评论