- 博客(67)
- 资源 (11)
- 收藏
- 关注
原创 论项目中静态库符号冲突的几种解决方式
在实际项目过程中,我们经常会碰到引入三方的静态库后出现符号冲突的现象,也就是出现 duplicate symbols 错误,那么如何解决这类冲突呢?这里我们区分几种不同的冲突情况最复杂的情况: 项目中使用的 libSDKA.a 和 libSDKB.a中有符号冲突,这里假定两者都包含了很多同名的代码等这里,两者重复的符号,并一定是在同一个文件中,或者即使在同一个.o中,但是,鬼知道它们有没有对这些重复符号的类啥的方法添加了另外的内容,也就是说即使它们两包含了同一份代码,也可能是并不兼容的两个版本.这里
2020-10-28 17:25:47
3990
原创 利用xcodeproj给主工程添加子工程
现在,ccocoapods已经成为iOS工程的标配,在这个工具的开发过程中,开源了一个专门用来操作工程的.xcodeproj文件的ruby库Xcodeproj,利用它,我们自己也可以用ruby脚本来添加和删除工程中的文件等,做到自动化操作问题的提出在我们的组件化过程中,是通过子工程的方式来建立业务组件的.可能有人会问,为什么不用pod来建立业务组件呢?其实当时也有考虑过,pod更适合已经比...
2019-04-04 13:03:55
1545
1
原创 iPhoneX利用unc0ver来越狱iOS12
在iOS11时代,有两种越狱的方式,一种是unc0ver,一种是electra,它两的历史还是挺有趣的,unc0ver的开发者本来是electra的成员,但由于不满某些东西,所以自己出来又搞了unc0ver,说是改进了越狱错误显示等,更加友好了,不过我亲身体验了两种,发现unc0ver各种不稳定,并不是像他们自己标榜的那样优势啊,可见,还是实践出真知啊前言2.22日 unc0ver的成员在...
2019-02-25 14:42:49
4498
2
原创 podfile文件用到的Ruby语言的学习和使用
序言在我们的iOS开发中,现在的cocoapods已经是事实上的添加第三方库的标准方式了.在cocoapods中的podfile文件就是利用Ruby语言写的一款DSL(Domain Specific Language,领域特定语言).Ruby简介在Ruby的维基百科Ruby(翻墙才能访问)上的说明:Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。 在20世纪90年代中期由日本电...
2018-10-02 16:51:28
1590
原创 XCode10的新变化
XCode的正式版已经发布一个星期了,是时候总结一下XCode的新变化了.1 调试预览的增强xcode10 提供了新的调试时候对(NS)data的导出预览功能这里的Export,可以导出我们预览的NSData的内容,保存到一个文件中去,然后选择第三方的工具去打开这个保存下来的Data内容.2 对于xib的增强当我们在代码里,点击IBOutlet元素,会弹出它所对应的在xib中的控件...
2018-10-01 15:15:07
2818
原创 怎么查看appstore的app所使用的xcode版本
前景:我们用xcode10来编译了个app上传到appstore,然后发现了一个超级严重的问题,就是在iOS9系统的设备上,下载下来后,界面直接就卡死的,还有些是点击就crash. 针对这个问题,我们去找寻了下问题所在.然后发现这个是xcode10的问题.但微信却没问题,所以就有了查看线上的微信是用xcode几编译的需求拿到appstore的微信的ipa包我们可以直接在电脑上的pp助手上来...
2018-09-30 16:40:46
2909
原创 APP逆向分析之XX音乐客户端下载歌曲权限绕过
很长一段时间没有做逆向分析相关的研究了,最近看了一部电影,电影有首插曲名字叫不见不散,那是相当的好听啊,打开XX音乐,准备下载,额….弹出付费才能下载….为了一首歌,开一个包月服务,显然不是我这个搞过逆向的人该干的事啊,于是想着,看看能否逆向分析一番,从而可以直接下载这首歌呢.序言虽然是米国的苹果开发的iOS系统,但是要论越狱iPhone和逆向分析的工具和相对应的环境来说,那国...
2018-03-18 23:15:48
2744
原创 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
19442
3
原创 XCode9的新变化
XCode9的新变化 XCode9已经随着ios11的发布发布了,那么在这个XCode9版本中有哪些变化呢?1. 折叠代码焦点在方法的实现体的方法名上,按comman键,则整个函数会被框住.用来标志这个方法的起点和终点此时单击,出现菜单 在菜单里,有个Fold,可以用来折叠方法,这个折叠现在有个动画效果在其它上面点击 常用的重构方式都已经集成在这个右键弹出菜单中了,可见,XCode9对
2017-09-21 20:02:25
1326
原创 iOS监控/监测/监听文件/文件夹的变化 检测文件变化
我们有些时候,需要监测一个文件/文件夹的变化,例如在某个文件被修改的时候,可以获取到通知,或者我们有个播放列表是扫描某个文件夹下的所有文件,那么当这个目录新添或者删除一些文件后,我们的播放列表要同步更新,这种情况下,我们都需要监听文件/文件夹的变化
2016-11-18 11:38:23
5068
原创 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
12474
2
原创 谈谈改变 UIAlertView 和 UIActionSheet 的颜色
iOS8及以上应该使用的方式对于>=iOS8来说, UIAlertView,UIActionSheet都被 UIAlertController替代了, 建立一个 UIAlertView的方式UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Title"
2016-07-11 11:35:54
9790
原创 respondsToSelector和 instancesRespondToSelector的理解
respondsToSelector 和 instancesRespondToSelector是两个常用的方法,我们经常使用 someObject respondsToSelector,但是对于它和instancesRespondToSelector之间有什么区别?首先先看两个方法的声明@interface NSObject <NSObject>+ (BOOL)instancesRespondT
2016-07-01 11:15:31
2269
原创 iOS Universal Links(通用链接)
简介什么是Universal Links(通用链接)? 这是iOS9推出的一项功能,如果你的应用支持Universal Links(通用链接),那么就能够方便的通过传统的HTTP链接来启动APP(如果iOS设备上已经安装了你的app,不需要额外做任何判断等), 或者打开网页(iOS设备上没有安装你的app).或许可以更简单点来说明,在iOS9之前,对于从各种从浏览器,Safari、UIWebVie
2016-04-01 13:08:24
17152
翻译 怎样创建一个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
1891
原创 HTTP/HTTPS抓包工具Charles
Charles是一款抓包神器,它是Java开发的跨平台的软件,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,他是收费的,当然,如果不付费,也能使用,只是每过十分钟,就会弹出一个对话框.charles官网 当然了,网上还是有破解版的,怎么下载破解的,就不用我说了,直接百度或谷歌吧. HTTP抓包http抓包比较简单,基本上只
2016-03-30 02:01:08
20011
翻译 怎样创建一个xcode插件 第一部分/3部分
在这个不算短的三部分教程中,你将创建一个xcode的插件来娱乐你的同事,其特色莫过于显示的内容并不是他所期望看到的!尽管这个插件是很轻量级的,你仍然可以学习到很多知识,例如,通过调试xcode,怎样找出你感兴趣的元素并且修改它,怎样将系统的功能函数替换为你自己的函数(通过swizzle技术)!
2016-03-07 08:45:56
1795
原创 iOS中的正则表达式
在iOS中,系统自带的正则类是 NSRegularExpression初始化 + (nullable NSRegularExpression *)regularExpressionWithPattern:(NSString *)pattern options:(NSRegularExpressionOptions)options error:(NSError **)error;使用实例: NS
2016-03-01 10:54:10
1717
原创 xcode7 插件制作入门
概述我们平时也使用了很多的xcode插件,虽然官方对于插件制作没有提供任何支持,但是加载三方的插件,默认还是被允许的.第三方的插件,需要存放在 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins文件夹中,后缀名必须是.xcplugin (不过其实际上是一种bundle). 所以我们创建一个插件工程,直接创建bundle工程即可
2016-02-05 14:56:06
2796
原创 cocoapods应用第一部分-xcode创建.framework相关
问题的提出:随着项目的越来越大,可能会出现好几个团队共同维护一个项目的情况,例如:项目组A负责其中的A块,项目组B负责其中的B块.....这几块彼此之间既独立,也相互联系.对于这种情况,可以采用约定的方式,比如,你只修改你那块,不要修改公共的.如果要修改公共的,那么必须要通知一下其它组,大家共同决定怎么修改,这种方式有一个很大的问题,很有可能不经意间就改了别的团队的代码.还有维护的越来越复杂等
2015-08-26 00:10:41
10438
原创 怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32
问题描述 在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有没有办法去掉这些烦人的警告,不然一个工程几百个警告,你看着怎么都不爽吧.我们怎么去掉警告呢1.最直接,最一劳永逸,最安全的方式,直接找到警告的那段代码,改为不警告.这个方式,最安全.
2014-12-17 17:40:59
56519
原创 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
11232
原创 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
12077
原创 一个关于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
8283
原创 通过xib加载UITableViewCell的新方式
我们以前通常会这样做- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentiferId = @"MomentsViewControllerCellID";
2014-02-21 14:26:17
68719
原创 xcode创建一个工程的多个taget,便于测试和发布多个版本
解决多个测试版本的问题,极大的方便测试人员,并且也能用于一份代码创建收费和非收费版本
2013-12-18 21:36:52
8833
原创 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
23108
原创 有关 在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
18903
原创 对于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
6228
原创 关于苹果的iOS cercertificate的创建问题
问题描述:我们的ios distribution证书快到期了,在xcode中,苹果给出了提示, Provisioning profile is expiring: Distribution_zhenai于是我去了开发者中心,准备去刷新一下,这下才了解到了一个问题以为是Provisioning Profiles到期了,于是先打算刷新一下,可是刷新后,依然提示说快到期了点击
2013-11-01 12:03:58
18208
2
原创 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
12101
1
转载 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
1266
转载 iphone实现类似Android Grid效果的列表视图
原文来自http://marshal.easymorse.com/archives/4142这里提到的第三方库是AQGridView。项目首页在这里:https://github.com/AlanQuatermain/AQGridView
2011-08-09 10:22:23
1491
原创 mac os系统的一些小知识
检查随机启动程序项 系统偏好设置---账户,在右边会出现一个 登陆项,其中就包含了开机就启动的程序通过“苹果菜单”-“软件更新”的方式升级程序 那些下载的更新程序包。系统把他们放到本地的/Library/Updates/目录下,每次更新完就会被删除掉,你可以在更新下载完安
2011-07-22 09:37:21
1225
原创 控制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
2048
走出山寨 MTK芯片开发指南 第3部分(共3部分).pdf
2010-06-05
走出山寨 MTK芯片开发指南 第2部分(共3部分).pdf
2010-06-05
走出山寨 MTK芯片开发指南 第1部分(共3部分).pdf
2010-06-05
google android揭秘(Unlocking Android的中文翻译版)之4【分成了四部分下载】
2010-05-29
google android揭秘(Unlocking Android的中文翻译版)之3【分成了四部分下载】
2010-05-29
google android揭秘(Unlocking Android的中文翻译版)之2【分成了四部分下载】
2010-05-29
google android揭秘(Unlocking Android的中文翻译版)之1【分成了四部分下载】
2010-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人