自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用心工作

有错误的地方 请大家谅解,和指正

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 iOS代码注释文档生成

如果需要一些高级的注释这里有一些关键字可供选择。Returns:返回值的注释写法值能出现一次。Throws:抛异常的写法,只能出现一次。Description:注释描述的写法。Parameters: 参数的写法。

2023-07-14 10:33:13 120

原创 iOS 如何防止抓包

iOS 如何防止抓包1、抓包原理为了防止被抓包那么就要了解抓包的原理。其实原理很是简单:一般抓包都是通过代理服务来冒充你的服务器,客户端真正交互的是这个假冒的代理服务,这个假冒的服务再和我们真正的服务交互,这个代理就是一个中间者 ,我们所有的数据都会通过这个中间者,所以我们的数据就会被抓取。HTTPS 也同样会被这个中间者伪造的证书来获取我们加密的数据。2、防止抓包为了数据的更安全,那么我们如何来防止被抓包。第一种思路是:如果我们能判断是否有代理,有代理那么就存在风险。第二种思路:针对HTT

2020-07-08 15:51:24 885

原创 如何在iOS中快速集成Flutter

如何在iOS中快速集成Flutter摘要:如何快速集成 Flutter 到 原生项目。集成之后如何使用flutter。一、如何快速集成集成的方式一般有两种:手动导入和pods 自动导入。手动导入就不用多说了直接把相应的framework 拖入项目即可,这种方式是比较笨重的(但也有大神自己写脚本来实现),我们来说说如何使用pods 快速集成吧。1、第一步:创建配置文件我们需要创建三个配置文件:Debug.xcconfigRelease.xcconfigFlutter.xcconfi

2020-05-29 15:15:00 951

原创 cocoaPods 私有仓库的创建和使用

cocoaPods 私有仓库的创建和使用1、创建远程的POD 仓库直接在git上创建一个空的pod仓库即可,执行pod repo add #仓库名字# 仓库地址自动回将远程私有仓库clone到 /Users/用户名/.cocoapods/repos 目录下。自此 远程仓库已经准备好了。2、创建本地的组件使用命令pod lib create [pod name]会自动创建一个本地...

2019-09-08 15:27:34 352

原创 如何将一个Git仓库迁移到另外的Git仓库

如何将一个Git仓库迁移到另外的Git仓库原文很有可能我们有这样一个需求,我们的工程使用的是A服务器的仓库来管理,突然有一天领导告诉你,让你把的工程迁移到B服务器上去,那么问题来了1、我们有有N多个分支.2、我们有N多个tag。3、我们有N多次的提交。在这种情况下我们如何来迁移了。如何把这些内容完全迁移到我们另外的一个GI 服务器上去呢?那么按照下面的方法就能解决此需求。一、第...

2019-09-08 13:55:20 1547

原创 Found an unexpected Mach-O header code

Xcode 运行报错 Found an unexpected Mach-O header code1、 其他人遇到的情况2、我遇到的问题是我不小心把 Mach-o 配置改成了 static-library所以遇到该问题先检查 这个配置是否正确...

2019-07-11 20:49:50 654

原创 如何符号化错误日志

如何符号化错误日志1、工具:symbolicatecrash xcode 自带的符号解析工具通过find /Applications/Xcode.app -name symbolicatecrash 找到路径,copy 出symbolicatecrash 工具2、开始使用工具解析新建一个目录如 crash_analyze,将symbolicatecrash 工具放入crash_...

2019-06-21 10:13:21 370

原创 Boost asio 应用

Boost asio 应用1.1 Boost asio 介绍Boost.Asio是一个跨平台的、主要用于网络和其他一些底层输入/输出编程的C++库。Boost.Asio在网络通信、COM串行端口和文件上成功地抽象了输入输出的概念。你可以基于这些进行同步或者异步的输入输出编程。作为一个跨平台的库,Boost.Asio可以在大多数操作系统上使用。能同时支持数千个并发的连接。其网络部分的灵感...

2019-01-31 18:05:08 410

原创 iOS 蓝牙技术CoreBluetooth 使用手册

最近很闲,没什么事可做,想来不能闲着,所以就想着研究下蓝牙相关的技术,所以就尝试了下,外设和中心设备都是手机,一个手机做当做虚拟外设,一个作为中心设备,尝试连接和通信一切都还顺利。当然也知道在实际开发中会遇到意想不到的问题。过来这人可以一起探讨。 文中所提有不足之处 还望指正。先谢过[抱拳]。IOS蓝牙技术—CoreBluetooth一、iOS蓝牙简述二、Core...

2018-07-27 16:26:09 1609

原创 关于UIImageJPEGRepresentation 内存的问题

最近做一个项目,使用到了要上传N个人信息到服务端,每个个人信息都有四张图,当人数增加到5个的时候,上传图片app 就会爆掉。仔细debug发现,使用UIImageJPEGRepresentation 把image转化成data的时候,如果image对象不销毁,内存就会一直增加,数量到了app就会crash掉。我相信也有很多人遇到了这样的问题,我是这样解决的,把要传的图片保存到本地,上传到了服务端之后

2017-02-19 14:29:16 2040 1

原创 ios 截屏

https://developer.apple.com/library/content/qa/qa1817/_index.html#//apple_ref/doc/uid/DTS40014134- (UIImage *)snapshot:(UIView *)view{ UIGraphicsBeginImageContextWithO

2016-10-26 09:38:57 509

原创 MAPinAnnotationView 和MAAnnotationView 区别 和自定义大头针

MAPinAnnotationView 提供类似大头针效果的annotation view ,系统预定好的一个annotation view MAAnnotationView 这个是可以自定义的 annotation view ,你可以自定义大头针,比如把图片作为大头针

2016-07-01 11:50:34 4537

转载 离屏 渲染

原文出处:http://www.tuicool.com/articles/2iYbMfE一、概念理解OpenGL中,GPU屏幕渲染有以下两种方式:On-Screen Rendering意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。Off-Screen Rendering意为离屏渲染,指的是GPU在当前屏幕缓冲区以

2016-04-16 16:14:13 660

原创 iOS 后台任务处理(多任务)

IOS 按下home键后APP就会suspended,但是我们又需要它继续执行某些操作的时候,IOS 有以下几种途径; 1:推送 当app进入后台的时候,给app发起推送的话,APP会暂时唤起执行某些操作,不过时间是有限的大概在3分钟.超过这个时间的换APP又会从新suspended掉,之后就不能再次唤起。 2:某些特定的多任务 如:VOIP,背景音乐,定位等 3

2016-03-06 16:54:53 971

原创 UILable“中文”加上“英文或者其他非中文字符”自动换行的问题

最近突然遇到了个很纠结的问题,测试的时候给label 复制“中文”+“英文字符”总长度满足换行,设置numberOfLines为0。 问题出现了,总是在中文后自动换行,经过多方查询,发现label的lineBreakMode属性默认是NSLineBreakByWordWrapping,该属性作用是以空格为边界保留单词。系统默认吧中文后边的所有英文当做了一个单词来保留,英文太长一行显示不下所以系统就

2016-03-03 23:42:47 2628

原创 swift 字符串字面量转义字符

1.转义特殊字符 \0 (空字符)、 \(反斜线)、 \t (水平制表符)、 \n (换行符)、 \r (回车符)、 \” (双引号)、 \’ (单引号)。

2015-12-19 14:32:37 3822

原创 如何给两个数组求交集

Cocoa框架中的NSPredicate用于查询,数据的过滤在用于求数组的交集时我们要用的具体如何操作请看例子: NSArray *array1= @[@"aaaa",@"bbbb",@"ccccc"];    NSArray *array2= @[@"aaaa",@"kkkk",@"ccccc"];    NSPredicate *predicate

2015-11-24 20:05:00 723

转载 swift 内存管理

不管在什么语言里,内存管理的内容都很重要,所以我打算花上比其他 tip 长一些的篇幅仔细地说说这块内容。Swift 是自动管理内存的,这也就是说,我们不再需要操心内存的申请和分配。当我们通过初始化创建一个对象时,Swift 会替我们管理和分配内存。而释放的原则遵循了自动引用计数 (ARC) 的规则:当一个对象没有引用的时候,其内存将会被自动回收。这套机制从很大程度上简化了我们的编码,我们只需要保证在

2015-11-13 09:38:05 450

转载 iOS 应用内跳转到系统设置

iOS 应用内跳转到系统设置

2015-11-03 10:41:48 426

原创 把颜色转化成图片-swift

swift 如何把 颜色直接换换成图片func creatImageWithColor(color:UIColor)->UIImage{ let rect = CGRectMake(0.0, 0.0, 1.0, 1.0) UIGraphicsBeginImageContext(rect.size) let context = UIGraphicsGet

2015-11-02 20:31:31 2160

转载 Self Sizing Cells tableView 自适应高度

在iOS 8中,苹果引入了UITableView的一项新功能–Self Sizing Cells,对于不少开发者来说这是新SDK中一项非常有用的新功能。在iOS 8之前,如果想在表视图中展示可变高度的动态内容时,你需要手动计算行高,而Self Sizing Cells为展示动态内容提供了一个解决方案。以下是你使用Self Sizing Cells时需要注意的事项:1.为原型单元格定义Auto Lay

2015-11-02 09:30:05 499

原创 Arrray 中的map和filter 函数的使用

swift 中的Array 提供了两个很方便的函数 map 和 filter使用  map 可以建立一个从A数组到B数组的一个映射,(map返回的是一个数组)例如: 我们给数组的每个元素后添加一个test var array = ["1","2","3"];         println( array.map(fx)) func fx(str:Stri

2015-09-08 16:57:48 1277

转载 iOS平台下的加密

终于把iOS平台下的加密算法调通了,在这里记录一下,并说一下遇到的N种加密问题。首先要说明一下我所遇到的需要加密的数据:向服务器端发送用户名与密码进行portal认证,当然为了显示出专业性(扯淡的说),服务器提供商要求发送经过四层加密后的数据,分别是:1、用户名、密码分别用Base64加密2、用户名,密码和发送时间相加之后进行DES加密3、对加密后的结果再进行一次Bas

2015-09-02 19:16:52 380

原创 iOS 定位 点击设置->隐私->定位 闪退的问题

当我们在开发中加入定位功能时 我们一般会在plist文件中加入NSLocationWhenInUseUsageDescription NSLocationAlwaysUsageDescription

2015-09-02 09:38:24 1175

原创 iOS 如何解析crash 日志

Symbolicatecrashxcrun atos crash log

2015-08-30 19:53:49 456

转载 iOS中关联对象的简单使用(objc_setAssociatedObject)

objc_setAssociatedObject

2015-08-24 17:59:40 406

转载 (CAPropertyAnimation、CABasicAnimation、CAKeyframeAnimation、CAAnimationGroup介绍)

(CAPropertyAnimation、CABasicAnimation、CAKeyframeAnimation、CAAnimationGroup介绍)

2015-08-21 19:59:28 683

原创 UIMenuController 的使用指南

UIMenuController

2015-08-17 20:06:03 736

转载 Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别

由 solar 在 1年前 发布元组(tuple) 元组是多个值组成的复合值类型,例如,你可以定义一个含有整形和字符串的tuplelet amout=(100,”EUR”) 当你函数需要返回多个值时,元组这个时候非常有用,你可以使用下标方式来访问元组中的值,如.0,.1以此类推,如下:let currency = money.1 // “USD” 如果想要给元组多增加些信息,你也可以给元组每个

2015-07-29 17:38:40 773

原创 swift 可选类型的解包

swift可选类型解包方式有三种: 第一种:var string:NSString? if string != nil{ println(string!) }else{ println("nil") }如果不为空就强制解包 第二种:var string:NSString? println(string ?? "nil")第三种:var string:NS

2015-07-28 17:12:11 665

原创 如何判断消息提醒是否开启

在ios8中我们要用currentUserNotificationSettings 而在8一下我们要用enabledRemoteNotificationTypes 首先我们要判断:var isIos8 = UIDevice.currentDevice().systemVersion > "8.0" if isIos8{

2015-07-28 16:18:36 538

原创 swift 之 如何在函数中把闭包作为参数 进行回调

在之前的OC中我们会经常在一个方法中使用BLOCK回调 来达到数据回传和 执行某些操作 在swift中我们使用闭包 可以达到同样的效果 自己通过对比block和各种测试 有了以下的写法 ,但是不知道之前有没有人这样写过 直接上代码: 1、首先我们定义一个包含闭包的函数,并在这个闭包中给回掉的闭包带上我们要传递的数据func blocData(resource:(content:Str

2015-07-28 14:15:09 6896

转载 swift 之 URL编码

func encodeEscapesURL(value:String) -> String { let str:NSString = value let originalString = str as CFStringRef let charactersToBeEscaped = "!*'();:@&=+$,/?%#[]" as CFStringRef

2015-07-06 17:45:37 2359 1

原创 swift 之 模仿block 界面传值

在OC中我们习惯了BlocK进行一些操作,在swift中 我们可以使用闭包来代替BLOCK 进行同样的操作 废话不多说直接上代码: 使用背景:在view中 点击BUTTON 把 selectIndex 得值传递过去 1、首先定义一个闭包 然后声明一个闭包的属性 typealias callBackFunc = (selectIndex:Int) ->Void var blockFunc

2015-07-03 10:14:55 854 1

转载 指令集

ARMv8/ARM64: iPhone 6(Plus), iPhone 5s, iPad Air(2), Retina iPad Mini(2,3) ARMv7s: iPhone 5, iPhone 5c, iPad 4 ARMv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, iPad Mini

2015-06-23 18:56:58 481

转载 ios 获取 crash 日志

#import @interface CatchCrash : NSObjectvoid uncaughtExceptionHandler(NSException *exception);@end#import "CatchCrash.h"@implementation CatchCrashvoid uncaughtExceptionHand

2015-06-12 21:28:33 360

转载 reveal 使用方法

做iOS的开发,UI是非常非常重要的一环。调试时我们一般用模拟器,提交前用真机做测试。用模拟器来调试UI效果虽然快捷方便,但有时仍然希望有更强大的工具来帮助分析UI,尤其是专注在UI的效果调试时。最近看到了Reveal这个工具,发现真的是强大无比,类似于FireFox上的FireBug,对于UI上的层的显示很清晰直观,可以很方便的用于UI的调试,用来学习UI的使用也是无上利器。     

2015-05-07 23:53:57 1086

转载 CADisplayLink以及和NSTimer的区别

什么是CADisplayLinkCADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个runloop中,并给它提供一个 target 和selector 在屏幕刷新的时候调用。一但 CADisplayLink 以特定的模式注册到runloop之后,每当屏幕需要刷新的时候,r

2015-05-06 14:37:34 602

转载 iOS 性能优化

本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的

2015-04-24 19:20:19 545

原创 如何给UITextView 添加连接

要想给UITextView 添加连接 我们要使用到 NSMutableAttributedString给 UITextView的 attributedText 添加个连接 ,这是 长按会进入到UITextView的 delegate中去  我们只需要在delegate中实现连接就好了 在这里 如果长按的时间稍微长一点调用自己的一个 action  具体的实例如下:       

2015-01-10 15:44:28 631

merge.sh

merge.sh

2022-04-13

空空如也

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

TA关注的人

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