自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 SVN版本控制学习

版本控制让版本库中的任意一个文件恢复到任意一个历史版本追溯任意代码文件的任意一行在什么时间被什么人修改过常用版本控制 特性 CVS SVN GIT 并发修改 1 1 1 并发提交(0:每个文件都有记录版本号 1:批量文件版本号) 0 1 1 历史轨迹(0:不支持更名 1:支持更名) 0 1 1 ...

2018-05-31 10:38:48 573

原创 iOS客户端React-Native增量更新实践

市场上现存方案:微软的 CodePush 以及React-Native中文网的Pushy,大家可根据公司实际情况酌情选择。 处于安全性的考虑,公司禁止向第三方平台上传源码相关文件,所以要自己动手实现。增量更新主要实现流程 1.使用react-native bundle 命令打包,压缩打包文件 2.使用bsdiff生成新旧RN版本压缩文件的差异化文件patchFile 3.客户端旧RN版

2018-02-05 21:33:10 1578

原创 UIWebView拦截资源请求

项目中web页埋点以加载资源文件的形式发起请求,当客户端拦截到该请求时,要求放弃发送该请求,改为客户端统计此次埋点事件。NSURLProtocol可以拦截监听每一个URL Loading System中发出request请求,记住是URL Loading System中那些类发出的请求,如果不是这些类发出的请求,NSURLProtocol就没办法拦截和监听了。

2018-01-29 15:16:00 2042

原创 iOS 实现react-native预加载,优化第一次加载白屏问题

项目中存在多个react-native页面入口,每个入口使用以下方法初始化:- (instancetype)initWithBundleURL:(NSURL *)bundleURL moduleName:(NSString *)moduleName initialProperties:(NSDictionary

2018-01-29 10:26:08 3895

原创 URL编码解码

URL中有中文的时候,很容易注意到编码解码。而在URL中含有特殊字符时,编码解码通常容易被忽略。在开发中使用^符号分割字符串,URL编码后^符号变成%5E,导致处理的业务逻辑异常。1.URL编码ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是:NSString * encodingString = [urlString stringByAddingPercen

2018-01-19 09:29:22 449

原创 React Native 布局总结

Flex Direction 在组件的style中指定flexDirection可以决定布局的主轴。子元素是应该沿着主轴的排列方向,默认值是竖直轴(column)方向。 flexDirection enum(‘row’, ‘column’,’row-reverse’,’column-reverse’)row: 从左向右依次排列row-reverse: 从右向左依次排列column(defa

2018-01-14 15:44:07 772

原创 使用react-native bundle制作离线包

公司项目以离线包的方式使用react-native开发。 相关命令:react-native bundle --entry-file index.ios.js --bundle-output ./ios/main.jsbundle --platform ios相关参数可以使用如下命令查询:react-native bundle -help也可以将命令添加到package.

2018-01-06 19:09:48 5501

原创 Python爬虫抓取最新段子发送到指定邮箱

#!usr/bin/env python3#-*- coding:utf-8 -*-'爬取糗事百科文字版段子,发送到指定邮箱'import requests, refrom email import encodersfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils impor

2017-12-14 14:35:38 1626

原创 Instrument使用总结

Instruments简介 Instruments是一个强大而灵活的性能分析和测试工具,它是Xcode工具集的一部分。 它旨在帮助您分析OS X和iOS应用程序,进程和设备,以更好地理解和优化其行为和性能。 将Instruments从应用程序开发流程开始纳入您的工作流程,可以帮助您在开发周期的早期发现问题,从而为您节省时间。 有效的使用Instruments,你可以:检查一个或多个应用程序或进

2017-12-11 11:13:26 2628

原创 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

使用MySQL mysql-5.7.20-macos10.12-x86_64.dmg版本配置默认编码全部改为UTF-8,执行以下命令报错: $ mysql -u root -p ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) MySQL第一次安装的密码会系统通知:

2017-11-28 14:40:47 315

原创 -bash: pip: command not found

在安装requests模块时报错,之前Pillow就安装成功了$ pip install requests-bash: pip: command not found查找pip路径:$ find / -name pip~/Library/Caches/pip$ cd ~/Library/Caches/pip$ pip install requests

2017-11-22 14:25:54 9274 1

原创 iPhoneX无导航栏页面适配

原全屏适配在iPhoneX会由于安全区域的变化导致显示不全。 解决方案如下: 在self.view上添加一个view,剩下的视图基于该view布局,view的约束随self.view.safeAreaInsets的改变需要重置:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after l

2017-11-13 09:56:46 2248

原创 iOS11 使用UIKeyboardFrameBeginUserInfoKey部分场景获取键盘高度为零

业务场景中需要在键盘弹起后重新布局,在review代码时发现收到UIKeyboardDidShowNotification通知时是用如下方式获取键盘frame: CGRect keyboardFrameBeginRect = [[[notification userInfo] valueForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]

2017-09-29 11:10:25 2721

原创 iOS11 自定义UIBarButtonItem显示异常解决方案

iOS11之前: self.leftButton = [UIButton buttonWithType:UIButtonTypeCustom]; [self.leftButton addTarget:self action:@selector(leftDrawerButtonPress:) forControlEvents:UIControlEventTouchUpInside];

2017-09-21 16:26:01 2745

原创 使用React Navigation Demo执行出错:./index.ios.js:Unexpected token

项目部分需求开始尝试使用react-native,然后就开始在React Native 中文网上学习基础知识。 在使用React Navigation的Demo时模拟器一直出现姨妈红什么的最烦了~ 在使用WebStorm时发现有报错: 要是能像Xcode一样详细就好了~在ES6标准中export default命令其实只是输出一个叫做default的变量,Demo中default后面又

2017-09-18 17:51:24 685

原创 使用GitHub+hexo打造属于你自己的专属博客

项目部分需求开始尝试使用react-native,然后就开始在React Native 中文网上学习基础知识。 在使用React Navigation的Demo时模拟器一直出现姨妈红什么的最烦了~ 在使用WebStorm时发现有报错: 要是能像Xcode一样详细就好了~在ES6标准中export default命令其实只是输出一个叫做default的变量,Demo中defau

2017-09-09 17:59:58 350

原创 iOS部分页面横竖屏解决方案

系统支持横屏顺序默认读取plist里面设置的方向(优先级最高)等同于Xcode Geneal设置里面勾选application window设置的级别次之然后是UINavigationcontroller/UITabbarController级别最低的是viewcontroller(注意Xcode Geneal设置里面没有勾选的方向viewcontroller强制旋转到该方向会

2017-06-29 14:33:37 1097

原创 iOS crash报告符号化,.ips文件分析

项目中一部分测试是外包的,测试人员发现了一个偶现的bug,并把.ips文件提供给我们。下面开始解析crash文件1.在桌面新建一个文件夹,名字叫crash2.将.ips文件更名为.crash文件并放到crash文件夹中3.前往文件夹路径  /应用程序/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versio

2017-06-16 16:07:51 5807

原创 iOS使用UIImagePickerController在相册中选择破损图crash

复现crash场景选取破损图点击选取按钮crash,控制台输出:*** setObjectForKey: object cannot be nil (key: croppedImage)代理方法:- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIIma

2017-06-16 15:41:33 742

原创 iOS8.0+ NSMutableAttributedString在末尾换行处插入图片不显示

解决方案:    NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedStringalloc] init];    NSMutableAttributedString *atr = [[NSMutableAttributedStringalloc]initWith

2017-06-12 14:29:34 1649

原创 键盘显示的情况下,按home进入后台,再点击app图标切换回前台时发生crash

一、问题描述:键盘显示的情况下,按home进入后台,再点击app图标切换回前台时发生crash,控制台没有任何打印信息,只是停在了main入口,一脸懵圈。如何找到crash原因?解决方法:如果打开了ARC或垃圾回收模式,在程序中发消息给已经释放的对象,将会引起程序崩溃。这时定位崩溃原因将非常困难,因为出问题的对象已经重新分配了。可以通过启动僵尸对象(Zombie Obj

2017-05-24 09:26:05 1943

原创 如果有两位小数不为0则保留两位小数,如果有一位小数不为0则保留一位小数,否则保留整数

+ (NSString*)stringFromNumber:(NSInteger)number{    if (number10000) {        return [NSStringstringWithFormat:@"%ld",number];    }else{        NSString * numberStr   = [selfdecima

2017-05-22 09:44:59 2517

原创 iap支付总结(一次性消费购买)

一、支付流程 :         1.向服务器发起请求获取订单号         2.向苹果服务器获取对应的产品信息        3.发起购买请求(通过设置applicationUsername使订单号与这次交易绑定)        4.处理SKPaymentTransactionObserver回调方法,交易完成向服务器发送购买凭据二、部分代码实现:#pragm

2017-05-18 11:21:00 2685

原创 控制UIViewController的生命周期

1.问题描述利用childViewControllers属性和UICollectionView实现pageController的模块功能,发现当pop或者dismiss回到parentViewController时,系统会为所有已加载的childViewController调用viewWillAppear。产品功能要求在UIViewController出现的时候刷新列表,这样会导致所有的chi

2017-04-17 11:35:56 612

原创 设置UIImageView的contentMode属性UIViewContentModeScaleAspectFill导致push和pop显示异常

1.问题描述:    self.bgView = [[UIImageViewalloc]init];    self.bgView.image = [UIImageimageNamed:@""];    self.bgView.contentMode = UIViewContentModeScaleAspectFill;    [self.viewa

2017-03-28 14:15:45 2741

原创 iOS内购审核被拒 错误状态码21007

被拒原因:在我们公司的测试服务器中,我们会连接苹果的测试服务器(https://sandbox.itunes.apple.com/verifyReceipt)验证。在我们部署在线上的正式服务器中,我们会连接苹果的正式服务器(https://buy.itunes.apple.com/verifyReceipt )验证。我们提交给苹果审核的是正式版,我们以为苹果审核时,我们应该连接苹果

2017-03-09 09:21:25 13442

原创 Could not read from remote repository.Please make sure you have the correct access rights.and the re

$git install 报错提示:Could not read from remote repository.Please make sure you have the correct access rights.and the repository exists.如何生成SSH key1. 检查SSH keys是否存在输入下面的命令,如果有文件id_rs

2017-03-07 13:49:19 367

原创 [iOS]自动生成ipa脚本

项目迭代完工进入测试阶段:测试A:帮我打个包,谢谢。我:打包中......测试B:帮我打个包,谢谢。我:打包中......测试C:帮我打个包,谢谢。我:打包中...............测试A:发现一个bug,改好给我打个包,谢谢。我:(´⌒`。) 打包中......!测试B:也帮我打一个,谢谢。测试C:还有我!我:((유∀유|||))打包

2016-09-23 15:11:16 702

原创 安装cocoapods及使用详解(持续更新)

1.设置ruby的软件源$gem sources -l                                                                         #(查看当前ruby的源)$gem sources --remove https://rubygems.org/                          #(移除当前ruby的源

2016-08-11 14:21:43 4095

空空如也

空空如也

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

TA关注的人

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