我是开发者 - 小钿博客

一个小开发仔 ~

使用 Xcode Server 持续集成 & 打包测试

前言

随着项目的迭代和规范化, 我们可能不满足一直重复的手动编译 打包 发布 测试, 这时就会去寻找一些自动化持续集成的工具, 比如 Jenkins FastLane 等, 但是对于 iOS 开发者来说, 这些非我们熟悉的语言和技术来搭建的工具, 总觉得有那么一点不友好, 那么有没有我们能非常容易上手的持续集成方案呢?

有, 答案就是 Xcode Server, 这个工具在 Xcode 9 之前是要 购买 128 元的 macOS Server 才能使用的, 在 Xcode 9 开始就被集成到了 Xcode 开发工具中来了, 我们可以在自己电脑 或一台专用的 Mac 电脑上, 安装 Xcode, 并启用这个功能, 一个持续集成的服务器就搭建好了.

Xcode Server 有哪些功能呢?

  • 按 时间周期 或者 代码提交 触发持续集成
  • 在构建前或后执行一些脚本, 或发送邮件
  • 直接在 Xcode 中查看集成历史, 错误警告测试等数量, 下载归档或ipa文件, 手动集成等.
  • 也提供了网页版, 上一条的功能基本都有
  • 手机可以打开网页, 选择某次构建直接安装对应App

iOS 12, watchOS 5, macOS Mojave 10.14, tvOS 12 等beta版描述文件下载

Apple 于北京时间 2018/6/5 凌晨1点召开了 WWDC (苹果全球开发者大会), 期间发布了各个系统的新版本, 现在已经提供测试版给开发者下载, 有兴趣下载安装以下文件后, 即可在系统更新中检测到测试版, 可更新体验.

  1. iOS 12 beta:
    iOS_12_Beta_Profile.mobileconfig

  2. watchOS 5 beta:
    watchOS_5_Beta_Profile.mobileconfig

  3. macOS Mojave 10.14 beta:
    macOSDeveloperBetaAccessUtility.dmg

  4. tvOS 12 beta:
    tvOS_12_Beta_Profile.mobileconfig

Git 忽略规则 .gitignore 配置建议, 拯救强迫症

.gitignore 文件

.gitignore 文件是用来描述 Git 忽略规则的文件, 用来防止你提交不必要的文件进入版本控制, 比如个人设置, 编译后的文件等, 一般来说只有源码才能加入版本控制.

GitHub 的建议忽略规则

很多强迫症患者, 建完项目, 要创建 .gitignore 文件时, 就开始纠结了, 总觉得自己填入的规则不全面, 网上找的也不尽相同. 这时候不如我们看看 GitHub 的建议吧, 在 GitHub 有一个 .gitignore 文件模板集合: https://github.com/github/gitignore

大概分为 语言的 和 环境的, 一级目录中的都是 各种语言的 gitignore, Global 目录下都是各种环境的全局 gitignore, 如系统的、和开发工具的忽略规则.

ijkplayer 的编译、打包 framework 和 https 支持

ijkplayerbilibili 开源的一款优秀的播放器, 基于 FFmpeg, 支持 iOS/Android, 点播/直播, 以及多种编码. 官方并不直接提供 framework 框架包, 这样大家可以根据需要选择配置, 自己编译并打包. 但是也让很多第一次使用的小伙伴一脸懵逼, 并且默认配置只支持 http, 如果想播放 https 链接的视频, 那么需要做额外的配置

本文为 iOS 的编译打包过程, 环境为 Mac + Xcode

准备工作

安装 homebrew, git, yasm. (如果已经安装好可以跳过, 不清楚的再来一遍也无妨)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm

使用 Python 把多个 MP4 合成一个视频

这两天群里有个小伙伴有一个需求, 就是把很多个视频文件 合并成一个. 期间也找了各种软件, 如格式工厂, 但是只能一次合成50个文件, 小伙伴有几千个文件需要合成, 太繁琐; 又比如会声会影, 这个剪辑是很强大, 但是软件也很大, 对电脑配置要求也高. 我只需要拼接功能, 割鸡焉用牛刀?

人生苦短 我用 Python

这两天刚好在学习用 Python 写自动化测试. 💡转念一想, Python 也很擅长图形处理, 那处理视频也不在话下吧, 于是就上网搜了搜, 果然找到了简单的办法~

开始安装使用

主要是利用 moviepy 这个库, 里面提供了丰富的功能, 我们只需要使用简单的拼接函数

隐藏