美文网首页
4.iOS 应用的起点

4.iOS 应用的起点

作者: virl | 来源:发表于2019-04-14 21:14 被阅读0次

iOS 应用的起点

iOS 项目搭建

创建一个新工程,iOS-> Single View App
输入工程信息:按照个人自己的信息录入
Production: kite
Origanization: nervending
Origaniztiong Identifier: com.nervending
Language: Swift
下面的三个选项都不用勾选:

添加三方依赖

Carthage简介与用法

使用Carthage作为三方包的管理工具,具体详细使用方法可以自行百度之,这里直接讲用法。
使用 homebrew 安装:

$ brew install carthage  

进入到工程目录
创建配置文件 Cartfile
输入我们现在需要用到的三方库

github "Alamofire/Alamofire" "5.0.0-beta.3"
github "stephencelis/SQLite.swift" ~> 0.11.5
github "SnapKit/SnapKit" ~> 4.0.0
github "SwiftyJSON/SwiftyJSON" == 4.2.0

运行命令

$ carthage update --platform iOS

成功之后就会在工程目录下生成一个Carthage目录里面Checkouts目录对应三方库的代码,build 目录对应的是三方库编译好的 framework,因为我们指定了只需要编译 iOS 下的所以 build 目录下只有 iOS 一个目录。
然后是把编译好的 framework 添加到工程依赖中。
在 xcode中点击工程文件蓝色的那个,TARGETS 选择 kite,然后选择Build Phases,点开下面 Link Binary With Libraries,把 build/iOS 目录下的三个 framework 拖进来。
然后点击小加号,New Run Script Phase
输入脚本命令: Carthage copy-frameworks
添加 input Files

$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/SnapKit.framework
$(SRCROOT)/Carthage/Build/iOS/SQLite.framework
$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework

在 Build Setting 中修改 Franework Search Paths增加如下路径:$(PROJECT_DIR)/Carthage/Build/iOS (也有可能会自动添加好)
确认General 下 Linked Frameworks and Libraries 中包含着三个 framework

现在可以添加一下依赖在 AppDelegate.swift 文件头添加导入函数

import Alamofire
import SQLite
import SnapKit
import SwiftyJSON

然后 run 一下,测试是否配置成功。

记得修改 gitignore 文件,将Carthage相关的中间文件忽略

kite/Carthage/

相关三方代码简介

  • Alamofire 网络基础库
  • SQLite swift 实现的对 SQLite 数据的封装
  • SnapKit swift 自动布局的三方库
  • SwiftyJSON swift 语言实现的更简单的操作 json 格式的组件库

工程代码组织结构及代码组织的原则

然后新增几个目录

  • ui:用来放业务呈现给用户的代码

原则:ui交互代码只负责渲染,页面跳转逻辑,用户输入逻辑,基础输入数据的校验,不包含具体业务处理的代码,不能包含直接调用网络、数据库的直接代码,比如一个登录界面,渲染用户登录界面,用户输入登录账号后检查用户名是否合法,调用封装的登录操作函数,在回掉中登录失败则弹出错误信息,登录成功则进行下一个页面跳转。

  • models:用来放数据库相关的模型相关文件

原则:与数据库相关的操作都封装在模型文件里

  • common:基础的组件代码

原则:基础的脱离业务的通用代码

  • controllers:存放应用业务逻辑代码

原则:具体业务的逻辑操作,网络操作,数据库操作都通过控制器代码来调用。
有两个主要的分类 AppInstance 用来存放应用共有的属性相关的逻辑,UserInstance 存放用户相关的业务逻辑。

特殊声明

代码是在不断进化的,尤其开始搭建框架的时候会假设一些东西,后续在应用的过程中会不断的选择更合适的方式来修改。

相关文章

  • 4.iOS 应用的起点

    iOS 应用的起点 iOS 项目搭建 创建一个新工程,iOS-> Single View App输入工程信息:按照...

  • 整理

    KVO的实现原理与具体应用 2.通知 3.iOS多线程----NSOperation 4.iOS多线程----GC...

  • iOS 代码可能遗忘的小技巧

    1.计算程序运行时间 2.根据模拟器或真机执行不同代码 3.颜色的宏定义 4.iOS应用程序直接退出 5.设置状态...

  • WebDriverAgent

    1.背景 2.编译 3.启动 4.ios小demo 5.截图

  • 4.iOS 应用图标,启动页等设计参数

    这些是我再做App时,通过自己的经验和参考apple官网数据的分析得来的,希望会帮助到你。有不足的地方还请谅...

  • 7.富文本总结:

    1.前言: 2.富文本使用的案列: 3.自己项目中的使用富文本: 4.IOS之NSMutableAttribute...

  • laravel 基础教程 —— 应用目录结构

    简介 默认的 laravel 应用目录结构旨在为大型和小型应用提供一个很好的起点。当然你可以自主的去管理你的应用目...

  • iOS中的Runloop(原创)

    1.什么是Runloop 2.Runloop有什么用 3.iOS中Runloop是如何实现的 4.iOS中Runl...

  • React源码解析之FiberRoot

    一、FiberRoot的含义与作用(1)FiberRoot是整个React应用的起点(2)FiberRoot包含应...

  • CPU和GPU之间的通信2018-11-26

    渲染流水线的起点是CPU,即应用阶段。应用阶段大致可分为下面3个阶段。 (1)把数据加载到显存 ...

网友评论

      本文标题:4.iOS 应用的起点

      本文链接:https://www.haomeiwen.com/subject/xdcewqtx.html