![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
yuanmengong886
这个作者很懒,什么都没留下…
展开
-
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 · 26965 阅读 · 1 评论 -
CocoaPods详解之----制作共有库篇
CocoaPods详解之----制作篇学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为WZMarqueeView跑马灯效果的view为例,步骤如下:一、创建自己的github仓库CocoaPods都托管在github上(官方链接为:https://github转载 2017-02-25 16:42:15 · 517 阅读 · 0 评论 -
CocoaPods详解之----进阶篇
CocoaPods详解之----进阶篇作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、Podfile.lock文件上文讲过,在开始使转载 2017-02-25 17:04:14 · 252 阅读 · 0 评论 -
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 · 7050 阅读 · 1 评论 -
iOS layout 动画
约束动画并不是非常复杂的技巧,在你熟练使用约束之后,你总能创建些独具匠心的动画。在上一篇autolayout动画初体验中,我们根据监听列表视图的滚动偏移来不断改变约束值,从而制作出动画的效果。但上个动画的实现更像是我们制作了一帧帧连续的界面从而达成动画的效果 —— 这未免太过繁杂。而在本文我们将抛弃这种繁杂的方式,通过调用UIView的重绘制视图方法来实现动画。本文的动画主要存在这么几转载 2017-02-03 16:32:33 · 292 阅读 · 0 评论 -
iOS 开发中制作静态库.a、资源库.bundle、.framework
一、什么是库 库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库。 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存空间。二、什么是.a、.bundle、.framework原创 2017-02-15 15:26:19 · 1158 阅读 · 0 评论 -
WKWebView 的使用和踩过的坑
iOS8之后,苹果推出了WebKit这个框架,用来替换原有的UIWebView,新的控件优点多多,不一一叙述。由于一直在适配iOS7,就没有去替换,现在仍掉了iOS7,以为很简单的就替换过来了,然而在替换的过程中,却遇到了很多坑。还有一点就是原来写过一篇文章 Objective-C与JavaScript交互的那些事以为年代久远的UIWebView已经作古,可这篇文章现在依然有一定的阅读量。所以在决转载 2017-02-13 17:38:09 · 21266 阅读 · 1 评论 -
iOS开发经验总结
在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑)。一、 iPhone Size手机型号屏幕尺寸iPhone 4 4s320 * 480iPhone 5 5s320 * 568iPhone 6 6s375 * 667iphone 6 pl原创 2017-02-21 23:26:54 · 769 阅读 · 0 评论 -
iOS APP 本地数据存储和缓存
一 、数据存储方式 1. 使用NSUserDefaults 2. 写本地文件的方式 3. 存本地数据库 4. 使用keychain 进行数据存储二、存储的安全分析 1. NSUserDefaults iOS系统提供的一种保存信息和属性的非常普通的方法,NSUserdef原创 2017-02-21 11:00:36 · 7447 阅读 · 0 评论 -
网络安全-HTTPS单向认证和双向认证详解
一、HttpHyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。使用TCP端口为:80二、HttpsHyper Text Transfer Protocol over Secure Socke原创 2017-01-19 17:44:56 · 1717 阅读 · 0 评论 -
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 · 980 阅读 · 0 评论 -
WebKit源代码目录结构
WebKit源代码建议不要从官方的SVN源下载,实在是太大了。从nightly build里面下载,就小很多:http://nightly.webkit.org/builds/trunk/src/1WebKit的所有短代码保存在Source目录下,其他目录下多为测试程序,编译脚本等帮助WebKit开发的工具。Source目录结构如下:JavaScriptCore:JavaScr转载 2017-02-09 19:43:06 · 479 阅读 · 0 评论 -
Cocoapods详解之---创建私有仓库篇
一、概述CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便。个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开源库一样在CocoaPods中管理它们,那么通过私有仓库来管理就很必要。对于CocoaPods还不太熟悉的,建议参考一下唐巧的博客或者直接到CocoaPods的官网看看:https:转载 2017-02-25 16:18:14 · 4367 阅读 · 0 评论 -
CocoaPods详解之----使用篇
一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题如果开源转载 2017-02-25 17:00:28 · 272 阅读 · 0 评论 -
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 · 510 阅读 · 0 评论 -
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 · 603 阅读 · 0 评论 -
iOS UINavigationController 修改默认的动画
1.添加QuartzCore并引入头文件 #import 2. PushView 的动画修改 CATransition *transition = [CATransition animation]; transition.duration = 1; transition.timingFunction = [CAMediaTi转载 2017-09-05 17:43:53 · 855 阅读 · 0 评论 -
iOS-Storyboad动态刷新
iOS-Storyboad动态刷新什么叫做Storyboard动态刷新在项目开发中,如果可以在xib(storyboard)中,动态显示运行效果图,那么实在是太爽了。在Xcode 6之后就为我们提供了这样的一种方式,来实现这样的效果,通过IBInspectable和IB_DESIGNABLE 来实现。一图胜千言,请看效果图: IB_DESIGNABLE-属性介绍转载 2017-09-05 09:58:04 · 575 阅读 · 0 评论 -
iOS 代码搜身的技巧
背景苹果官方文档 对二进制 __TEXT 段大小有限制:代码实在瘦不下去怎么办?解决方案利用 rename_section 过审核,在Xcode中向 “Other Linker Flags” 中添加-Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring-Wl,-rename_section,_转载 2016-09-05 15:50:41 · 1266 阅读 · 0 评论 -
Other Linker Flags 中的 参数详解
在iOS开发中,我们用三方库时,由于other Lineker Falgs 的设置问题导致一些三方静态库或者分类没有 编译到最终到符号表中在xcode 的工程中 TARGETS -> build Settings -> other Linker Flags linking 中 链接系统的标准库 ,链接其他三方库的参数, 引用链接器参数一个iOS程序 的运行过程 预编译 -》原创 2016-09-28 09:51:53 · 3843 阅读 · 0 评论 -
"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 · 5363 阅读 · 0 评论 -
iOS 中UIPasteboard
在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。一、在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebView二、UIKit framework提供了几个类和协议方便我们在自己的应用转载 2017-03-15 21:32:47 · 2046 阅读 · 0 评论 -
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 · 13382 阅读 · 0 评论 -
iOS 安全分享
1. App数据存储的安全: 主要指在磁盘做数据持久化的时候所做的加密2. App网络传输安全:指对数据从客户端传输到Server中间过程的加密,防止网络世界当中其他节点对数据的窃听、篡改和冒充3. iOS代码安全:代码混淆、加密或者App加壳,防止逆向应用进行反编译获取应用的关键信息准备工作: 1)加密 1. base 64加密原创 2017-03-29 16:43:51 · 515 阅读 · 0 评论 -
iOS 中数据的高效解档和归档
背景 在iOS中数据的存储,无论是存储数据库(sqlite 支持的数据类型有五种NULL,整形(INT),浮点型(REAL)文本字符串(TEXT),二进制数据(BLOB) )还是存放在keychain , 或者是本地 plist 的文件 ,数据都以NSData(二进制数据)进行存储比较好,这样就牵扯到我们每定义一个新的类型,如果该数据需要义二进制数据进行存储时,必须进行归档和解档 ,每原创 2017-03-29 16:13:58 · 2218 阅读 · 0 评论 -
github 上 iOS 开源项目
动画awesome-ios-animation收集了iOS平台下比较主流炫酷的几款动画框架RCTRefreshControlqq的下拉刷新TBIconTransitionKiticon 的点击动画过渡效果PullToBounce类似百度外卖的下拉刷新动画LiquidFloatingActionButton可定制水滴型浮动动态按钮组件及演示转载 2017-03-21 10:26:59 · 1246 阅读 · 0 评论 -
Charles 的配置
1. 配置 Charles 根证书首先打开 Charles:然后如下图操作:之后会弹出钥匙串,如果不弹出,请自行打开钥匙串,如下图:系统默认是不信任 Charles 的证书的,此时对证书右键,在弹出的下拉菜单中选择『显示简介』,点击使用此证书时,把使用系统默认改为始终信任,如下图:然后关闭,就会发现 charles 的证书原创 2017-01-18 15:02:14 · 1326 阅读 · 0 评论 -
iOS 获取当前网络状态的两种方法
获取iOS网络状态,我目前知道的有两种办法。方法一:Reachability。相信大家使用最多的方法就是使用Reachability这是苹果的官方演示demo中使用到的方法。1、首先你需要下载并导入Reachability。这是苹果官方演示demo,把里面的Reachability文件拷贝到自己的工程。下载地址:https://developer.apple.com/library转载 2017-02-17 14:54:42 · 1968 阅读 · 0 评论 -
iOS本地数据安全存储
iOS本地数据存储安全移动APP通常会在设备本地存储一些数据,这可以为程序执行、更良好地性能或离线访问提供支持。由于移动设备使用地越来越广泛,设备失窃的风险也越来越大,因此不安全的本地数据存储已成为移动APP安全的主要威胁之一。攻击者可以通过一些方式获取到存储在iOS设备上的敏感信息,主要有以下方法:恶意程序 借助iOS系统的安全弱点,攻击者可以设计出一种远程偷原创 2017-01-12 15:54:02 · 5704 阅读 · 3 评论 -
iOS系统提供的RSA 不对称加密和解密和对称加密解密
对iOS平台下使用CommonCrypto与Security.framework的加密与解密,签名与签名的基本技术进行了总结。主要实现了以下功能1.非对称加密算法RSA包含公私钥的生成、公钥加密、私钥解密、私钥签名、公钥验签功能。证书信息的读取。以及密钥在KeyChain中存储,查找,删除等功能。2.对称加密算法DES、3DES、AES转载 2016-08-11 05:55:13 · 2947 阅读 · 0 评论 -
layoutSubViews (二)
在UIView里面有一个方法layoutSubviews,这个方法具体作用是什么呢? - (void)layoutSubviews; // override point. called by layoutIfNeeded automatically. As of iOS 6.0, when constraints-based layout is used the base implementa转载 2016-08-29 23:49:07 · 420 阅读 · 0 评论 -
iOS layout
ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDisp转载 2016-08-29 23:12:19 · 381 阅读 · 0 评论 -
iOS 对ipv6 的支持
iOS 支持 IPv6苹果官方文档网址链接2016年6月1日提交到App Store必须支持IPv6-only网络。大多数应用APP 不需要任何改变,因为IPv6的已经被NSURLSession、CFNetwork、NSURLConnection 支持。一、是否需要修改代码1、如果线上环境的APP 只使用域名访问,没有使用IP地址,并且没有使原创 2016-08-08 10:00:33 · 6209 阅读 · 0 评论 -
NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END详解
Nonnull区域设置(Audited Regions)如果需要每个属性或每个方法都去指定nonnull和nullable,是一件非常繁琐的事。苹果为了减轻我们的工作量,专门提供了两个宏:NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END。在#define NS_ASSUME_NONNULL_BEGIN _Pragma("cl原创 2016-08-03 09:44:42 · 9306 阅读 · 0 评论 -
iOS xcode 中代码解压缩和黄色group 和蓝色folder 的区别
在iOS中解压缩,比较知名的第三方框架 SSZipArchive在github 上使用pod 将源码下载到工程中都可以使用压缩的借口:+ (BOOL)createZipFileAtPath:(NSString *)path withFilesAtPaths:(NSArray *)paths;+ (BOOL)createZipFileAtPa原创 2016-08-05 14:57:57 · 940 阅读 · 0 评论 -
iOS tableView
一、UITableViewStylePlain1.有多段时 段头停留(自带效果)2.没有中间的间距和头部间距(要想有的重写UITableViewCell \UITableViewHeaderFooterView里面的setFrame方法)扩展:让段头不停留(取消粘性效果)- (void)scrollViewDidScroll:(UIScrollView *)scrollView原创 2016-08-01 16:06:21 · 288 阅读 · 0 评论 -
图解HTTPS
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。1转载 2016-08-04 18:22:03 · 423 阅读 · 0 评论 -
HTTPS和RSA结合的数据安全传递
一 . 客户端和服务器必须进行安全的HTTPS数据传递 服务器端: 要到固定的CA证书机构去生成根证书,存放在服务器和客户端 客户端:除了存放根证书外,还要进行使用NSURLConnection 和NSURLSession 相应的HTTPS请求设置二.iOS 中代码基于HTTPS的安全请求 1. NSURLConnection 的HTTPS请求 sta原创 2016-08-04 14:58:13 · 2828 阅读 · 0 评论 -
MAC php 安装
php这么流行,不能不研究一下。首先得找到好用的工具,见网上大神们都推荐神器phpStorm,那我也追追风,下载了一个phpStorm 7.1。平时工作都是在mac系统,所以这儿只介绍mac系统神器的配置。安装我就不用多说了嘛。安装成功后,接下来就运行。运行后当然是创建一个了新工程,简单一点,我们创建一个空工程。 刚才都说了,是空工程,那接着我们给它加点料,新建一个php文件,暂且原创 2016-08-03 18:56:18 · 1349 阅读 · 0 评论 -
转载bang的JSPatch 部署安全策略
JSPatch 部署安全策略2015-8-31使用 JSPatch 有两个安全问题:传输安全:JS 脚本可以调用任意 OC 方法,权限非常大,若被中间人攻击替换代码,会造成较大的危害。执行安全:下发的 JS 脚本灵活度大,相当于一次小型更新,若未进行充分测试,可能会出现 crash 等情况对 APP 稳定性造成影响。接下来说下这两个问题的解决方案。转载 2016-08-03 15:34:07 · 437 阅读 · 0 评论