个人
ERIC_dayang
这个作者很懒,什么都没留下…
展开
-
iOS代码注释文档生成
如果需要一些高级的注释这里有一些关键字可供选择。Returns:返回值的注释写法值能出现一次。Throws:抛异常的写法,只能出现一次。Description:注释描述的写法。Parameters: 参数的写法。原创 2023-07-14 10:33:13 · 154 阅读 · 0 评论 -
iOS 如何防止抓包
iOS 如何防止抓包1、抓包原理为了防止被抓包那么就要了解抓包的原理。其实原理很是简单:一般抓包都是通过代理服务来冒充你的服务器,客户端真正交互的是这个假冒的代理服务,这个假冒的服务再和我们真正的服务交互,这个代理就是一个中间者 ,我们所有的数据都会通过这个中间者,所以我们的数据就会被抓取。HTTPS 也同样会被这个中间者伪造的证书来获取我们加密的数据。2、防止抓包为了数据的更安全,那么我们如何来防止被抓包。第一种思路是:如果我们能判断是否有代理,有代理那么就存在风险。第二种思路:针对HTT原创 2020-07-08 15:51:24 · 989 阅读 · 0 评论 -
如何在iOS中快速集成Flutter
如何在iOS中快速集成Flutter摘要:如何快速集成 Flutter 到 原生项目。集成之后如何使用flutter。一、如何快速集成集成的方式一般有两种:手动导入和pods 自动导入。手动导入就不用多说了直接把相应的framework 拖入项目即可,这种方式是比较笨重的(但也有大神自己写脚本来实现),我们来说说如何使用pods 快速集成吧。1、第一步:创建配置文件我们需要创建三个配置文件:Debug.xcconfigRelease.xcconfigFlutter.xcconfi原创 2020-05-29 15:15:00 · 976 阅读 · 0 评论 -
如何给两个数组求交集
Cocoa框架中的NSPredicate用于查询,数据的过滤在用于求数组的交集时我们要用的具体如何操作请看例子: NSArray *array1= @[@"aaaa",@"bbbb",@"ccccc"]; NSArray *array2= @[@"aaaa",@"kkkk",@"ccccc"]; NSPredicate *predicate原创 2015-11-24 20:05:00 · 772 阅读 · 0 评论 -
iOS 应用内跳转到系统设置
iOS 应用内跳转到系统设置转载 2015-11-03 10:41:48 · 462 阅读 · 0 评论 -
把颜色转化成图片-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 · 2192 阅读 · 0 评论 -
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 · 1289 阅读 · 0 评论 -
(CAPropertyAnimation、CABasicAnimation、CAKeyframeAnimation、CAAnimationGroup介绍)
(CAPropertyAnimation、CABasicAnimation、CAKeyframeAnimation、CAAnimationGroup介绍)转载 2015-08-21 19:59:28 · 724 阅读 · 0 评论 -
iOS 定位 点击设置->隐私->定位 闪退的问题
当我们在开发中加入定位功能时 我们一般会在plist文件中加入NSLocationWhenInUseUsageDescription NSLocationAlwaysUsageDescription原创 2015-09-02 09:38:24 · 1229 阅读 · 0 评论 -
UIMenuController 的使用指南
UIMenuController原创 2015-08-17 20:06:03 · 758 阅读 · 0 评论 -
iOS 如何解析crash 日志
Symbolicatecrashxcrun atos crash log原创 2015-08-30 19:53:49 · 480 阅读 · 0 评论 -
swift 之 如何在函数中把闭包作为参数 进行回调
在之前的OC中我们会经常在一个方法中使用BLOCK回调 来达到数据回传和 执行某些操作 在swift中我们使用闭包 可以达到同样的效果 自己通过对比block和各种测试 有了以下的写法 ,但是不知道之前有没有人这样写过 直接上代码: 1、首先我们定义一个包含闭包的函数,并在这个闭包中给回掉的闭包带上我们要传递的数据func blocData(resource:(content:Str原创 2015-07-28 14:15:09 · 6982 阅读 · 0 评论 -
UILable“中文”加上“英文或者其他非中文字符”自动换行的问题
最近突然遇到了个很纠结的问题,测试的时候给label 复制“中文”+“英文字符”总长度满足换行,设置numberOfLines为0。 问题出现了,总是在中文后自动换行,经过多方查询,发现label的lineBreakMode属性默认是NSLineBreakByWordWrapping,该属性作用是以空格为边界保留单词。系统默认吧中文后边的所有英文当做了一个单词来保留,英文太长一行显示不下所以系统就原创 2016-03-03 23:42:47 · 2680 阅读 · 0 评论 -
iOS 后台任务处理(多任务)
IOS 按下home键后APP就会suspended,但是我们又需要它继续执行某些操作的时候,IOS 有以下几种途径; 1:推送 当app进入后台的时候,给app发起推送的话,APP会暂时唤起执行某些操作,不过时间是有限的大概在3分钟.超过这个时间的换APP又会从新suspended掉,之后就不能再次唤起。 2:某些特定的多任务 如:VOIP,背景音乐,定位等 3原创 2016-03-06 16:54:53 · 1021 阅读 · 0 评论 -
MAPinAnnotationView 和MAAnnotationView 区别 和自定义大头针
MAPinAnnotationView 提供类似大头针效果的annotation view ,系统预定好的一个annotation view MAAnnotationView 这个是可以自定义的 annotation view ,你可以自定义大头针,比如把图片作为大头针原创 2016-07-01 11:50:34 · 4569 阅读 · 0 评论 -
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 · 400 阅读 · 0 评论 -
如何将一个Git仓库迁移到另外的Git仓库
如何将一个Git仓库迁移到另外的Git仓库原文很有可能我们有这样一个需求,我们的工程使用的是A服务器的仓库来管理,突然有一天领导告诉你,让你把的工程迁移到B服务器上去,那么问题来了1、我们有有N多个分支.2、我们有N多个tag。3、我们有N多次的提交。在这种情况下我们如何来迁移了。如何把这些内容完全迁移到我们另外的一个GI 服务器上去呢?那么按照下面的方法就能解决此需求。一、第...原创 2019-09-08 13:55:20 · 1611 阅读 · 0 评论 -
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 · 700 阅读 · 0 评论 -
如何符号化错误日志
如何符号化错误日志1、工具:symbolicatecrash xcode 自带的符号解析工具通过find /Applications/Xcode.app -name symbolicatecrash 找到路径,copy 出symbolicatecrash 工具2、开始使用工具解析新建一个目录如 crash_analyze,将symbolicatecrash 工具放入crash_...原创 2019-06-21 10:13:21 · 440 阅读 · 0 评论 -
Boost asio 应用
Boost asio 应用1.1 Boost asio 介绍Boost.Asio是一个跨平台的、主要用于网络和其他一些底层输入/输出编程的C++库。Boost.Asio在网络通信、COM串行端口和文件上成功地抽象了输入输出的概念。你可以基于这些进行同步或者异步的输入输出编程。作为一个跨平台的库,Boost.Asio可以在大多数操作系统上使用。能同时支持数千个并发的连接。其网络部分的灵感...原创 2019-01-31 18:05:08 · 448 阅读 · 0 评论 -
iOS 蓝牙技术CoreBluetooth 使用手册
最近很闲,没什么事可做,想来不能闲着,所以就想着研究下蓝牙相关的技术,所以就尝试了下,外设和中心设备都是手机,一个手机做当做虚拟外设,一个作为中心设备,尝试连接和通信一切都还顺利。当然也知道在实际开发中会遇到意想不到的问题。过来这人可以一起探讨。 文中所提有不足之处 还望指正。先谢过[抱拳]。IOS蓝牙技术—CoreBluetooth一、iOS蓝牙简述二、Core...原创 2018-07-27 16:26:09 · 1657 阅读 · 0 评论 -
关于UIImageJPEGRepresentation 内存的问题
最近做一个项目,使用到了要上传N个人信息到服务端,每个个人信息都有四张图,当人数增加到5个的时候,上传图片app 就会爆掉。仔细debug发现,使用UIImageJPEGRepresentation 把image转化成data的时候,如果image对象不销毁,内存就会一直增加,数量到了app就会crash掉。我相信也有很多人遇到了这样的问题,我是这样解决的,把要传的图片保存到本地,上传到了服务端之后原创 2017-02-19 14:29:16 · 2120 阅读 · 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 · 554 阅读 · 0 评论 -
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 · 727 阅读 · 0 评论 -
如何判断消息提醒是否开启
在ios8中我们要用currentUserNotificationSettings 而在8一下我们要用enabledRemoteNotificationTypes 首先我们要判断:var isIos8 = UIDevice.currentDevice().systemVersion > "8.0" if isIos8{原创 2015-07-28 16:18:36 · 562 阅读 · 0 评论 -
iOS 如何实现 语音朗读
在IOS开发中 我们可以使用 AVSpeechSynthesizer 和 AVSpeechUtterance 这两个类 实现简单的语音朗读 具体事例代码如下 AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizeralloc] init]; AVSpeechUtterance *utteran原创 2015-01-10 14:12:43 · 2654 阅读 · 0 评论 -
关于 UIWebView reload 失效的 一种情况
最近在使用UIWebView ,在没有加载成功的时候希望能 reload webView , 但是在使用 reload 的时候发现 不起作用,然后在网上一搜 发现也有人会出先这种问题,但是没有解决的办法, 最后也只能自己摸索。最后发现是我把网络关闭了 ,为了测试失败的情况 我故意关闭了WiFi 这样就会加载失败,但是这样一来 第一次就会加载失败的, 为了测试 是不是与网络有关 我打开原创 2015-01-09 14:25:31 · 1896 阅读 · 0 评论 -
iOS 如何调节屏幕亮度
在我们的应用中如何调节屏幕的亮度屏幕的亮度我们可以再设置中调节,但是要在我们的应用中如何调节呢大家发现 在 UIScreen 这个类中 有个属性 brightness 就是设置亮度的属性原创 2015-01-08 19:15:14 · 691 阅读 · 0 评论 -
如何改变 status bar 的属性
如何改变 status bar 的属性之前 要隐藏状态栏 在代码中 设置了 [[UIApplicationsharedApplication]setStatusBarHidden:YESwithAnimation:UIStatusBarAnimationNone];但是不起作用 最后 发现 要把 plist 文件中的 View controller-based st原创 2015-01-08 17:57:02 · 548 阅读 · 0 评论 -
swift 学习(2)get set willSet and didSet
1、get and set (calculated property)原创 2014-11-19 09:56:33 · 3615 阅读 · 0 评论 -
swift 学习(1)
基础部分基础部分这块 对于我个人来说值得注yi原创 2014-11-18 22:14:38 · 512 阅读 · 0 评论 -
mogenerator and coredata
mogenerator -m /Users/shinemo/Documents/Hospital_git/community_ios/CommunityHealth/coreData/WomenAndChild.xcdatamodeld/WomenAndChild.xcdatamodel -M /Users/shinemo/Documents/Hospital_git/community_ios原创 2014-11-18 10:26:45 · 490 阅读 · 0 评论 -
image blur
/// image blur- (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur { if ((blur 0.0f) || (blur >1.0f)) { blur =0.5f; } int boxSize = (int)(blur原创 2014-11-17 20:09:34 · 659 阅读 · 0 评论 -
CABasicAnimation用法
+(CABasicAnimation *)opacityForever_Animation:(float)time //永久闪烁的动画 { CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"opacity"]; animation.fromValue=[NSNumber转载 2014-09-28 11:53:04 · 456 阅读 · 0 评论 -
IOS 加速计
加速计(UIAccelerometer)是一个单例模式的类,所以需要通过方法sharedAccelerometer获取其唯一的实例。加速计需要设置的主要有两个:一个是设置其代理,用以执行获取加速计信息的方法; 另一个是设置加速计获取信息的频率。 最高支持每秒100次。UIAccelerometer *accelerometer = [UIAccelerometersharedA原创 2014-07-18 17:35:43 · 823 阅读 · 0 评论 -
如何从屏幕边界来 检测手势
在UIKit中 UIScreenEdgePanGestureRecognizer 是加在屏幕边界的一种手势 他继承自 UIPanGestureRecognizer 例如 UIScreenEdgePanGestureRecognizer *recognizer = [[UIScreenEdgePanGestureRecognizeralloc] init原创 2015-01-10 14:21:51 · 776 阅读 · 0 评论 -
关于如何显示 html 格式的文本内容
最近在做项目时 遇到服务端返回的数据是带有 html格式的文本 要按照这个格式显示一时不知怎么办 经过查找资料 发现 NSAttributedString 是可以做到的 它支持HTML文本具体的实现代码是 NSMutableAttributedString *attrStr = [[NSMutableAttributedStringalloc]initWithData:原创 2015-01-10 13:57:38 · 1135 阅读 · 0 评论 -
如何给UITextView 添加连接
要想给UITextView 添加连接 我们要使用到 NSMutableAttributedString给 UITextView的 attributedText 添加个连接 ,这是 长按会进入到UITextView的 delegate中去 我们只需要在delegate中实现连接就好了 在这里 如果长按的时间稍微长一点调用自己的一个 action 具体的实例如下:原创 2015-01-10 15:44:28 · 656 阅读 · 0 评论 -
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 · 2411 阅读 · 1 评论 -
ios 获取 crash 日志
#import @interface CatchCrash : NSObjectvoid uncaughtExceptionHandler(NSException *exception);@end#import "CatchCrash.h"@implementation CatchCrashvoid uncaughtExceptionHand转载 2015-06-12 21:28:33 · 380 阅读 · 0 评论