
iOS随笔
文章平均质量分 88
iShareStudio
广州大学城大学生软件开发团队
展开
-
如何减小ipa包大小方法总结
缩减ios可执行文件包的大小是每一个ios开发人员都要经历的问题,一般首先会对资源文件做处理,压缩图片/音频,去除不必要的资源如@2x和@3x的图片合并。这些资源优化做完后,我们还可以尝试对可执行文件进行瘦身,项目越大,可执行文件占用的体积越大,又因为AppStore会对可执行文件加密,导致可执行文件的压缩率低,压缩后可执行文件占整个APP安装包的体积比例大约有80%~90%,还是挺值得优化的,下转载 2016-10-18 11:39:43 · 1800 阅读 · 0 评论 -
xcassets: A XXxXX app icon is required for iPhone apps targeting releases of iOS prior to 7.0
很明显是图标尺寸设置的问题。解决:Editor > New App Icon之后会生成一个新的完整的图标集,再把图标拖进就可以了。原创 2015-02-05 16:45:06 · 3502 阅读 · 0 评论 -
通过WireShark抓取iOS联网数据实例分析
今天闲的没事干,想试着分析iOS应用的网络数据传输方式。以前就曾经想过这么做,但是由于无法得到iPhone的联网数据,一直没成功。今天尝试了一下,没想到居然比较顺利。我的工具:Mac电脑一台(PC也行),Wireshark抓包工具,iPod Touch一台,网线一根。步骤:首先配置电脑,让iPhone能够通过电脑联网,这样iPhone就通过电脑传输数据,就能抓到数据了。具体方法:h转载 2014-12-28 17:05:29 · 770 阅读 · 0 评论 -
Reveal查看任意app的高级技巧
Reveal是一个很强大的UI分析工具,与其他几个功能相近的工具(比如PonyDebugger)相比,其最大的特点就是非常直观,用来查看app的UI布局非常方便。其常规用法是将framework集成至Xcode工程中,可参见Reveal的官网http://revealapp.com/,但我们这次讲述的却是非常规用法。在12/21的#阿里技术嘉年华#上,我给听众展示了使用Reveal查看任意转载 2014-12-26 18:03:11 · 673 阅读 · 0 评论 -
我常常浏览的博客和网站(iOS学习)
英文系列网站Raywenderlich.com这个不多说了吧,iOS界的百科全书。iOS By tutorial系列书从iOS7到8全买的正版别说499刀了,999刀也入手。objc.io这个也不用多说了,Raywenderlich是百科全书的话,这个就是深入深入再深入。http://tutsplus.com/也是包罗万象的一个网站,有web ios u转载 2014-12-24 11:36:36 · 696 阅读 · 0 评论 -
iOS中的常用指令集(armv6、armv7、armv7s、arm64)
官方:https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Introduction/Introduction.htmlhttps://developer.apple.com/library/ios/documentation/General/Con转载 2014-10-19 15:28:40 · 890 阅读 · 0 评论 -
iPhone、iPad强制关机
情景:iPad测试应用过程中死机了。解决:同时按住右上方的电源键和屏幕下方的HOME键大约10秒左右。就会自动强制断电关机,然后重启。强制重启后你会看到进入苹果的标志,然后进入主界面就强制重启成功了。原创 2014-07-07 11:39:21 · 2894 阅读 · 0 评论 -
iOS 多任务(后台服务)
Multitasking,多任务指的是应用在退出后台后任然可以运行。 关于iOS的具体后台机制请看:http://blog.youkuaiyun.com/isharestudio/article/details/23828421。现在这篇文章以代码实现为主。1,检测设备是否支持多任务:- (BOOL)application:(UIApplication *)application didF原创 2014-04-17 16:36:42 · 1632 阅读 · 0 评论 -
Windows安装Mac系统
很新很详细,转给需要的同学。原创 2014-06-11 12:01:58 · 1671 阅读 · 0 评论 -
微博授权后不会跳回应用
问题:项目在真机测试,点击微博授权后,会跳到微博客户端,但授权成功后不会跳回应用。解决:在项目info.plist中->(1)添加一个URL types->(2)下一层添加一个URL Schemes->(3)URL Schemes的item的值为填上sinaweibosso.XXXXX(应用的appid)。原创 2014-07-20 21:44:05 · 1109 阅读 · 0 评论 -
Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法
Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x)下默认只能支持iOS6.0及以上版本的模拟器进行开发和调试,在此条件之下的版本只能使用硬件设备进行开发调试。虽然现在低版本的iOS设备越来越少了,但是有时客户的需求可能会要求我们一定要兼容iOS5(转载 2014-06-24 21:14:34 · 888 阅读 · 0 评论 -
[iOS]ARC下循环引用的问题
最初最近在开发应用时碰到使用ASIHttpRequest后在某些机器上发不出请求的问题,项目开启了ARC,代码是这样写的:@implementMainController- (void) fetchUrl{ ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURLURLW转载 2014-05-21 12:38:23 · 774 阅读 · 0 评论 -
如何使用苹果开发证书
群里总有朋友在询问关于证书的问题,一两句话又说不清楚,干脆总结一下开发证书的使用。(文中提到的所有文件名都可以自定义)创建开发证书基本步骤本址钥匙串->证书助理->从证书颁发机构请求证书邮箱填apple开发帐号的邮件地址:blankorteam@icloud.com保存到本地址磁盘,文件名:CertificateSigningRequest.certSigningReq转载 2014-05-13 13:45:03 · 1024 阅读 · 0 评论 -
iOS SDK:预览和打开文档
公司项目用到,先记录下,回头在总结~中文:英文:原创 2014-04-22 14:23:39 · 649 阅读 · 0 评论 -
iOS进阶面试题
OneV‘s Den在博客里出了10道iOS面试题,用他的话是:“列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术” 。 在这里給一份我的答案。1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?Objecitv转载 2014-12-31 10:12:26 · 881 阅读 · 0 评论 -
记录一些使用LLDB调试的命令
From:http://m.leodeng.com/?p=13有人说,现在iOS开发的门槛很低,随便学个几个月就能做出一个app来。据说过日子的第一版就是某个做金融的合伙人自学两个月倒腾出来的,真是让人亚历山大。然而,做一个app和做一个体验流畅,没有bug的app完全不是那么一回事。所以,今天这里分享一下一个酷毙程序员在大部分开发时间要做的事情——调试。对于iOS开发来说,我相信转载 2014-12-31 14:00:43 · 736 阅读 · 0 评论 -
CocoaPods详解之----使用篇
CocoaPods详解之----使用篇作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/18737437转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、什么是CocoaPods1、为什么需要CocoaPods在转载 2015-02-26 17:24:11 · 512 阅读 · 0 评论 -
更新Xcode 6之后插件失效的解决办法
1、打开终端,输入以下命令行:defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID2、获取到DVTPlugInCompatibilityUUID,然后find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug原创 2015-05-19 14:05:21 · 604 阅读 · 0 评论 -
android和iOS平台的崩溃捕获和收集
通过崩溃捕获和收集,可以收集到已发布应用(游戏)的异常,以便开发人员发现和修改bug,对于提高软件质量有着极大的帮助。本文介绍了iOS和android平台下崩溃捕获和收集的原理及步骤,不过如果是个人开发应用或者没有特殊限制的话,就不用往下看了,直接把友盟sdk(一个统计分析sdk)加入到工程中就万事大吉了,其中的错误日志功能完全能够满足需求,而且不需要额外准备接收服务器。 但是如果你对其原理转载 2015-05-18 20:57:50 · 861 阅读 · 0 评论 -
iOS 屏幕旋转
加速计是iOS屏幕旋转的硬件基础。依赖加速计,设备才可以判断出当前的设备方向。iOS系统共定义了以下七种设备方向:typedef NS_ENUM(NSInteger, UIDeviceOrientation) { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, // Device orien转载 2015-05-14 20:42:51 · 602 阅读 · 0 评论 -
不能修改“System Roots”钥匙串
下载的.cer 文件添加不到钥匙串双击提示 :不能修改“System Roots”钥匙串要更改根证书是否会被信任,请在“钥匙串访问”中打开它,然后修改它的信任设置。解决:在钥匙串左侧菜单选择登录,再直接把.cer 文件拖进去。原创 2015-05-10 18:55:55 · 1576 阅读 · 0 评论 -
如何使用KeyChain保存和获取UDID
本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题。并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可。 一、iOS不用版本获取UDID的方法比较 1)iOS 5.0 iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifie转载 2015-04-10 18:23:12 · 661 阅读 · 0 评论 -
微信、陌陌等著名IM软件设计架构详解
对微信、陌陌等进行了分析,发出来分享一下(时间有些久了)电量:对于移动设备最大的瓶颈就是电量了。因为用户不可能随时携带电源,充电宝。所以必须考虑到电量问题。那就要检查我们工程是不是有后台运行,心跳包发送时间是不是合理。流量:对于好多国内大部分屌丝用户来说可能还是包月30M,那么我们必须站在广大用户角度来考虑问题了。一个包可以解决的就一个包。网络:这个也是IM最核心的内容了,转载 2015-03-13 18:31:29 · 1538 阅读 · 0 评论 -
如何使用TestFlight进行Beta测试
在2014年的苹果全球开发者大会上,苹果宣布他们把TestFlight集成进了iOS 8的开发套件中。这样做的目标是让开发人员多了一种安装Beta测试程序的方法,并使整个过程更加容易。而实际上,TestFlight作为一个Beta测试的平台,在这之前已经出现了,而且可以同时支持iOS和Android,非常方便好用。 苹果是在二月份收购了TestFlight的母公司Burstly,转载 2015-03-13 11:46:34 · 1758 阅读 · 0 评论 -
写iOS SDK注意事项
我发现即使是像腾讯、小米这样的大厂提供的 SDK,在质量和规范上也有很多问题,而且包括我以及我身边的很多朋友都被恶心到了,所以我就把这些注意事项总结出来,希望大家不要犯同样的错误。注意事项一:所有类名都应该加前缀说明:没有前缀的类名有冲突的风险。Bad Case:微信分享的 SDK,文件名:WXApiObject.h,代码如下,其中BaseReq类和BaseResp类都没有转载 2015-03-22 16:37:21 · 911 阅读 · 0 评论 -
CocoaPods安装和使用教程
Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目转载 2015-03-11 14:35:31 · 493 阅读 · 0 评论 -
用企业证书生成iPa
在企业证书一切都设置好的情况下:1、.2、3、4、下一步,保存即可。原创 2015-03-05 12:41:08 · 850 阅读 · 0 评论 -
CocoaPods详解之----制作篇
CocoaPods详解之----制作篇作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/20067595转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试转载 2015-02-26 17:13:18 · 566 阅读 · 0 评论 -
64-bit Tips
终究还是来了。Apple下发了支持64位的最后通牒:As we announced in October, beginning February 1, 2015 new iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK. Beginning Ju转载 2015-01-06 18:30:44 · 642 阅读 · 0 评论 -
CocoaPods详解之----进阶篇
CocoaPods详解之----进阶篇作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/19178709转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、Podfile.lock文件上文讲过,在开始使用Cocoa转载 2015-02-26 17:23:32 · 603 阅读 · 0 评论 -
iOS 分辨率(resolution)
先记录下~http://www.iosres.com/http://www.idev101.com/code/User_Interface/sizes.html原创 2014-04-24 17:21:21 · 1233 阅读 · 0 评论 -
对比iOS网络组件:AFNetworking VS ASIHTTPRequest
我自已觉得很好,先记录下。http://www.infoq.com/cn/articles/afn_vs_asi原创 2014-04-10 18:44:52 · 818 阅读 · 0 评论 -
FireFox插件SQLite Manager的使用
转帖地址:http://www.it118.org/Specials/458ee903-6e5b-4a89-a9c4-b337f35e2496/8ea068a1-a174-41cc-af10-b3d74e4c8fd0.htm FireFox 插件:SQLite Manager可以管理你电脑上的任何 SQLite数据库。一个直观的目录树状来展示数据库的对象。通过提示对话来管理表、索引、视图和转载 2013-12-21 20:38:40 · 2221 阅读 · 0 评论 -
iOS学习之sqlite的创建数据库,表,插入查看数据
iOS sqlite数据库操作。步骤是:先加入sqlite开发库libsqlite3.dylib,新建或打开数据库,创建数据表,插入数据,查询数据并打印1、新建项目sqliteDemo,添加使用sqlite的库libsqlite3.dylib2、sqlite 的方法sqlite3 *db, 数据库句柄,跟文件句柄FILE很类似sqlit转载 2013-12-21 19:30:06 · 929 阅读 · 0 评论 -
Unknown class BIDTaskListController in Interface Builder file
学《iOS 6基础教程》第10章时遇到,这个也算是一类问题了。打开BIDTaskListController.h,发现UITableViewController的文字颜色是黑色,这就说明xcode没有认出整个类,那就说明肯定是编译器出来问题,没有设置正确这种现象是xcode的问题,BIDTaskListController不是我们从xcode创建的,而是从另外一个项目中拖进原创 2013-12-18 19:59:57 · 889 阅读 · 0 评论 -
oc strong weak retain assign
简单讲strong等同retainweak比assign多了一个功能,当对象消失后自动把指针变成nil,好处不言而喻。 nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基转载 2014-01-01 08:52:13 · 1004 阅读 · 0 评论 -
关于Objective-C 对象release操作的一个小问题探讨
最近遇到这样一个问题,以前的时候并未注意;新建一个工程,然后添加一个类,文件结构是这样的然后写了这样一小段程序,运行[cpp] view plaincopy- (void)viewDidLoad { [super viewDidLoad]; Test *testObj = [[Test alloc] init];转载 2013-12-31 09:52:20 · 858 阅读 · 0 评论 -
qq的iOS面试题目
说明:答案作为参考。1,Objective-C的内存管理方式, NSAutoreleasePool的作用2,写一个retain方式声名属性的setter方法3,Objective-C与C的区别有哪些4,列出你常用的几个设计模式,列出如何在Objective-C中实现与应用5,drawRect, lasyoutSubViews的区别6,列举Cocoa中常用的几种多转载 2013-12-16 10:26:28 · 887 阅读 · 0 评论 -
NSString什么时候用copy,什么时候用strong
大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢?比如:@property (retain,nonatomic)NSString *rStr;@property (copy, nonatomic) NSString *cStr;- (void)test:{ NSMutableString转载 2013-12-16 10:11:56 · 668 阅读 · 0 评论 -
objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )
1、随机数的使用 1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下:转载 2013-12-04 13:15:09 · 2552 阅读 · 0 评论