自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用LLDB's Python API通过断点将NSData数据写入文件

iOS有一类单测用来验证对网络返回的NSData类型的数据解析是否正确,此时需要传入NSData类型的对象。获取数据的方法有两种:1.单测中发起网络请求,用真实返回的数据进行验证2.在源码中添加write语句将数据保存到文件中,然后单测里读取data文件这两种方法的问题都很明显:第一种增加了单测的时长,单测书写的复杂性也会增加第二种对源码有侵入性,使用完成后还需要删除临时添加的代码本...

2020-02-29 17:43:05 319

转载 Xcode打包生成ipa四个选项的具体区别

1. Save for iOS App Store Deployment 保存到本地 准备上传App Store 或者在越狱的iOS设备上使用2. Save for Ad Hoc Deployment 苹果的官方解释是:To distribute your app to users with designated devices, select “Sav...

2020-02-25 15:14:08 917

转载 iOS函数式编程和链式编程的实现

转载于iOS函数式编程和链式编程的实现首先来看下什么是函数式编程,举个例子:[view mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.left.right.equalTo(self.view);}];这里的make.top.bottom.left...

2020-02-23 17:14:18 297

原创 Objective-C中的nullable、__nullable、__Nullable

nullable、__nullable、_Nullable 都表示对象可以是NULL或nilnonnull、__nonnull、_Nonnull 都表示对象不应该为空它们是Obective-C特性Nullability Annotations,如果我们在编码时不遵循这一规则时,编译器会给出警告。三种表示作用是相同的,在使用时位置会有差别。举例如下:方法返回值的修饰:- (null...

2019-06-02 13:05:23 1063

原创 正确的使用pod install 和 pod update - CocoaPods

pod install1.项目中第一次使用CocoaPods,进行安装时使用这个命令。此时.xcworkspace和Pods目录还不存在,pod install命令会创建.xcworkspace和Pods目录。2.每次编辑Profile文件时使用此命令,编辑操作包括添加、移除、更新。此时根据~/.cocoapods/repos/本地资源目录,针对Profile文件中的修改,下载安装新库,并...

2019-05-24 11:40:33 694

原创 OpenCV和OpenCV_contrib编译为MacOS系统的framework

最近在MacOS上要用到SIFT算法来计算图片相似度,opencv的SIFT算法代码在OpenCV_contrib中,如果想打包一个供MacOS使用的framework需要将OpenCV和OpenCV_contrib打在一起。本文介绍从OpenCV和OpenCV_contrib源码打包cocoa开发使用的framework的方法,OpenCV和OpenCV_contrib选择当前最新的releas...

2019-05-14 16:02:15 1275

原创 Mac OS 脚本生成dmg安装文件

本文将介绍通过脚本和appdmg来生成dmg安装文件的方法。文中例子的工程名为AutoLaunchMain。最终生成的dmg安装效果如下图工具准备appdmg安装方式:命令行中输入npm install -g appdmg资源准备工程根目录下创建目录dmgResources,里面的内容如下:appdmg.json文件中包含安装界面的title,title左侧的...

2018-11-02 18:48:37 4985

原创 Mac os上App开机自动启动

Mac OS上运行的App,想要支持用户登录后App自动启动的功能,可以使用Service Management Framework 或 Shared File List实现。对于沙箱开启的应用,苹果推荐的做法是使用Service Management Framework;对于沙箱未开启的应用,苹果推荐使用Shared File List。Service Management Framework对...

2018-11-01 21:23:39 8637 2

原创 Mac OS 应用图标不在Dock中出现

需求:Mac应用启动后,Dock中不显示应用图标。实现方法:在项目的Info.plist文件中,将Application is agent (UIElement)选项设置为YES。 

2018-11-01 14:54:04 3362

原创 斯坦福CS193P 2017-2018 第5节 Drawing 笔记

异常处理声明可以抛出异常的函数// 无返回值func save() throws// 有返回值func save() throws -> Bool捕获异常方式do { try context.save()} catch let error { // error will be something that implements the Erro...

2018-10-30 23:42:02 282

原创 斯坦福CS193P 2017-2018 第4节 More Swift 笔记

以下内容为swift4.0中的特性Struct值类型(内存分配在栈上,赋值或者函数的参数传递时通过拷贝来实现) Copy-on-write: 通过写时复制的方式提升内存的使用效率。在值需要改变的时候才执行拷贝操作。 Mutating: 使用mutating来标识需要使用copy-on-write特性 无法继承 不可修改的struct使用let来声明 支持函数式编程: swift函...

2018-10-28 18:37:15 344

原创 Xcode断点无效

依次检查下面的选项1.Xcode工具栏->Debug->Debug workflow: 取消Always Show Disassembly的选中态。选中时可以查看程序运行时的汇编代码,我们在调试代码时不需要查看汇编代码,那么可以取消,断点就会停在我们的代码上。2.target->Build settings->Generate Debug Symbols 为YE...

2018-10-18 18:15:34 10525 1

原创 WARNING ITMS-90737: "Invalid Document Configuration.

警告的详细信息:WARN: WARNING ITMS-90737: "Invalid Document Configuration. Document Based Apps should support either the Document Browser (UISupportsDocumentBrowser = YES) or implement Open In Place (LSSupp...

2018-10-16 15:31:06 3299

原创 Mac OS Sublime Text3 解决中文乱码

1.安装Package Control官方安装指南我使用的手动安装安装方式:(1)通过以此点击菜单 Sublime Text > Preferences > Browse Packages 打开Packages目录(2)找到Packages的同级目录Installed Packages(3)下载PackageControl.sublime-package并保存到In...

2018-08-13 16:30:45 7986 3

转载 ios各种动画效果

最普通动画: //开始动画 [UIView beginAnimations:nil context:nil];  //设定动画持续时间 [UIView setAnimationDuration:2]; //动画的内容 frame.origin.x += 150; [img setFrame:frame]; //动画结束 [UIView commitAnimati

2015-06-17 14:45:11 310

转载 NSURLProtocol Tutorial

原文地址:http://www.raywenderlich.com/59982/nsurlprotocol-tutorial

2014-09-15 16:24:18 712

转载 在iOS中使用icon font

原文地址:http://www.cocoachina.com/applenews/devnews/2013/1111/7327.html

2014-08-25 16:08:35 593

转载 iOS 多线程 锁 互斥 同步

在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全[cpp] view plaincopyprint?@synchronized(self)    {           // 

2014-08-18 21:20:28 336

转载 instancesRespondToSelector与respondsToSelector注意点

// main.m#import @interface Test : NSObject-(void) objectFun;+(void) classFun;@end@implementation Test-(void) objectFun{}+(void) classFun{}@endint main(){BOOL ret;ret

2014-07-15 10:48:31 606

转载 【P2P网络】磁力链接转换为种子文件 magnet to torrent .

原文地址:http://blog.csdn.net/xxxxxx91116/article/details/7971134

2014-05-21 14:59:56 65941

转载 使用CocoaPods来做iOS程序的包依赖管理

原文地址:http://www.360doc.com/content/13/1211/10/14615320_336274608.shtml

2014-05-20 16:05:47 487

转载 ios中KeyChain用途

原文地址:http://www.2cto.com/kf/201311/255684.html

2014-05-12 14:07:51 399

转载 Objective-c——@class关键字&#import

一、导语我们都知道使用OC编程的时候,如果要使用其他的类或者数据源,都需要使用import导入对应的头文件,但是如果不理解import和@class的区别,不仅仅可能会造成性能低下,更可能会导致程序崩溃,下面我们就来说说@class关键字和#import的区别。二、区别1 .import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名

2014-04-16 15:36:14 460

转载 IOS开发之__bridge,__bridge_transfer和__bridge_retained

Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoo

2014-04-03 13:40:00 416

转载 块编程指南

——译自Apple Reference Library《Blocks Programming Topic》 简介 块对象是C语言的句法和运行时特性。它类似于标准C函数,但可以将代码、变量绑定到堆(heap)、栈(stack)。一个块还维护了一系列的状态,这些状态或数据影响着执行的结果。可以把块组成函数表达式,用于传递给API,或者使用在多线程里。最有用的是回调,因为块在回调时能把代

2014-04-01 15:06:02 542

转载 iphone崩溃日志分析工具symbolicatecrash用法

iphone崩溃日志分析工具symbolicatecrash Symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的地址替换成代码相应位置。使用效果:分析前:Thread 0 name: Dispatch queue: com.apple.main-threadThread 0

2014-03-31 14:53:07 799

转载 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

刚接触iOS开发的人难免会对苹果的各种证书、配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解。这篇文章就对Certificate、Provisioning Profile等做个总结。 1.概念介绍如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可

2014-03-31 14:49:28 493

转载 企业版IDP的申请及“In House”发布

企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。 这种方式的IDP其最大的好处在于:可以发布“In House”应用。 这种应用使用一种叫做“In House Distribution Provisioning Profile”的文件进行发布,不能发布到Apple Shop进行销售,也不需要经

2014-03-31 14:45:34 494

转载 armv6, armv7, armv7s的区别

armv6, armv7, armv7s的区别这两天遇到静态库不支持armv7s的问题,所以顺道了解和总结一下几个arm架构的一些基本区别。 ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的。armv6, armv7, armv7s是ARM CPU的不同指令集,原则上是向下兼容的。如iPh

2014-03-28 15:16:08 539

转载 如何从appstore获取应用程序信息

原文地址:http://hi.baidu.com/yunhuaikong/item/834e8bc65f6bda65f6c95d20 如果我们需要实现应用程序版本的自动更新提示,那么我们需要获取当前运行程序的版本信息和 appstore里发布的最新版本信息。当前运行程序的版本信息,可以在 mainBundle 里面获取:NSDictionary *infoDict = [[NSBu

2014-03-26 16:57:07 730

转载 ARC指南2 - ARC的开启和禁止

原文地址:http://blog.csdn.net/q199109106q/article/details/8565403 要想将非ARC的代码转换为ARC的代码,大概有2种方式:1.使用Xcode的自动转换工具2.手动设置某些文件支持ARC一、Xcode的自动转换工具Xcode带了一个自动转换工具,可以将旧的源代码转成ARC模式1.ARC是LLVM

2014-03-25 17:14:06 373

转载 KVO/KVC

原文地址:http://blog.csdn.net/ajrm0925/article/details/7416419KVO(NSKeyValueObserving 的简称)、KVC(NSKeyValueCoding 的简称)在很多时候接触到很多地方都有对 KVC,KVO 的描述,但是都是一笔带过。只知道这是Object-C提供的一个不错的机制,可以很好的减少代码。首先我

2014-03-25 16:37:29 433

转载 iOS RunLoop 初识

原文地址:http://www.cnblogs.com/tangbinblog/archive/2012/12/07/2807088.html今天突然才之间才意识到NSTimer这样的运行方式,是在多线程中实现的循环还是在主线程中去实现的呢。当然不可能是在主线程中的while那么简单,那样什么都干不了,简单看了下NSTimer是以同步方式运行的。时间到了,消息发出后,ontim

2014-03-23 09:19:46 458

转载 Objective-C消息机制的原理

原文地址:http://dangpu.sinaapp.com/?p=119 在Objective-C中,message与方法的真正实现是在执行阶段绑定的,而非编译阶段。编译器会将消息发送转换成对objc_msgSend方法的调用。    objc_msgSend方法含两个必要参数:receiver、方法名(即:selector),如:   [receiver messa

2014-03-21 11:46:20 402

原创 Objective-C向nil发送消息

在Objective-C中,向nil发送消息不会crash。原因是在执行id objc_msgSend(id self, SEL op, ...) 方法时,如果self = nil,函数不执行任何有意义的操作而直接返回。 发送给nil对象的消息的返回值取决于方法的返回类型:如果方法的返回值是一个对象指针,则返回nil。如果方法的返回值是普通数据类型的指针,返回的是NULL。

2014-03-21 11:25:32 739

转载 ios nil、NULL和NSNull 的使用

原文地址:http://blog.csdn.net/xdrt81y/article/details/8981133nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表

2014-03-19 09:29:07 418

转载 iOS保存数据的4种方式

原文地址:http://www.apkbus.com/android-830-1.html  在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCodin

2014-03-13 17:21:44 781

转载 IOS Socket使用大全

原文地址:http://blog.csdn.net/ch_soft/article/details/7369705 第一部分、概念的理解1、什么是Socket?Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法,发送与接收消息。Socket描

2014-03-13 17:17:14 902

转载 IOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

原文地址:http://www.2cto.com/kf/201209/157722.html介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:G

2014-03-13 10:49:14 413

转载 去掉xcode中警告的一些经验

原文地址:http://hi.baidu.com/coolwork/item/95e7481832429551f1090ea21、编译时,编译警告忽略掉某些文件      只需在在文件的Compiler Flags 中加入 -w 参数,例如:2、编译时,编译警告忽略掉某段代码#pragma clang diagnostic

2014-03-10 16:39:27 642

build_framework.py

OpenCV和OpenCV_contrib编译为MacOS系统的framework所使用的打包脚本build_framework.py,使用方法参见博文:https://blog.csdn.net/huilibai/article/details/90207408

2019-05-14

Core Java 2 Volume I - .chm

java2核心技术卷一 英文版 chm java初学者必看书之一

2010-01-22

空空如也

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

TA关注的人

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