iOS持续集成(四)——jenkins

简介

Jenkins是开源的自动构建服务器,一般被用于各种各样的构建任务、测试和发布软件等等。因为是图形化界面,所以对于一些黑盒测试人员来说,非常友好。Jenkins+Fastlane简直就是我们客户端的福音。

阅读更多

iOS持续集成(三)—— fastlane 自定义插件

fastlane的强大带我们不少的便利,但事无人愿。总有些不一样的需求,今天就给大家带来的是fastlaneaction和插件。

阅读更多

iOS持续集成(二)——证书管理神器match

对于iOS的开发者来说,一定都会遇到被证书与测试设备烦到不行的时候。后台的证书乱七八糟,添加设备后打包的出来的ipa总是装不上,证书无效等等问题。这些问题一搞就是浪费了大部分时间。工程师的世界里怎么能忍受这些重复而且毫无意义的工作?这不,fastlane里面的match解决上面的所有问题。

阅读更多

iOS持续集成(一)——fastlane 使用

开篇

回想一下我们发布应用,要进行多少步操作。一旦其中一步失误了,又得重新来。这完完全全不是我们工程师的风格。在软件工程里面,我们一直都推崇把重复、流程化的工作交给程序完成,像这种浪费人生的工作,实在是不应该浪费我们的人生。这次的文章主角就是为了解放我们而来—— fastlane。这个明星库在 github 已经高达 1w 多的start量。

阅读更多

2017与2018

春节过后第一天上班,外面的天气跟我的心情一样黑暗。昨晚带着不舒服的老婆开车上来深圳,今晚我还要回到茂名喝喜酒,把怀孕的老婆一个人放在深圳两天,总有点不放心。

阅读更多

Some About dylib of Apple

dyld 是 the dynamic link editor 的缩写,它是苹果的动态链接器。

阅读更多

ATS 配置你懂多少

1、WebView的使用

阅读更多

iOS 远程推送

注册

iOS 10上

1
2
3
4
5
6
7
8
9
10
11
12
13
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
// 必须写代理,不然无法监听通知的接收与点击
center.delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound) completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
[center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
NSLog(@"%@", settings);
}];
} else {
NSLog(@"注册失败");
}
}];
[[UIApplication sharedApplication] registerForRemoteNotifications];

阅读更多

常用的Attributes

昨天看了YYCache的源码,发现里面经常用到了__attribute__attribute是GNU的一种编译指令在声明的时候指定某种特性,能做多样化的错误检查和高级优化。在iOS的系统库里面会经常用到,例如:NS_AVAILABLE_IOS(8_0)展开来就是__attribute__(availability(...))

阅读更多

hidesBottomBarWhenPushed进入下级页面时,底部Tabbar会有一闪的隐藏动画

众所周知,从TabBarViewController页进入下一级页面的时候,可以通用hideBottomBarWhenPushed这个方法来隐藏底部的TarBar。
但是这会有一个小问题,如果你下一级页面里面包含着一个View,它的底部约束是相对于BottomLayoutGuide,在进入下一级页面的时候会有闪一下,Tarbar才会消失。原因是因为BottomLayoutGuide这个问题,要么你的View高度等于ViewController.view的高度,要么就使用下面这个方法:

阅读更多