CaveOps: Night-City
#Hello Edgerunners, welcome to the Night-City.

Welcome!

What is System Integrity Protection (aka Rootless) and how to disable it

All Macs with OS X El Capitan installed on them have a new layer of security known as System Integrity Protection, which has been given the nickname Rootless because it closes off a lot of system files to user access to prevent malicious programs and code from causing harmful changes to the core of ...

AppleDoc: Docset Generator

Appledoc 是一个命令行工具,用来生成 .docset 文件。 文档风格默认与苹果保持一致的。 开源 生成 docset 并自动集成到 Xcode 中 没有特殊的注释要求,可以用 /** */ 的格式,也兼容 /*! */ 格式 Installnation 直接使用 brew 即可: brew install appledoc Usage 常用的指令是这样的: appledoc 项目路径 -o 输出路径 -p 项目名 -c 公司名 命令执行完毕后会在给定的输出目录生成 docset-installed.txt 文件,其中标明了文档所在位置,默认集成到 ~/Librar...

CoreData 与 SQLite 线程安全

数据库读取操作一般都是多线程访问的。在对数据进行读取时,我们要保证其当前状态不能被修改,即读取时加锁,否则就会出现数据错误混乱。 iOS中常用的两种数据持久化存储方式: CoreData SQLite 两者都需要设置线程安全,在这里以FMDB来解释对SQLite的线程安全访问。 FMDB 没有线程安全的执行方式 FMDatabase *database = [FMDatabase databaseWithPath:[self getDatabasePath]]; //打开数据库 [database open]; NSString *sql = @"create table ...

Concatenate arrays in liquid

今天在使用 Jekyll 时遇到一个问题: 数组合并。 第一反应是使用 concat 过滤, 但是实际操作后并没有效果。查阅了一些 资料 发现, 虽然 Liquid 本身已经支持 concat, 但并不包括在 Liquid 核心部分中, 因此在目前 Jekyll 的稳定版本中尚未实现。 关于 concat 过滤器的示例请参见: https://help.shopify.com/themes/liquid/filters/array-filters#concat 与此同时, 解决方案至关重要: =begin Jekyll filter to concatenate arrays Us...

笑顔がー番

iOS : HealthKit 牛刀小试

HealthKit 发布已经很久了,最近有机会用到,小试一把。 Framework 首先要导入 HealthKit.framework 框架,在 Build Phases 下 Link Binary with Libraries 中添加即可。 Capabilities 与 iCloud 等功能类似,也需要在 Capabilities 中开启后才能使用。 System Version HealthKit 是与 iOS 8 一同推出的,仅有运行 iOS 8 以上版本系统的 iPhone 与 Apple Watch 可以使用。你可以通过这句代码来判断设备是否支持 HealthKit: HKHealt...

Download the Xcode Documentations

由于 Xcode 中的自带的文档为在线文档,不包含离线 HTML 文件,然而 Xcode 中的下载速度又实在让人无奈,所以本文主要介绍如何加速下载 Xcode 文档的问题。 首先需要访问苹果官网的 XML 文件来获取下载路径: https://developer.apple.com/library/downloads/docset-index.dvtdownloadableindex 在这份 XML 中,依据更新时间的先后排序,越新的文档在越靠后的位置。 每一个 Docset 文档文件都有单独的注释,例如 <!-- START OS X doc set --> 和 <!-- ...

Work with CocoaPods and Gemfile

工作在一个 iOS 开发团队中,可能会有很多关于安装 CocoaPods 的问题。团队成员拥有不同的 cocoapods gem 的安装版本,并且当有人运行 pod install 时,会将事情搞得一团糟。解决方案是, 使用 Gemfile。你可以在 Gemfile 中指定 cocoapods gem 的使用版本。 gem source 'https://rubygems.org' #gem source 'https://ruby.taobao.org' gem 'cocoapods', '0.39.0' 当你更新了 G...

ADB 常用指令

调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用。通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具。adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯。默认情况下当我们运行Eclipse时adb进程就会自动运行。adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon。其中client和server运行在的development machine上,daemon运行在emulator或设备上。 ...

Swift : Changing the Value of Struct in an Array

今天帮朋友看了这样一个问题: import UIKit struct A { var a:Bool } struct B { var b : String var ba : A } struct C { var c : [B] } var cc = C(c: [ B(b: "1", ba: A(a: true)), B(b: "2", ba: A(a: true)), B(b: "3", ba: A(...

怎样验证 Xcode 来源

由于 Xcode Ghost 肆虐,苹果提供了验证 Xcode 来源的方法,需要使用终端: spctl --assess --verbose /Applications/Xcode.app 其中 /Applications/Xcode.app 是你系统中 Xcode 的路径,你也可能与这里的不同。 如果你得来源是 App Store: /Applications/Xcode.app: accepted source=Mac App Store 开发者网站: /Applications/Xcode.app: accepted source=Apple 开发者网站: /Applicat...

MacGap: Web App 生成工具

MacGap 是一个生成 WebApp 的终端工具, 安装很容易: gem install macgap 使用起来也很简单, 随意在什么路径下创建一个 app, 例如我在 ~ 目录新建一个叫 MyBlog 的 app: $ cd ~ $ macgap new MyBlog 本例中, MacGap 会在 ~ 下创建 MyBlog 文件夹, 包含 index.html 文件。 修改 MyBlog/index.html 甚至添加其它资源到 Blog/ 中, 然后开始构建: macgap build MyBlog 构建完成后会生成 MyBlog.app 文件。...

What's this?

The Night-City version of CaveOps inspired by Cyberpunk 2077. Not finished yet.

Pinned Message

The Founder and CEO of Infeca Technology.

Developer, Designer, Blogger.

Big fan of Apple, Love of colour.

Feel free to contact me.

反曲点科技创始人和首席执行官。

开发、设计与写作皆为所长。

热爱苹果、钟情色彩。

随时恭候 垂询