#Hello Edgerunners, welcome to the Night-City.

Welcome!

UNIX/Linux : 自定义命令提示符

用过终端的朋友肯定对默认的提示符 localhost:~ Meniny$ 或者 [Meniny@localhost ~]$ 很熟悉,现在我们来了解一下如果修改这个提示符的内容,以 bash 为例。 自定义命令提示符内容 在 UNIX/Linux 系统中,有一个变量叫做 PS1,我们要修改的内容就是它,首先来看一下它默认的内容,以 OS X 为例: localhost:~ Meniny$ echo $PS1 \h:\W \u\$ 你可以看到 PS1 中有很多转义符号,下面我们来了解一下 FC4 环境下这些转义符号所代表的意义: \d日期,格式为年 月 日 \H完整主机名 \h缩写主机名 \...

OS X : 应用程序不能打开

如果在启动应用/游戏时遇到 "应用程序 XXX.app 不能打开" 的问题,通常可能是执行文件的权限有误。 解决这一问题也比较简单,可以尝试进入 /Applications/XXX.app/Contents/MacOS/ 路径,修改其中的与应用/游戏同名的 Unix executable 文件的权限为 755 后再次运行。 chmod 755 /Applications/XXX.app/Contents/MacOS/XXX ...

iOS : Custom Keyboard

从 iOS 8 开始苹果允许开发者创造自己的第三方输入法,最近有些朋友问我关于第三方输入法开发的问题,所以也就有了这篇博客。 当然,我还是要说,如果你只是希望给自己的应用添加一个自定义的键盘或着给用户已有键盘添加更多功能,你也许只需要参阅 关于自定义输入视图和输入辅助视图的介绍 功能实现 准备工作 首先在 Xcode 中创建一个工程,然后依次选择菜单 File => New => Target... 来新建一个 Target,并在新建面板中选择 iOS => Application Extension => Custom Keyboard。 输入法间的切换 事实上 X...

iOS 9 : CLLocation 后台定位

iOS 9 还对另外一个常用的操作——定位做了一些改进,主要针对的场景是后台定位。 关于其他 iOS 9 的特性与功能,有兴趣的朋友可以参考我博客中的 iOS 9 适配系列。 后台定位权限 在 iOS 9 中,如果你没有请求后台定位权限,那么后台定位时将出现类似开启个人热点后的蓝色提示条,这里所说的权限分为两种: requestWhenInUseAuthorization: 可在应用使用时定位,也即处于前台时 requestAlwaysAuthorization: 一直定位,即使应用在后台 我们只需要使用其中之一即可,如果前后台都需要时则只使用 requestAlwaysAuthori...

iOS 9 : StoryBoard Refrences

iOS 9 还对另外一个常用的工具——StoryBoard 做了一些改进。 关于其他 iOS 9 的特性与功能,有兴趣的朋友可以参考我博客中的 iOS 9 适配系列。 在 iOS 9 之前,苹果虽然大力推广 StoryBoard,但在实际使用过程中还是有不少的坑。从 iOS 9 开始,苹果引入了 StoryBoard Refrences 概念为我们填坑,希望 StoryBoard 能扮演更重要的角色。 什么是 StoryBoard Refrences 在没有这个概念之前,如果你在 StoryBoard 中创建较为复杂的界面或数量众多的控制器,你很快就会发现它变得越来越难以管理,于是很多人选...

Xcode : Failed to get the task for process xxxxx

在真机调试时有时会遇到一个提示: process launch failed: failed to get the task for process xxxxx 如果出现上面的提示(或者 time out),一般情况下是由于 Code Signing 中描述文件选择不当,真机调试要求使用 Developer Provisioning Profile,而你可能选择了 AdHoc/Distribution Provisioning profile。...

CocoaPods: 常用操作

CocoaPods 相比不用介绍了,本文主要介绍一些 pod 常用操作: CocoaPods is a dependency manager for iOS & Mac projects. 安装 首先要安装 pod 需要 Ruby 2.2.2 以上,在 OS X 中自带了 Ruby,但可能版本比较低,升级 Ruby 的方法有很多,这里不一一列举 (but, 如果你使用 rvm,可以参考我之前的 相关博客)。 接下来我们还需要用到 gem。 首先你可能需要修改 gem 的源,国内的网络你懂得,rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇...

Injection for Xcode : 翻滚吧!开发效率

其实从接触 iOS 以来一直有个期望,就是可以像 HTML 一样可以快速刷新应用实例,而不用一遍一遍的 Build。 如果你不抓紧,总有些人会实现你的梦想,今天要介绍的 Injection for Xcode 就是为这样的快速刷新而生的。事实上 Injection 是一个 Xcode 插件,它会解析应用的 build 日志,然后将重新编译的内容放入一个 bundle 中,而这个 bundle 已经通过 dynamic loader 载入到应用中。原始版本与修改后的版本其实是共存的,Injection 通过 swizzling 来产生我们所看到的效果。 它的使用也十分简单,启动 Injectio...

Xcode 7 : 浅析 .tbd 与 .dylib

不少升级 Xcode 7 的小伙伴们都表示在引入动态库时惊呆了,因为熟悉的 .dylib 不见了,取而代之的是 .tbd。 .dylib 去哪了 事实上 .dylib 还在原来的位置,而且我们也可以通过解析 .tbd 来找到他们,要使用原来的 .dylib 文件可以这样做: 选择 Target 选择 BuildPhases 展开 Link Binary With Libraries 点击 + 点击 Add other 按下 ⌘ + ⇧ + G 输入 /usr/lib/ .tbd 是什么 经过苦苦的搜索之后,还是没有(!!!)任何有价值的文献,只在苹果开发者论坛中...

iOS : 自定义相机实例 Demo

本文介绍一个简单的自定义相机实例 Demo。 如我前面文章所说,首先需要包含 AVFoundation.framework,并导入头文件: #import <AVFoundation/AVFoundation.h> 添加必要的属性: // 处理输入输出设备的数据流动 @property (nonatomic, strong) AVCaptureSession *captureSession; // 输入设备 @property (nonatomic, strong) AVCaptureDeviceInput *captureInput; // 输出设备,本例输出静止图像 @pr...

iOS : 自定义相机实现视频录制和照片拍摄

相信很多人都用过拍照功能,通常情况下我们使用 Picker 就可以实现简单地拍照,但是系统提供的简易相机功能真的太少,需要一些高级功能时往往显得十分无能。 概念解析 首先,我们需要引入 AVFoundation.framework 以便使用相关的类和方法。 输入设备 我们使用 AVCaptureDevice 实例来得到输入设备,例如相机或麦克风。 我们使用 AVCaptureDeviceInput 实例来配置输入设备。 一个 AVCaptureDeviceInput 实例拥有多个输入端口,也就是 AVCaptureInputPort 实例。 输出设备 我们使用 AVCapt...

iOS 9 : SFSafariViewController

iOS 9 引入了很多实用的新特性,本文主要来介绍其中之一: SFSafariViewController。 关于其他 iOS 9 的特性与功能,有兴趣的朋友可以参考我博客中的 iOS 9 适配系列。 在 iOS 9 出现之前,我们访问 Web 页面有这样几种方式: 跳转到 Safari WebKit(例如 UIWebView 及其子类 WKWebView 等) (当然,你也可以从无到有创建自己的控件,这里不做讨论) 从 iOS 9 发布之后我们有了新的选择,那就是SFSafariViewController,它继承自 UIViewController,使你的用户不再需要离开应用就能使...

What's this?

The Night-City version of Hotodogo 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.

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

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

热爱苹果、钟情色彩。

随时恭候 垂询

Outer Square Inner Square