1. Fastlane 插件开发

    能用计算机自动处理的事情,为什么还要手动重复劳动。

    fastlane

    Fastlane 是一个优秀的 CI 工具,移动开发少不了它。

    The easiest way to automate building and releasing your iOS and Android apps

    开发&调试

    1. 添加到项目 Pluginfile
    # Autogenerated by fastlane
    #
    # Ensure this file is checked in to source control!
    
    #gem 'fastlane-plugin-ftp'
    gem 'fastlane-plugin-ftp', :path => '~/Documents …

  2. Swift 中的 Lazy 初始化

    Lazy 初始化技术早在 Objective C 时代经常被使用,是一种用来延时创建一些比较消耗资源的对象的技术。

    这种技术在 iOS 开发里面很有用,确保只有在需要使用某些资源的时候才开始分配内存。

    老的方式

    这是在 Objective C 里面的写法:

    @property (nonatomic, strong) NSMutableArray *players;
    
    - (NSMutableArray *)players {
        if (!_players) {
            _players = [[NSMutableArray alloc] init];
        }
        return _players;
    }
    

    Swift 新方式

    lazy var players = [String]()
    

    非常简单,就一句话!

    需要注意的是,声明 lazy 变量必须用 var 关键字,不能使用 let。因为常量对象初始化完成的时候必须有一个初始值。

    使用 Closure 定义 …



  3. xctool 使用

    xctool 可以理解为 xcodebuild 的增强版,特别有利于可持续集成。xctool 由 Facebook 开发维护,项目地址 https://github.com/facebook/xctool

    安装 xctool

    $ brew install xctool
    ==> Downloading https://homebrew.bintray.com/bottles/xctool-0.2.7.el_capitan.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring xctool-0.2.7.el_capitan.bottle.tar.gz
    🍺  /usr/local/Cellar/xctool/0.2.7 …

  4. 破解 Asset Catalog

    Asset Catalog 是 Xcode 5 引入的一个新的图片管理方式,支持矢量图,这样设计师不需要再切 @2x, @3x 等多套图标,提高效率。

    使用了 Asset Catalog 的 App 在发布的时候,Xcode 会为这些图片资源打包成 Assets.car 这样的文件,而且无法直接打开。

    提取 Assets.car 图片

    使用开源的 cartool 工具提取 .car 文件中的资源。

    1. clone 源码。
    2. 编译,生成 cartool 工具。
    3. 使用 cartool 破解 .car 文件中的资源
    $ ./cartool <.car 文件的路径> <解压后的文件路径>
    

    这样就可以获取 Assets …


  5. Xcode 7 清除多余的 Woking copies

    Xcode 版本:Version 7.1 (7B91b)

    问题描述: 由于项目从 SVN 切到 Git,所以在项目的 Source Control 里面的 Woking copies 里面有旧项目残留的 SVN。

    解决方法: 删除 ProjectName.xcworkspace > xcshareddata > ProjectName.xcscmblueprint,重启 Xcode。

    参考链接:http://stackoverflow.com/a/27535601


  6. Xcode

    Xcode 目前最新版本 Xcode 5.0 ,支持 iPhone 5s, iOS 7 开发。

    What's New

    各个版本的 Xcode 新增功能说明。

    Xcode 5.0.x

    Help you design an app that looks gorgeous on iOS 7 or OS X Mavericks.

    WWDC地址:What’s New in Xcode 5

    • 素材管理(Asset Management):素材目录(Asset Catalogs),后缀名为.xcassets …

  7. Cocoa Auto Layout

    Auto Layout 是 iOS 6.0 和 Xcode 4.5 的新特性。

    使用 Cocoa Auto Layout 系统为用户界面元素定义布局约束,其中约束(Constraints)表示用户界面控件之间的关系,比如 “这些视图从头至尾排列”。

    Cocoa Auto Layout 让用户来定义界面元素的布局规则。

    视图之间的约束表示


  8. iOS 设计模式: Model View Controller

    MVC 设计模式的主要目的是可重用性,能够在不同的视图中使用重用同一个模型。

    Model View Controller (MVC) Design Pattern

    模型 Model

    模型包含了数据。例如,一个 Book 对象包含有关书的信息:标题和作者。此外,Book 对象能够被其它对象关联,建立一对一或一对多的关系。例如 Category 对象可包含多个 Book 对象。模型中的数据可以来源于本地数据库或文件,也可以从网络请求回来。

    模型不应该直接和视图打交道,应该在需要的时候访问通过控制器来访问。

    在 iOS 中,模型通常是 NSObject 或 NSManagedObject的子类。任何模型对象包括一些实例变量和对应的 getter/setter 方法。大多数面向对象编程语言都有提供封装的机制。在 iOS 中使用 @property 封装,和可选的 @synthesize 自动生成 getter/setter 方法。以 Book 模型为例 …


  9. iOS Frameworks

    iOS 的架构是分层的

    Layers of iOS

    Frameworks

    iOS 提供了一套框架,将 iOS 应用程序的技术,服务和功能结合了起来。


Page 1 / 4