iOS(原创)
记忆有你
大家好!
我来自四川, 喜欢编程, 喜欢思考!
很高兴能和大家一起讨论移动开发技术!
展开
-
mac 苹果操作系统 常用命令
1. 启动终端Terminal2. 进入当前用户的home目录 输入cd ~3. 创建.bash_profile 输入touch .bash_profile4. 编辑.bash_profile文件 输入open -e .bash_profile 因为是为了搭建Android开发环境,输入Android SDK下的tools目录:export PA原创 2014-03-06 17:27:10 · 1176 阅读 · 0 评论 -
Swift 创建framework并应用到项目中
iOS 8已经开放了动态库的权限。创建动态库并能运用到兼容iOS7的项目中! Carthage & CocoaPods 0.36 对Swift也仅以 Framework 的方式来支持。 更多参见: Library vs Framework in iOSSwift 不在支持静态库,这也就间接放弃了 iOS 7。Framework 就是一个Bundle,将所有的资源(nib转载 2016-01-07 09:50:59 · 4669 阅读 · 0 评论 -
iOS 解决导航栏隐藏后显示的问题
self.navigationController?.navigationBarHidden = false;这样显示导航栏有可能没有效果这个问题是苹果自己的属性给误导了,至于为何这样我也不知道修改成如下方式:OK!self.navigationController?.navigationBar.hidden = false;原创 2016-01-07 14:29:00 · 1617 阅读 · 0 评论 -
swift如何判断debug模式和release模式
在target下 Build Settings 搜索 Other Swift Flags设置Debug 添加 -D DEBUG,注意不要好Release一起添加使用方式和oc下一样#if DEBUG// 判断是否在测试环境下 // TODO#else // TODO#endif原创 2015-12-06 20:32:54 · 9933 阅读 · 0 评论 -
iOS 解决LaunchScreen中图片加载黑屏问题
iOS 解决LaunchScreen中图片加载黑屏问题出现这个问题具体也不知道原因是什么解决方法:修改相应的图片文件名,重新使用这个图片即可,问为什么这么做,说实话我也不知道但我就是这么解决的原创 2016-01-07 18:08:20 · 10193 阅读 · 0 评论 -
iOS 导航栏定制
工具分类extension UINavigationBar { func initWithViewController(control:UIViewController,title:String) { control.title=title; self.barTintColor =UIColor(rgba:原创 2016-01-08 15:00:48 · 550 阅读 · 0 评论 -
swift 调用oc委托
如下委托在swift代码中的实现@protocol NotifyMessageDelegate NSObject>// 连接服务器消息- (void) OnConnect:(BOOL) bSuccess;// 用户登陆消息- (void) OnLogin:(int) dwUserId : (int) dwErrorCode;@end原创 2015-12-24 13:11:52 · 1354 阅读 · 0 评论 -
iOS9 添加 dylib
iOS9之后dylib后缀都修改为了tbd,所以直接添加对应的.tbd库即可原创 2015-12-24 15:08:48 · 192 阅读 · 0 评论 -
Swift 中添加依赖库
一般情况下Swift代码是不需要手动添加依赖库的,需要使用的库直接import即可但是如果你使用了第三方的.a或者framework,这些库依赖的库你都需要手动添加到项目中才能通过编译其次iOS9之后dylib动态库后缀都修改为了tbd,添加对应的即可原创 2015-12-24 15:13:07 · 2158 阅读 · 0 评论 -
ios 原生sdk 识别图片中的二维码
UIImageView*tempImageView=(UIImageView*)gesture.view; if(tempImageView.image){ //1. 初始化扫描仪,设置设别类型和识别质量 CIDetector*detector = [CIDetectordetectorOfType:CIDet原创 2016-01-28 17:07:22 · 6104 阅读 · 0 评论 -
iOS UITableView 隐藏多余分割线
在iOS表视图中UITableView如果数据未满屏,多余的分割线依然存在解决方法很简单let footerView = UIView(frame:CGRectZero)tableView.tableFooterView = footerView这样分割线就没有了原创 2016-01-13 14:34:52 · 792 阅读 · 0 评论 -
iOS 全屏手势返回代码实现
/// 启用手势返回 func enableGesturePop(gestureDelegate: UIGestureRecognizerDelegate, interactiveEnable: Bool, navigationViewEnable: Bool) { let target =self.interactivePopGestureReco原创 2016-02-01 15:07:59 · 983 阅读 · 0 评论 -
process launch failed: Security
Xcode7/iOS9,真机测试的时候遇到这样的提示,烦请各位兄弟姐妹帮助解决,万分感谢!运行程序后提示如下:点击iPad上安装的应用后提示如下:Xcode使用没有加入开发者计划的Apple id运行应用会报 process launch failed: Security两者的解决方法:在iOS9中的位置原创 2016-02-23 10:23:26 · 114 阅读 · 0 评论 -
iOS软件安装图文教程(免证书)
iOS软件安装图文教程(免证书) 第一步: 打开ipa的下载链接,QQ可以直接下载,微信会提示使用Safari打开,按提示操作即可,点击下载安装第二步: 点击安装提示,如图 第三步: 安装成功的提示,按Home进入桌面可看到安装上的应用,这时还不能直接打开 第四步: 此时应用还不能直接打开(需要到设置中做一些操作),这里给出的警告提示直接无视 第五步: 打开设置->通用->设备管理 点击进原创 2016-02-23 12:33:58 · 3132 阅读 · 0 评论 -
iOS app 多语言本地化,主流大国语言对照表
英文 / Base, English简体中文 / Simplified繁体中文 / Traditional俄文 / Russian印度尼西亚文 / Indonesia土耳其文 / Turkish德语 / German意大利语 / Italian日语 / Japanese法语 / French泰文 / Thai葡萄牙文 / Portuguese原创 2016-03-22 14:46:28 · 4551 阅读 · 0 评论 -
swift3.0 GCD DispatchSourceTimer注意事项
var count =0; var timer =DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.global()) timer.setEventHandler { NSLog("t原创 2016-10-24 15:08:56 · 6378 阅读 · 1 评论 -
Socket编程调试(TCP)
Socket编程本质是TCP长连接 通信前可以通过电脑端的网络调试助手提前调试 注意:电脑和手机需要连接到同一局域网Mac 软件:网络调试助手 1.点击TCP服务器 2.本地端口 3.开始监听电脑端测试 1.点击TCP客户端 2.服务器IP:查看本机电脑的IP地址 3.输入TCP服务器监控的端口号 4.点击连接,下方会显示连接状态,连接成功,TCP服务器会显示连接数 5原创 2018-01-09 10:04:52 · 2632 阅读 · 0 评论 -
iOS 为项目添加多语言
在Xcode6以后创建项目文件不在自动创建多语言文件,所以我们需要自己手动添加这些文件首先添加Localizable.strings文件,InfoPlist.strings文件也可以添加(可以为app名创建多语言)至于怎么创建这两个文件自行百度,因为随着Xcode的升级,位置会有所改变得到这两个文件之后,选中该文件,右侧 --->Localize...点击他就可以作为项目的多语言文件了原创 2016-01-06 16:20:08 · 3266 阅读 · 0 评论 -
iOS 更换开发者账户的问题
更换账号:需要同时将创建的证书和mobileprovision文件下载到本地进行安装没有创建的话自己需要在后台配置,至于配置过程在另一篇文章中,不在本篇之列Xcode给了个更方便的安装方式Xcode -> Preferences -> Accounts -> 选择你的apple id -> View Details 点击Download All, Xcode会下载所有对应的文件并自动安原创 2016-01-22 09:38:31 · 4059 阅读 · 0 评论 -
iOS storyboard 修改frame问题
在iOS项目中使用storyboard 布局界面,如果启用了AutoLayout, sizeClass 在viewDidLoad修改frame值是看不到效果的(iOS7以前好像可以)这与iOS的生命周期有关- (void)awakeFromNib;- (void)viewDidLoad;- (void)viewWillAppear:(BOOL)animated;- (voi原创 2015-12-17 18:26:42 · 2712 阅读 · 0 评论 -
mac os 系统下的SVN服务配置
建立想要保存软件仓库的目录。并在系统设置里面打开Web共享。sudo su (然后输入密码)mkdir /optmkdir /opt/svnmkdir /opt/svn/repos即创建了目录/opt/svn/repos/1.创建版本仓库 svnadmin create /opt/svn/repos2.修改授权配置进入到仓库配置目录 cd /opt/sv原创 2014-04-01 16:04:41 · 1002 阅读 · 0 评论 -
mac 下SVN服务搭建 (精简步骤)
这里讲解下mac系统下地svn版本管理环境配置:做到越简单越好mac系统自带了svn服务器和客户端;所以无需再安装1.首先创建资源库文件夹svnadmin create 绝对路径(路径不存在会自动创建,只支持一级目录创建)这里需要注意的是最好不要用系统需要权限的目录;会导致很多问题;最好就是用家目录下的目录该命令执行后回生成相应的文件和文件夹目录结构如下:原创 2014-04-01 18:40:57 · 1533 阅读 · 0 评论 -
github在官网创建仓库
github注意事项原创 2014-05-05 22:59:31 · 1015 阅读 · 0 评论 -
iOS 沙盒 理解 文件系统
iOS安全模型的精髓在于**沙盒**(sandbox)。在安装应用时,系统会在文件系统中创建一个自己的主目录,而且仅对该应用可读。这导致不同应用之间共享信息很难,但与此同时,恶意软件或粗制滥造的软件要想获取或修改开发者的数据也不容易。应用之间并不是通过标准的UNIX文件权限来区分的。所有应用都以同一User ID运行(501,mobile)。不过,对其他应用的主目录调用stat失败的原因是操作转载 2014-03-26 11:57:09 · 1322 阅读 · 0 评论 -
IOS获取图片方法,避免内存过大闪退
建议使用该方法获取图片NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"sun" ofType:@"png"];UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath]; 不要使用下面的方法,图片过大容易造成内存溢出UIImage *原创 2014-04-08 09:14:13 · 3352 阅读 · 0 评论 -
ios 获取当前视图第一响应者
ios 获取当前视图第一响应者原创 2014-05-23 18:57:23 · 5142 阅读 · 0 评论 -
iOS Core Image Tutorial学习
网站地址http://www.raywenderlich.com/22167/beginning-core-image-in-ios-6原创 2015-04-23 14:18:07 · 636 阅读 · 0 评论 -
初次使用cocoapods注意事项
在只用cocoapods时可能会遇到各种各样的错误和问题 这里中总结下: 1.首先使用cocoapods有很多好处,在github上很多优秀的开源项目都用到了它;如果你不会使用它,那么很多优秀的开源项目你下载下来了也发现跑不起来,如果发现有Profile,Profile.lock,Pods等cocoapods相关的文件,那就是有第三方依赖. 有两种选择: 第一:将依赖库单独下载到项目中,删除原创 2015-07-09 00:30:49 · 1075 阅读 · 0 评论 -
UITextField的UIControlEventValueChanged事件
关于UITextField的UIControlEventValueChanged事件无响应的问题监听UITextField文本改变的事件不是使用这个枚举而是使用 UIControlEventEditingChanged这是很多开发者可能会遇到的问题错误的写法[textField addTarget:self action:@selector(valueChanged:)原创 2015-08-09 08:04:35 · 5889 阅读 · 1 评论 -
IOS开发 Xcode 导出ipa 越狱
Xcode 导出app---前提需要一部已经越狱的ios设备(在Xcode中如果没有真机,Xcode菜单栏-->Product-->Archive这一行是灰色的;无法导出xcarchive归档文件;这个文件里显示包内容;有个Products文件夹;app文件就在里面)首先Xcode导出app归档文件需要开发者账号:开发者账号每年需要向交99美元申请对于许多草根开发者是一大阻碍:原创 2014-03-07 09:48:13 · 4527 阅读 · 0 评论 -
Android IOS SQLite 数据库 数据类型
SQLite驱动支持的SQL 列类型 类型描述TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, BYTEA不限制长度的字符串类型. 二进制数据必须安全地编码存储, 见text类型.CHAR(), VARCHAR(), TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT不限制长度的字符串类型. 不会被截断或者填充ENUM不限原创 2014-03-07 09:34:54 · 2284 阅读 · 0 评论 -
iOS MRC手动内存管理 心得体会
iOS MRC手动内存管理 以下是自己调试出的经验首先注意一点:修改代码后clean工程是必须的,但还不够,还必须卸载手机上的app,否则会导致多次调用结果和预期不一致,本人就遇到了这怪事,调试了很久才得出这个结论,应该是Xcode的bug最好以clean后第一次运行的结果为参考,有时候会有表现不一致的情况进入正题:iOS的内存管理是用引用计数的概念,当一块内存原创 2015-11-28 13:26:40 · 1608 阅读 · 0 评论 -
iOS MRC手动内存管理 心得体会
当你看到这篇文章的时候,你一定会觉得现在都ARC了,为何还花时间学MRC,首先要吐槽的的确是这件事作为自己新的项目,的确没有必要再学ARC,但是对于维护别人的项目,这点就有点必要了,而且对于了解iOS的内存管理也有很大帮助虽然我们现在都使用ARC,但是对于编译器而言依然是引用计数的MRCiOS MRC手动内存管理 以下是自己调试出的经验首先注意一点:修改原创 2015-11-29 09:02:05 · 811 阅读 · 0 评论 -
iOS 引入库工程遇到的问题
如果以前是使用.a库,然后改变为直接引入库工程,如果出现问题,恢复为.a也会出现问题解决方法:清理Xcode缓存(注意不是工程clean)Window -> Projects -> 你的工程 -> 右边 Derived Data delete原创 2015-11-29 08:57:03 · 503 阅读 · 0 评论 -
iOS Swift语言构造器注意点
首先必须承认,Swift语言是一门非常优秀的编程语言,它语法的简洁性,执行的高效性和不依赖头文件的优点正被广大程序员所青睐但是初学者也很容易犯一些语法性的错误,而找不到原因(也许是受其他编程语言语法的影响,比如Java,笔者就遇到了)本篇博客主要讲Swift语言的构造器swift中构造器分两种: 指定构造器和便利构造器指定构造器就是自己设计的init原创 2015-11-30 10:53:35 · 447 阅读 · 0 评论 -
ios应用:release与debug编译方式的区别
以下是Debug 和 Release很难看出的问题笔者亲身经历因为Debug和Release和内存分配和释放方式是不同的,Debug模式下内存会延迟释放,weak的对象会延迟,但Release下进行了优化,所以达到释放条件会立即释放weak 很重要,能解决循环引用的问题,但使用时需要小心,如果是weak属性; 创建的对象没有变量引用而直接赋值,Release情况下会立即释放,Debug转载 2015-11-30 18:29:51 · 4020 阅读 · 0 评论