- 博客(31)
- 收藏
- 关注
转载 升级Cocoapods出现错误
Installing CocoaPods on OS X 10.11 and macOS 10.12$ mkdir -p $HOME/Software/ruby$ export GEM_HOME=$HOME/Software/ruby$ gem install cocoapods[...]1 gem installed$ export PATH=$PATH:$HOME/Software/r
2017-03-14 14:55:02
297
原创 Cocoapods搭建私有库
近段时间再给公司APP做重构,重构后的每个模块都是以pod导入的,所以牵扯到cocoapod私有库的搭建问题。想要创建自己的私有库,还需要创建另外一个git仓库去维护里面所有的其他私有库的版本,比如这个仓库取名为specs.git。这个specs.git维护的是你所有的其他私有库的版本号对应的podspec文件。目录如下所示下面注意yourRepoName和yourPodName是两个不同的仓库,
2017-03-09 09:50:28
389
原创 安装Windows10步骤
1. 制作U盘为引导盘使用工具Rufus 下载链接:https://rufus.akeo.ie/?locale=zh_CN 下载后打开应用,设置选项如下 分区方案和目标系统类型选择:用于UEFI计算机的GPT分区方案设备中选择要作为引导盘的U盘(会格式化U盘)文件系统选择NTFS载入ISO镜像,提前下载好 下载地址:http://msdn.itellyou.cn/ 点击开始2. 重启电脑进
2016-09-09 23:05:53
434
翻译 iOS通讯模式(KVO、Notification、Delegate、Block、Target-Action的区别)
文章翻译自https://www.objc.io/issues/7-foundation/communication-patterns/每个Application或多或少都有一些松耦合的对象(模块)组成,他们必须彼此通讯来完成工作。这篇文章将会通过可用的通讯机制,并以Apple的Framework来举例,并给出最佳的实践建议关于使用哪种通讯机制。虽然这个问题是关于Foundation框架的,但是我们
2016-07-14 18:09:18
4319
原创 Runloop的使用
今天抽空复习了会Runloop,以前虽然特意的学过,但是工作中确比较少用到,所以利用今天这个机会把他记录下来。Runloop意思就是运行循环,只有有了它,APP才能一直保持运行状态。 Runloop内部就是一个死循环。但是他和一般的while(1);这种死循环还是有差别的。这就要讲到Runloop的几种模式。1.
2016-05-03 23:28:37
469
原创 2015年总结
hi,我是黄强强,现居杭州,就职于认仕医生担任iOS开发者,前段时间一直忙于认仕医生APP的开发,目前已经提交Appstore审核了,抽个空写一下我对2015年的感悟。在我进入公司后,感受到的作为一个程序员,最重要的是解决问题的能力。还好我之前对iOS的基础掌握的不错,面对项目中的大大小小的问题,基本上baidu加google都被我解决了。我也见过那些呆了一天,一个功能或者bug都解决不了的程序员
2016-05-03 10:13:50
268
转载 远程服务器 常用命令
登录远程服务器$ ssh root@192.168.1.100拷贝文件到远程服务器$ scp -r /home/administrator/test/ root@192.168.1.100:/root/让程序在后台运行(自动输出到当前目录下的 nohup.out 文件中)$ nohup python spider.py &以用户为主的格式来显示所有在跑的程序$ ps aux杀掉一个进程$ kill
2016-02-24 14:37:20
4343
转载 mac下完整删除mysql
sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo rm -rf /Library/PreferencePanes/My*vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-)rm
2016-02-16 18:38:15
352
原创 关于C语言指针的理解
// 三者的区别char *s = "hello world!";char str[] = "hello world!";char str2[5]; char *s = “hello world!”; 这个相当于创建了一个指针变量s,指针变量s指向常量“helloworld”。 相当于const char *s = “hello world!”; 所以不能通过s来改变字符
2015-12-25 13:07:02
312
翻译 iOS 如何跳到设置app
// 关于本机 About — prefs:root=General&path=About// 辅助功能Accessibility — prefs:root=General&path=ACCESSIBILITY// 设置主界面Airplane Mode On — prefs:root=AIRPLANE_MODE// 设置自动锁定时间Auto-Lock — prefs:root=General
2015-12-11 17:37:50
318
原创 友盟分享集成
最近需要做分享功能,说一下我遇到的坑:新浪微博SSO分享设置:有两组接口可以调用// 非原生SSO新浪微博分享(友盟)[UMSocialSinaHandler openSSOWithRedirectURL:@"http://sns.whalecloud.com/sina2/callback"];// 原生新浪微博SSO分享(二者选一个)[UMSocialSinaSSOHandler openN
2015-12-09 14:58:53
353
原创 使用static、 const替代宏
宏#define str @"hqq"只是在预处理器里进行文本替换,没有类型,不做任何类型检查,编译器可以对相同的字符串进行优化。只保存一份到 .rodata 段。甚至有相同后缀的字符串也可以优化,你可以用GCC 编译测试,”Hello world” 与 “world” 两个字符串,只存储前面一个。取的时候只需要给前面和中间的地址,如果是整形、浮点型会有多份拷贝,但这些数写在指令中。占的只是代码段而
2015-11-26 15:08:40
1371
原创 AFNetwork 2.0
2.0版本的AFNetwork 找到AFURLResponseSerialization.m 这个文件 在self.acceptableContentTypes = [NSSet setWithObjects:@”application/json”, @”text/json”, @”text/javascript”, nil]; 这句里面加上类型text/html,然后就可以了。
2015-09-26 15:57:59
282
原创 升级Xcode7 项目报错汇总
运行报错***was compiled with optimization - stepping may behave oddly; variables may not be available.升级了xcode7进行真机调试报错,模拟器正常。 原因:使用了微博分享,使用最新的微博分享就行了,下载地址:https://github.com/sinaweibosdk/weibo_ios_sdk编译报
2015-09-24 14:51:08
2646
原创 Linux 命令初探
Linux下的常用命令# 查看内核版本$ uname -a# 查看系统的发行版本$ lsb_release -a# 查看某个软件是否已经安装$ rpm -q [软件名]# 创建文件夹$ mkdir name# 递归创建(创建多级目录)$ mkdir -p name# 删除目录$ rmdir name# 删除文件或目录(-r删除目录 -f强制删除)$ rm -rf name# 进入当前的
2015-09-01 23:36:16
451
原创 nodejs初步了解
最近感觉项目的js和css越做越大了,想拆分js和css,就拿了IntelliJ自己研究了一下。IntelliJ需要nodejs,下面讲一下nodejs的初步使用# 初始化$ npm init# 安装插件$ npm install# 卸载插件$ npm uninstall gulp-coffee --save-dev
2015-08-28 19:01:16
287
原创 cocoapods
cocoapods使用的细节1.项目在集成cocoapods的时候,终端里执行pod install可能会一直卡在Updating local specs repositories这句。 这是因为当执行以上命令的时候会升级本地的第三方框架,加一个参数可以省略这一步,然后速度就会提升不少。pod install --verbose --no-repo-updatepod update --verb
2015-08-09 16:28:20
348
原创 Github 添加 SSH
步骤 1. 生成公钥私钥 2. 为github添加公钥打开终端,输入~/.ssh进入到.ssh隐藏文件夹,再输入ssh-keygen -t rsa -C “github账号的邮箱地址”连续敲几个回车,.ssh文件夹下就会生成两个文件 id_rsa是私钥,.pub是公钥 终端里用cat id_rsa.pub打开查看序列号,并把序列号复制到github里。首先打开github -> s
2015-04-29 17:04:51
352
原创 打包成ipa做测试
测试人员可通过itunes安装,前提是测试人员的手机要添加到devices里创建一个Ad Hoc证书,4步操作都要做,最后一步provisioning profiles要选择Ad Hoc,最后拿到一个mobileprovision文件安装mobileprovision文件到Xcode,选择buildSettings下的code signing选项为刚才的证书点product-》archive-
2015-04-24 17:20:28
338
翻译 git使用小结
git常用终端操作# 查看所有配置项$ git config -l# 查看当前代码库状态$ git status# 将文件添加到代码库,添加单个文件$ git add main.c# 将文件添加到代码库,添加所有文件$ git add .# 将修改提交到代码库(在此一定要使用 -m 参数指定修改的备注信息,否则会进入 vim 编辑器,如果对vim不熟悉,会是很糟糕的事情)$ git com
2015-04-23 00:52:08
371
转载 关于UIView的autoresizingMask属性的研究
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。 enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
2015-04-18 16:44:17
250
原创 文字属性名参考
文字属性名参考 UITextAttributeFont; UITextAttributeTextColor; UITextAttributeTextShadowColor; UITextAttributeTextShadowOffset; NSFontAttributeName; NSForegroundColorAttributeNam
2015-04-11 14:35:06
327
原创 远程通知
远程通知普通的服务器没办法办到主动发东西给其他人的,除非客户端和服务器建立一个长链接。(一直和服务器保持连接状态)HTTP协议:响应式。只有先发信息给服务’,才能得到信息。TCP/IP协议:apple:所有的苹果设备,在联网状态下,都会与apple APNS服务器建立长连接。与apple保持长连接的作用 时间校准 系统升级 查找我的iPhone好处 数据传输速度快 数据保持最新状态devi
2015-04-09 10:11:18
388
原创 一些iOS开发中的零碎知识
– (id)init 内部回调 - (id)initWithFrame:(CGRect)frame 方法。 KVC内部工作原理是找下划线成员变量去替换。 系统自带的tabbar是readonly属性,不好改,用KVC找下划线成员变量去替换,完美解决
2015-04-06 21:46:34
339
原创 UINavigationController和UITabbarController内部结构解析
UINavigationController和UITabbarController内部结构解析1. UINavigationBar 和 UINavigationItem UINavigationBar是整个导航栏,是View UINavigationItem是导航栏的数据,是Model UIBarButtonItem是导航栏左右单个按钮的model 2. UITabBar
2015-04-06 21:33:26
315
原创 iPhone6/6 Plus适配
iOS 6之前,屏幕适配主要用autosize,设置视图与父视图之间的尺寸关系。 iOS 6之后,主要使用自动布局,AutoLayout iOS 8 ,size classes(更加抽象,正方形) iPhone各型号配置图 也就是说. 现在如果要适配iPhone6 Plus。 那么你需要另外提供一套@3x的图片. (之前只有一套常规, 一套@2x) 可以看Scale里的值。 简
2015-04-02 10:35:10
471
转载 NSSet类型简介
NSSet和NSArray相似,用于存储对象,属于集合。不同点 NSArray内部存储的对象是有序的,NSSet是无序的。 NSArray,NSDictionary在内存中存储对象的地址是连续的,NSSet是不连续的。 搜索一个个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash(散列,也可直译为哈希);(比如你要存储元素A,一个hash算法直接
2015-03-30 09:17:23
344
原创 iOS支付宝集成
iOS支付宝集成1. 申请支付宝签约2. 获得商户ID(partner)和账号ID(seller)3. 下载公钥私钥文件(加密签名用)4. 下载支付宝SDK5. 集成代码 1> 把SDK中的alipay文件夹托人项目2> 生成订单信息3> 生成加密签名4> 把订单信息,加密签名和加密类型合并,生成一个订单字符串5> 打开支付宝6.SDK常见的集成错误1. 申请签约 签约需
2015-03-26 17:29:46
618
原创 运行时机制(runtime)
什么是runtime?runtime是一套底层的C语言API(包含很多强大实用的C语言数据类型和函数)实际上,我们平时编写的OC代码,底层都是基于runtime实现的,也就是说,最后都要转换成底层的runtime代码(C,C++语言代码)运行时机制两个常用的文件#import <objc/runtime.h> // #import <objc/message.h>runtime有什么用r
2015-03-10 11:44:35
474
原创 KVO的实现原理
KVO的实现原理kvo的使用// 头文件#import "HMPerson.h"- (void)viewDidLoad{ [super viewDidLoad]; // 运行时机制:runtime HMPerson *p = [[HMPerson alloc] init]; p.age = 20; // 用KVO监听p对象age属性的改变 [p addO
2015-03-10 10:21:31
426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人