自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

袁梦龙的博客

记录生活中技术的点点滴滴,欢迎来踩

  • 博客(106)
  • 收藏
  • 关注

原创 C和C++多平台判断代码

【代码】C和C++多平台判断代码。

2023-11-13 14:30:12 83

原创 Xcode9 xcodebuild 命令行打包遇到的坑与解决方案

主要涉及的打包脚本命令if [ $xcodeversion -lt 830 ]then#Xcode 8.3 以下打包时使用该脚本xcodebuild -exportArchive -exportFormat ipa -archivePath ./${schemeName}.xcarchive -exportPath ./${schemeName}.ipa -ex

2017-10-12 14:59:30 26925 1

转载 zlib error while attempting compression: "Ran out of output buffer for writing compressed bytes."

使用Object-C代码来实现gzip的压缩功能,不管网上找的哪个地方的代码,方法都是一样的https://github.com/cscott530/sprite-kit-platformer/blob/master/SuperKoalio/LFCGzipUtility.mhttp://www.clintharris.net/2009/how-to-gzip-data-in-memory-

2017-09-11 16:59:45 592

原创 宏的高级使用 ----#,##,__VA_ARGS__,__FILE__,__FUNCTION

一 常见宏概念先说一下本文中会提到的内容:#,##,__VA_ARGS__, __FILE__, __LINE__ , __FUNCTION__等#:  把语言符号转换成字符串 ,字符串化(stringizing)##:  宏连接符 __VA_ARGS__: 可变参数宏(C99编译器标准终于改变了这种局面,它允许你可以定义可变参数宏(variadic macros),这样你就可

2017-09-07 20:18:37 1289

原创 深入C语言可变参数(va_arg,va_list,va_start,va_end)

一  可变形参:        1. 由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定,也很难采用函数重载.对这种情况,有些人采用指针参数来解决问题.下面就c语言中处理不定参数数目的问题使用的是:可变形参      2. 在C和OC语言中编程中遇到一些参数个数可变的函数          int printf(const cha

2017-09-07 16:07:37 763

转载 iOS UINavigationController 修改默认的动画

1.添加QuartzCore并引入头文件 #import  2. PushView 的动画修改         CATransition *transition = [CATransition animation];        transition.duration = 1;        transition.timingFunction = [CAMediaTi

2017-09-05 17:43:53 845

转载 iOS-Storyboad动态刷新

iOS-Storyboad动态刷新什么叫做Storyboard动态刷新在项目开发中,如果可以在xib(storyboard)中,动态显示运行效果图,那么实在是太爽了。在Xcode 6之后就为我们提供了这样的一种方式,来实现这样的效果,通过IBInspectable和IB_DESIGNABLE 来实现。一图胜千言,请看效果图: IB_DESIGNABLE-属性介绍

2017-09-05 09:58:04 566

转载 iOS大量使用圆角影响性能的原因

iOS设备的硬件时钟会发出Vsync(垂直同步信号),然后App的CPU会去计算屏幕要显示的内容,之后将计算好的内容提交到GPU去渲染。随后,GPU将渲染结果提交到帧缓冲区,等到下一个VSync到来时将缓冲区的帧显示到屏幕上。也就是说,一帧的显示是由CPU和GPU共同决定的。ios_frame_drop.png从上图可以看出,第三个Vsyc到来时GPU还没有渲染好,

2017-08-31 09:50:12 801

转载 ReactNative 的调试技巧和心得

在做React Native开发时,少不了的需要对react Native程序进行调试。调试程序是每一位开发者的基本功,高效的调试不仅能提高开发效率,也能降低Bug率。本文将向大家分享React Native程序调试的一些技巧和心得。Developer MenuDeveloper Menu是react native给开发者定制的一个开发者菜单,来帮助开发者调试React Nat

2017-07-07 19:01:52 428

转载 Node- swig模版引擎

简介swig 是node端的一个优秀简洁的模板引擎,类似Python模板引擎Jinja,目前不仅在node端较为通用,相对于jade、ejs优秀,而且在浏览器端也可以很好地运行。这是官方文档。语法swig的变量{{ foo.bar }}{{ foo['bar'] }}//如果变量未定义,输出空字符。123123swig的标签extends

2017-07-03 15:40:26 661

原创 使用Node 搭建HTTPS服务

HTTPS 理论 1.对HTTPS 原理 前面已经讲过,不在赘述: HTTPS原文链接http://blog.csdn.net/yuanmengong886/article/details/546183512. 数字证书   是一种用于电脑的身份识别机制。由数字证书颁发机构(CA)对使用私钥创建的签名请求文件做的签名(盖章),表示CA结构对证书持有者

2017-06-22 14:30:32 7114

转载 HTTPS中的对称密钥加密,公开密钥加密,数字证书

HTTPS中的对称密钥加密,公开密钥加密,数字证书密钥我们将未加密的内容称为明文,加密之后的内容称为密文。简单来说,要加密一段明文,可以将这段内容输入到一个加密函数中,输出密文。但这种简单的加密方式存在被人盗取到加密函数从而破解明文的危险,且加密函数一般构成复杂,一旦被盗取更换成本较高。于是人们想出了一个办法,在加密函数中再添加一个参数,这个参数只有通信双方知道,没

2017-06-22 01:40:39 2206

转载 Nodejs中使用Log4js

因为log4js-node从log4js移植而来,两者并不属于同一个模块,也有很多区别,下面为了区分和防止误解统一使用“log4js-node”这个名称,注意nodejs代码中引入模块时还是要用“require(‘log4js’)”。1. 快速开始1.1. 简单终端log先看一下使用log4js-node 最简单的代码:运行的结果如下:首先l

2017-06-12 19:36:35 1220

转载 浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结

浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结1.map有返回值,返回一个新的数组,每个元素为调用func的结果。?123456let list = [1, 2, 3, 4, 5];let

2017-05-05 10:41:25 557

转载 线程和线程池的故事

我是一个线程, 我一出生就被编了个号: 0×3704, 然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。我身边的同伴0×6900 待的时间比较长, 他带着沧桑的口气对我说:我们线程的宿命就是处理包裹。 把包裹处理完以后还得马上回到这里,否则可能永远回不来了。我一脸懵懂,包裹,什么包裹?”不要着急,马上你就会明白了, 我们这里是不养闲人的。“

2017-04-26 19:18:28 396 1

转载 CSS之Position详解

CSS的很多其他属性大多容易理解,比如字体,文本,背景等。有些CSS书籍也会对这些简单的属性进行大张旗鼓的介绍,而偏偏忽略了对一些难缠的属性讲解,有避重就轻的嫌疑。CSS中主要难以理解的属性包括盒型结构,以及定位。正如positioniseverything,本文将主要讲述关于position的理解,力求让您看完本文后对position有着最全面的认识。position的四个属性值

2017-04-22 14:11:27 737

原创 "performSelector may cause a leak because its selector is unknown"警告原因及其解决办法

问题:       在项目中遇到使用字符串来创建 选择器,编译时发现警告:"PerformSelector may cause a leak because its selector is unknown"参考文档:http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-it

2017-04-11 11:48:21 5354

转载 iOS编译过程的原理和应用

原博客地址:http://blog.csdn.net/hello_hwc/article/details/53557308前言一般可以将编程语言分为两种,编译语言和直译式语言。像C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。像JavaScript,Python都是直译

2017-04-10 15:15:20 777

原创 MAC 下 defaults 命令详解

defaults:该命令 访问和修改Mac 上一些系统的默认设置(access the Mac OS X user defaults system)1 隐藏DashBoard12defaults write com.apple.dashboard mcx-disabled -boolean YESkillall Dock

2017-04-10 11:05:44 13238

原创 iOS 安全分享

1. App数据存储的安全: 主要指在磁盘做数据持久化的时候所做的加密2. App网络传输安全:指对数据从客户端传输到Server中间过程的加密,防止网络世界当中其他节点对数据的窃听、篡改和冒充3. iOS代码安全:代码混淆、加密或者App加壳,防止逆向应用进行反编译获取应用的关键信息准备工作:   1)加密            1. base 64加密

2017-03-29 16:43:51 505

原创 iOS 中数据的高效解档和归档

背景  在iOS中数据的存储,无论是存储数据库(sqlite  支持的数据类型有五种NULL,整形(INT),浮点型(REAL)文本字符串(TEXT),二进制数据(BLOB) )还是存放在keychain , 或者是本地 plist 的文件 ,数据都以NSData(二进制数据)进行存储比较好,这样就牵扯到我们每定义一个新的类型,如果该数据需要义二进制数据进行存储时,必须进行归档和解档 ,每

2017-03-29 16:13:58 2204

转载 github 上 iOS 开源项目

动画awesome-ios-animation收集了iOS平台下比较主流炫酷的几款动画框架RCTRefreshControlqq的下拉刷新TBIconTransitionKiticon 的点击动画过渡效果PullToBounce类似百度外卖的下拉刷新动画LiquidFloatingActionButton可定制水滴型浮动动态按钮组件及演示

2017-03-21 10:26:59 1232

转载 iOS 中UIPasteboard

在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。一、在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebView二、UIKit framework提供了几个类和协议方便我们在自己的应用

2017-03-15 21:32:47 2030

原创 iOS NSValue 和 @encode 详解

一、NSValue 很有用的包装对象的两个用法 NSData*data = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:@"www.baidu.com"]]; /** 用 NSValue 包装 Objective-C 对象 */ NSValue *value = [NSValue valueWithB

2017-02-28 10:51:31 961

转载 Cocoapods详解之---进阶篇2

CocoaPods 详解之----更新篇博客原地址:http://foggry.com/blog/2016/03/23/cocoapods-xiang-jie-zhi-geng-xin-pian/CocoaPods 大概是 2011 年出现的开源组件管理工具(目前已支持 Objective-C 和 Swift),近年来普及率越来越高,几乎已是所有 Coc

2017-02-25 17:23:40 504

转载 CocoaPods详解之----进阶篇

CocoaPods详解之----进阶篇作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、Podfile.lock文件上文讲过,在开始使

2017-02-25 17:04:14 246

转载 CocoaPods详解之----使用篇

一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题如果开源

2017-02-25 17:00:28 268

转载 CocoaPods详解之----制作共有库篇

CocoaPods详解之----制作篇学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为WZMarqueeView跑马灯效果的view为例,步骤如下:一、创建自己的github仓库CocoaPods都托管在github上(官方链接为:https://github

2017-02-25 16:42:15 511

原创 Cocoapods: pod search无法搜索到类库的解决办法

缘由按照往常的方法一样安装Cocoapods,在安装的过程中遇到了一切问题,按照传统的命令sudo gem install cocoapods出现了如下的错误:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod然后再stackoverflow上找到

2017-02-25 16:32:56 7026 1

转载 Cocoapods详解之---创建私有仓库篇

一、概述CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便。个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开源库一样在CocoaPods中管理它们,那么通过私有仓库来管理就很必要。对于CocoaPods还不太熟悉的,建议参考一下唐巧的博客或者直接到CocoaPods的官网看看:https:

2017-02-25 16:18:14 4351

原创 iOS开发经验总结

在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑)。一、 iPhone Size手机型号屏幕尺寸iPhone 4 4s320 * 480iPhone 5 5s320 * 568iPhone 6 6s375 * 667iphone 6 pl

2017-02-21 23:26:54 762

原创 iOS APP 本地数据存储和缓存

一 、数据存储方式      1. 使用NSUserDefaults       2. 写本地文件的方式      3. 存本地数据库      4. 使用keychain 进行数据存储二、存储的安全分析     1. NSUserDefaults           iOS系统提供的一种保存信息和属性的非常普通的方法,NSUserdef

2017-02-21 11:00:36 7409

转载 iOS 获取当前网络状态的两种方法

获取iOS网络状态,我目前知道的有两种办法。方法一:Reachability。相信大家使用最多的方法就是使用Reachability这是苹果的官方演示demo中使用到的方法。1、首先你需要下载并导入Reachability。这是苹果官方演示demo,把里面的Reachability文件拷贝到自己的工程。下载地址:https://developer.apple.com/library

2017-02-17 14:54:42 1938

原创 iOS 开发中制作静态库.a、资源库.bundle、.framework

一、什么是库       库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库。       静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝。       动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存空间。二、什么是.a、.bundle、.framework

2017-02-15 15:26:19 1143

转载 WKWebView 的使用和踩过的坑

iOS8之后,苹果推出了WebKit这个框架,用来替换原有的UIWebView,新的控件优点多多,不一一叙述。由于一直在适配iOS7,就没有去替换,现在仍掉了iOS7,以为很简单的就替换过来了,然而在替换的过程中,却遇到了很多坑。还有一点就是原来写过一篇文章 Objective-C与JavaScript交互的那些事以为年代久远的UIWebView已经作古,可这篇文章现在依然有一定的阅读量。所以在决

2017-02-13 17:38:09 21222 1

原创 C++ 中的四种类型转换

C++的四种cast操作符的区别并非我的原创----------------------------------------------------------------------Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从

2017-02-13 15:21:22 434

转载 深入正则表达式应用

前面已经写过一篇文章《我眼里的正则表达式(入门)》介绍过正则表达式的基础和基本套路正则三段论:定锚点,去噪点,取数据了,接下来这篇文章,补充一点相对高级的概念: 1. 概念一:按单字符匹配 2. 概念二:匹配优先和不匹配优先 3. 概念三:贪婪模式与非贪婪模式 4. 概念四:环视(断言) 5. 概念五:平衡组 6. 概念六:模式修饰符 7.

2017-02-12 01:09:33 527

转载 JS 中call 和apply 详解

[javascript] view plain copyJs apply方法详解  我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提

2017-02-10 15:16:12 309

转载 WebKit源代码目录结构

WebKit源代码建议不要从官方的SVN源下载,实在是太大了。从nightly build里面下载,就小很多:http://nightly.webkit.org/builds/trunk/src/1WebKit的所有短代码保存在Source目录下,其他目录下多为测试程序,编译脚本等帮助WebKit开发的工具。Source目录结构如下:JavaScriptCore:JavaScr

2017-02-09 19:43:06 467

转载 JavaScriptCore 详解

本博客主要分以下几个方面来介绍iOS中的JavaScriptCoreJavaScriptCore简介JavaScriptCore中主要的类JSContextJSValueJSExportJSManagedValueJSVirtualMachineNative Code 和 JS 之间的互相调用Native Code 与UIWebView中的JS交互Native Code

2017-02-07 11:46:25 4558

空空如也

空空如也

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

TA关注的人

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