自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yohunl的专栏

yohunl的技术

  • 博客(67)
  • 资源 (11)
  • 收藏
  • 关注

原创 论项目中静态库符号冲突的几种解决方式

在实际项目过程中,我们经常会碰到引入三方的静态库后出现符号冲突的现象,也就是出现 duplicate symbols 错误,那么如何解决这类冲突呢?这里我们区分几种不同的冲突情况最复杂的情况: 项目中使用的 libSDKA.a 和 libSDKB.a中有符号冲突,这里假定两者都包含了很多同名的代码等这里,两者重复的符号,并一定是在同一个文件中,或者即使在同一个.o中,但是,鬼知道它们有没有对这些重复符号的类啥的方法添加了另外的内容,也就是说即使它们两包含了同一份代码,也可能是并不兼容的两个版本.这里

2020-10-28 17:25:47 3246

原创 利用xcodeproj给主工程添加子工程

现在,ccocoapods已经成为iOS工程的标配,在这个工具的开发过程中,开源了一个专门用来操作工程的.xcodeproj文件的ruby库Xcodeproj,利用它,我们自己也可以用ruby脚本来添加和删除工程中的文件等,做到自动化操作问题的提出在我们的组件化过程中,是通过子工程的方式来建立业务组件的.可能有人会问,为什么不用pod来建立业务组件呢?其实当时也有考虑过,pod更适合已经比...

2019-04-04 13:03:55 1368 1

原创 iPhoneX利用unc0ver来越狱iOS12

在iOS11时代,有两种越狱的方式,一种是unc0ver,一种是electra,它两的历史还是挺有趣的,unc0ver的开发者本来是electra的成员,但由于不满某些东西,所以自己出来又搞了unc0ver,说是改进了越狱错误显示等,更加友好了,不过我亲身体验了两种,发现unc0ver各种不稳定,并不是像他们自己标榜的那样优势啊,可见,还是实践出真知啊前言2.22日 unc0ver的成员在...

2019-02-25 14:42:49 4243 2

原创 podfile文件用到的Ruby语言的学习和使用

序言在我们的iOS开发中,现在的cocoapods已经是事实上的添加第三方库的标准方式了.在cocoapods中的podfile文件就是利用Ruby语言写的一款DSL(Domain Specific Language,领域特定语言).Ruby简介在Ruby的维基百科Ruby(翻墙才能访问)上的说明:Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。 在20世纪90年代中期由日本电...

2018-10-02 16:51:28 1482

原创 XCode10的新变化

XCode的正式版已经发布一个星期了,是时候总结一下XCode的新变化了.1 调试预览的增强xcode10 提供了新的调试时候对(NS)data的导出预览功能这里的Export,可以导出我们预览的NSData的内容,保存到一个文件中去,然后选择第三方的工具去打开这个保存下来的Data内容.2 对于xib的增强当我们在代码里,点击IBOutlet元素,会弹出它所对应的在xib中的控件...

2018-10-01 15:15:07 2765

原创 怎么查看appstore的app所使用的xcode版本

前景:我们用xcode10来编译了个app上传到appstore,然后发现了一个超级严重的问题,就是在iOS9系统的设备上,下载下来后,界面直接就卡死的,还有些是点击就crash. 针对这个问题,我们去找寻了下问题所在.然后发现这个是xcode10的问题.但微信却没问题,所以就有了查看线上的微信是用xcode几编译的需求拿到appstore的微信的ipa包我们可以直接在电脑上的pp助手上来...

2018-09-30 16:40:46 2792

原创 APP逆向分析之XX音乐客户端下载歌曲权限绕过

很长一段时间没有做逆向分析相关的研究了,最近看了一部电影,电影有首插曲名字叫不见不散,那是相当的好听啊,打开XX音乐,准备下载,额….弹出付费才能下载….为了一首歌,开一个包月服务,显然不是我这个搞过逆向的人该干的事啊,于是想着,看看能否逆向分析一番,从而可以直接下载这首歌呢.序言虽然是米国的苹果开发的iOS系统,但是要论越狱iPhone和逆向分析的工具和相对应的环境来说,那国...

2018-03-18 23:15:48 2615 2

原创 XCode9打包上传遇到的问题和解决方式

昨天升级的XCode9正式版,今天打包后,提交App Store的时候遇到了如下的错误iTunes Store Operation Failed description length:6193045 iTunes Store Operation Failed ERROR ITMS-90022: "Missing required icon file. The bundle does not

2017-09-22 17:57:56 19330 9

原创 XCode9的新变化

XCode9的新变化 XCode9已经随着ios11的发布发布了,那么在这个XCode9版本中有哪些变化呢?1. 折叠代码焦点在方法的实现体的方法名上,按comman键,则整个函数会被框住.用来标志这个方法的起点和终点此时单击,出现菜单 在菜单里,有个Fold,可以用来折叠方法,这个折叠现在有个动画效果在其它上面点击 常用的重构方式都已经集成在这个右键弹出菜单中了,可见,XCode9对

2017-09-21 20:02:25 1217

原创 APP逆向分析之钉钉抢红包插件的实现-iOS篇

钉钉抢红包的实现越狱开发

2016-12-12 17:29:05 10690 2

原创 OC代码规范的spacecommander使用

OC代码规范git hooks规范xcodeobjective-c

2016-11-22 11:22:48 2998

原创 iOS监控/监测/监听文件/文件夹的变化 检测文件变化

我们有些时候,需要监测一个文件/文件夹的变化,例如在某个文件被修改的时候,可以获取到通知,或者我们有个播放列表是扫描某个文件夹下的所有文件,那么当这个目录新添或者删除一些文件后,我们的播放列表要同步更新,这种情况下,我们都需要监听文件/文件夹的变化

2016-11-18 11:38:23 4777

原创 iOS 越狱的Tweak开发

iOS 越狱的Tweak开发 iOS越狱开发中,各种破解补丁的统称为Tweak,通常意义上我们说的越狱开发,都是指开发一个Tweak. 基本上,tweak都依赖于一个名叫cydia Substrate (以前名字也叫mobile Substrate)的动态库,Mobile Substrate是Cydia的作者Jay Freeman (@saurik)的作品,也叫Cydia Substrat

2016-08-01 14:36:18 11694 2

原创 谈谈改变 UIAlertView 和 UIActionSheet 的颜色

iOS8及以上应该使用的方式对于>=iOS8来说, UIAlertView,UIActionSheet都被 UIAlertController替代了, 建立一个 UIAlertView的方式UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Title"

2016-07-11 11:35:54 9682

原创 respondsToSelector和 instancesRespondToSelector的理解

respondsToSelector 和 instancesRespondToSelector是两个常用的方法,我们经常使用 someObject respondsToSelector,但是对于它和instancesRespondToSelector之间有什么区别?首先先看两个方法的声明@interface NSObject <NSObject>+ (BOOL)instancesRespondT

2016-07-01 11:15:31 2178

原创 iOS日志获取和实时浏览器显示日志

NSLog的重定向,实时在浏览器展示ASL接口获取app的日志等

2016-06-15 16:09:38 10458

原创 iOS Universal Links(通用链接)

简介什么是Universal Links(通用链接)? 这是iOS9推出的一项功能,如果你的应用支持Universal Links(通用链接),那么就能够方便的通过传统的HTTP链接来启动APP(如果iOS设备上已经安装了你的app,不需要额外做任何判断等), 或者打开网页(iOS设备上没有安装你的app).或许可以更简单点来说明,在iOS9之前,对于从各种从浏览器,Safari、UIWebVie

2016-04-01 13:08:24 16681 4

翻译 怎样创建一个xcode插件 第2部分/3部分

本文翻译自 https://www.raywenderlich.com/97756/creating-an-xcode-plugin-part-2原作者:Derek Selander译者:@yohunl译者注:原文使用的是xcode6.3.2,我翻译的时候,使用的是xcode7.2.1,经过验证,本部分中说的依然是有效的.在文中你可以学习到一系列的技能,非常值得一看.这些技能不单单只是用来创建插件,

2016-03-30 02:03:34 1829

原创 HTTP/HTTPS抓包工具Charles

Charles是一款抓包神器,它是Java开发的跨平台的软件,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,他是收费的,当然,如果不付费,也能使用,只是每过十分钟,就会弹出一个对话框.charles官网 当然了,网上还是有破解版的,怎么下载破解的,就不用我说了,直接百度或谷歌吧. HTTP抓包http抓包比较简单,基本上只

2016-03-30 02:01:08 19798

翻译 怎样创建一个xcode插件 第一部分/3部分

在这个不算短的三部分教程中,你将创建一个xcode的插件来娱乐你的同事,其特色莫过于显示的内容并不是他所期望看到的!尽管这个插件是很轻量级的,你仍然可以学习到很多知识,例如,通过调试xcode,怎样找出你感兴趣的元素并且修改它,怎样将系统的功能函数替换为你自己的函数(通过swizzle技术)!

2016-03-07 08:45:56 1730

原创 iOS中的正则表达式

在iOS中,系统自带的正则类是 NSRegularExpression初始化 + (nullable NSRegularExpression *)regularExpressionWithPattern:(NSString *)pattern options:(NSRegularExpressionOptions)options error:(NSError **)error;使用实例: NS

2016-03-01 10:54:10 1668

原创 xcode7 插件制作入门

概述我们平时也使用了很多的xcode插件,虽然官方对于插件制作没有提供任何支持,但是加载三方的插件,默认还是被允许的.第三方的插件,需要存放在 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins文件夹中,后缀名必须是.xcplugin (不过其实际上是一种bundle). 所以我们创建一个插件工程,直接创建bundle工程即可

2016-02-05 14:56:06 2745

原创 NSTimer和实现弱引用的timer的方式

NSTimer弱引用Objective-C

2016-01-31 22:44:48 9237 1

原创 cocoapods应用第二部分-私有库相关

利用cocoapods建立私有库 本地库 framework

2015-09-15 18:25:13 6387 1

原创 cocoapods应用第一部分-xcode创建.framework相关

问题的提出:随着项目的越来越大,可能会出现好几个团队共同维护一个项目的情况,例如:项目组A负责其中的A块,项目组B负责其中的B块.....这几块彼此之间既独立,也相互联系.对于这种情况,可以采用约定的方式,比如,你只修改你那块,不要修改公共的.如果要修改公共的,那么必须要通知一下其它组,大家共同决定怎么修改,这种方式有一个很大的问题,很有可能不经意间就改了别的团队的代码.还有维护的越来越复杂等

2015-08-26 00:10:41 10324 4

原创 怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32

问题描述 在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有没有办法去掉这些烦人的警告,不然一个工程几百个警告,你看着怎么都不爽吧.我们怎么去掉警告呢1.最直接,最一劳永逸,最安全的方式,直接找到警告的那段代码,改为不警告.这个方式,最安全.

2014-12-17 17:40:59 56282 1

原创 MAC/IOS中使用protocolBuf

使用的是  https://github.com/mingchen/protobuf-ios  首先是下载下来它其中使用到得命令行 $ cd compiler$ ./autogen.sh$ ./configure$ make$ make install (optional)The compiler is genrated at src/protoc.

2014-12-08 01:49:32 11167

原创 IOS/MAC中使用Thrift框架

1.thrift的安装https://github.com/apache/thrift官方的安装实在是太麻烦了,我使用brew安装变得特别简单 http://stackoverflow.com/questions/23455499/cant-install-thrift-on-mac-os-10-9-2先 sudo brew update  再 sudo brew instal

2014-12-05 15:45:36 11978

原创 一个关于MFMessageComposeViewController的ios7中的诡异问题 收件人视图黑色 和解决方式

当使用 UIImage *img = [UIImage imageNamed:@"navigation-bar-bg"];// navi_stretch_bg    img = [img resizableImageWithCapInsets:UIEdgeInsetsMake(2, 1, 2, 0)];    [[UINavigationBar appearance] setBac

2014-04-26 15:01:09 8241 3

原创 通过xib加载UITableViewCell的新方式

我们以前通常会这样做- (UITableViewCell  *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{     static  NSString  *CellIdentiferId = @"MomentsViewControllerCellID";   

2014-02-21 14:26:17 68616 4

原创 xcode创建一个工程的多个taget,便于测试和发布多个版本

解决多个测试版本的问题,极大的方便测试人员,并且也能用于一份代码创建收费和非收费版本

2013-12-18 21:36:52 8693

原创 ARC开启的情况下是否需要对GCD对象dispatch_release ?

对于dispatch_queue_t 对象来说,我们应该这么写#if OS_OBJECT_USE_OBJC@property (strong, nonatomic) dispatch_queue_t barrierQueue;#else@property (assign, nonatomic) dispatch_queue_t barrierQueue;#endif

2013-12-13 14:38:21 22961 1

原创 有关 在self.navigationItem.titleView 中增加视图的问题

我们通常都是直接这样使用的    NSLog(@"self.navigationItem.titleView= %@",self.navigationItem.titleView);    NSArray *subviews = self.navigationItem.titleView.subviews;    NSLog(@"self.navigationItem.titleV

2013-12-10 17:03:08 18851

原创 对于UITableViewCell的selectedBackgroundView 在group模式下的问题

看到没,在gropp模式下,边界越界了,这个的解决方式有http://stackoverflow.com/questions/10219560/clear-answer-on-how-to-mask-a-uiview-as-a-uitableviewcell-selectedbackgroundview/10219699#10219699网上的可行的一种解决方式

2013-11-15 09:57:47 6173

原创 关于苹果的iOS cercertificate的创建问题

问题描述:我们的ios distribution证书快到期了,在xcode中,苹果给出了提示, Provisioning profile is expiring: Distribution_zhenai于是我去了开发者中心,准备去刷新一下,这下才了解到了一个问题以为是Provisioning Profiles到期了,于是先打算刷新一下,可是刷新后,依然提示说快到期了点击

2013-11-01 12:03:58 18085 3

原创 sqlite语句,关于使用FMDB操作带有外键的数据库

1.创建外键CREATE TABLE track(  trackid     INTEGER,   trackname   TEXT,   trackartist INTEGER,  FOREIGN KEY(trackartist) REFERENCES artist(artistid) );打开外键支持PRAGMA foreign_keys = ON

2013-10-31 14:03:16 12030 4

转载 android开源工程

Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/个人记账工具 OnMyMeans http://sourceforge.net/projects/onmymeans/developAndroid电池监控 Android Battery Dog http://sourceforge.net/projects

2011-11-26 09:37:46 1240

转载 iphone实现类似Android Grid效果的列表视图

原文来自http://marshal.easymorse.com/archives/4142这里提到的第三方库是AQGridView。项目首页在这里:https://github.com/AlanQuatermain/AQGridView

2011-08-09 10:22:23 1452

原创 mac os系统的一些小知识

检查随机启动程序项  系统偏好设置---账户,在右边会出现一个 登陆项,其中就包含了开机就启动的程序通过“苹果菜单”-“软件更新”的方式升级程序  那些下载的更新程序包。系统把他们放到本地的/Library/Updates/目录下,每次更新完就会被删除掉,你可以在更新下载完安

2011-07-22 09:37:21 1190

原创 控制iphone音乐播放器的相关函数

https://github.com/rono23/GlovePod国外牛人的开源工程,其说明如下You can control music without taking off your gloves!To use, double-tap home in the lock sc

2011-07-13 11:59:33 2003

Accessorizer_3.0.1注册版

Accessorizer_3.0.1注册版

2013-12-31

走出山寨 MTK芯片开发指南 第3部分(共3部分).pdf

这是市面上的第一本关于mtk开发的书籍,编著:陈智鹏,人民邮电出版社 2010年1月第一版 这是第3部分,共3部分,大家全部下载了才能解压 我自己用数码相机拍的,贡献给广大的mtk开发人员!!! 书籍的全名是:走出山寨 MTK芯片开发指南 第一本MTK芯片中文开发指南

2010-06-05

走出山寨 MTK芯片开发指南 第2部分(共3部分).pdf

这是市面上的第一本关于mtk开发的书籍,编著:陈智鹏,人民邮电出版社 2010年1月第一版 这是第2部分,共3部分,大家全部下载了才能解压 我自己用数码相机拍的,贡献给广大的mtk开发人员!!! 书籍的全名是:走出山寨 MTK芯片开发指南 第一本MTK芯片中文开发指南

2010-06-05

走出山寨 MTK芯片开发指南 第1部分(共3部分).pdf

这是市面上的第一本关于mtk开发的书籍,编著:陈智鹏,人民邮电出版社 2010年1月第一版 这是第1部分,共3部分,大家全部下载了才能解压 我自己用数码相机拍的,贡献给广大的mtk开发人员!!! 书籍的全名是:走出山寨 MTK芯片开发指南 第一本MTK芯片中文开发指南

2010-06-05

google android揭秘(Unlocking Android的中文翻译版)之4【分成了四部分下载】

google android揭秘(Unlocking Android的中文翻译版),【美】W.Frank Ableson Charlie Collins Robi Sen著,张波,高朝勤,杨越等译,人命邮电出版社,2010年4月第一版 由于太大,分为四部分下载,这是第四部分!!!

2010-05-29

google android揭秘(Unlocking Android的中文翻译版)之3【分成了四部分下载】

google android揭秘(Unlocking Android的中文翻译版),【美】W.Frank Ableson Charlie Collins Robi Sen著,张波,高朝勤,杨越等译,人命邮电出版社,2010年4月第一版 共分为四部分下载,这是第三部分

2010-05-29

google android揭秘(Unlocking Android的中文翻译版)之2【分成了四部分下载】

google android揭秘(Unlocking Android的中文翻译版),【美】W.Frank Ableson Charlie Collins Robi Sen著,张波,高朝勤,杨越等译,人命邮电出版社,2010年4月第一版 分成四部分下载,这个事第二部分

2010-05-29

google android揭秘(Unlocking Android的中文翻译版)之1【分成了四部分下载】

google android揭秘(Unlocking Android的中文翻译版),【美】W.Frank Ableson Charlie Collins Robi Sen著,张波,高朝勤,杨越等译,人命邮电出版社,2010年4月第一版 共4部分,全部下载才能解压缩!!!

2010-05-29

mtk的make命令分析

mtk使用的make命令的简单的分析,有助于深入理解make命令

2009-02-26

windows api参考大全

中文版的windows api函数的说明和参考

2008-10-18

空空如也

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

TA关注的人

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