沙盒及文件的读写

这是一篇几年前就应该记的笔记,涉及到iOS沙盒内文件管理,今天给补上。

沙盒

iOS系统为了保证安全,文件夹使用沙盒机制。如果你试图通过记录绝对路径的形式来访问沙盒内的文件,结果可能会让你失望。
通常情况下,沙盒路径可以通过代码 NSHomeDirectory()获取。
沙盒目录文件下,包含三个文件夹。分别是

  • Documents
  • Library
  • tmp

阅读全文

流式布局模块列表

几乎每个应用都会有自己的功能模块。整体布局上有的使用抽屉式布局(比如QQ),有的使用流式布局(比如支付宝)。现在记录下流式布局的功能模块UI界面。

阅读全文

可变参数函数

当一个函数拥有不定的参数个数时,该函数为可变参数函数。例如NSString的stringWithFormat:方法;NSLog(NSString *format, …)

阅读全文

位置服务授权适配

iOS11系统针对位置服务授权字段描述进行了变更。iOS11之后如果不进行配置,则在使用位置时会提示如下信息

使用iBeacon技术,在程序不打开的情况下对区域进行监听时,需要将位置使用方式设置为Always。控制台出现以下log信息:

This app has attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain both NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription keys with string values explaining to the user how the app uses this data

阅读全文

A*算法

本文分享简单A*算法的实现。

阅读全文

Beyond Compare for Mac免License方法

本文操作仅供参考,如果感觉使用方面建议购买正版Beyond Compare链接

具体操作

  • 下载Beyond Compare,然后依次 包含内容 -> Contents -> MacOS

阅读全文

CocoaPods个人代码组件管理

Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,本节介绍如何将自己的组件代码交由它去管理。

创建Git仓库

根据GitHub提示操作即可,建立自己的Git仓库。

创建podspec文件

终端直接执行以下命令,创建Pod项目工程文件,例如要创建一个叫做 LTChat 的Pod工程,命令执行成功后,会看到一个叫做 LTChat.podspec 的文件。

1
pod spec create "LTChat"

阅读全文

工程勘察

河南省勘察质量监督管理平台。对地勘外业备案进行流程化管理;现场见证与飞行检查联动。
这是一个比较简单的项目;本文补充记录开发移动iOS端「工程勘察」过程中遇到的问题及解决方案。

阅读全文

重定向

在linux系统下,一切皆是文件,对文件的操作,一般要用到文件标识符。

常用的FD(File Descriptor)

linux启动后,会默认打开3个文件描述符。分别是:

  • 0 - 标准输入,/dev/stdin,可以理解为键盘
  • 1 - 标准输出,/dev/stdout,正确的输出,可以理解为屏幕
  • 2 - 标准错误输出,/dev/stderr,错误输出

对于任何一条linux命令,都会有以上默认的3个描述符。也可以简单的理解为每个程序(函数)都会有输入、正确/错误输出。

阅读全文

修改文件所有者

chown

使用超级管理员用户权限时,可以更改文件的所有者和用户组,命令如下:

chown [owner][:[group]] file…

阅读全文