iOS 开发记录(零)

  • swift 3.0
  • xcode 9.2
  • cocoapods
  • iOS 10.0及以上

如果你的模拟器出现了莫名其妙的问题,比如单击操作需双击,点击穿透,push页面卡住等,此问题为mac mini某些处理器不兼容某系处理器所致,可以尝试执行以下命令解决(最后的参数1可换为2尝试):

defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferEmulationHint 1

整体结构

  • View & Controller --- xib来对每个页面进行 autolayout 布局
  • Network --- moya作为网络请求组件进行network request
    • API 定义
    • API Provider 网络请求实现
    • Request/Response Collection
    • ObjectMapper 定义返回数据与变量map
  • Model --- 定义可复用的数据结构
  • Manager --- 单例模式,处理每个网络请求的逻辑,返回所需格式
  • MockData --- Mock json格式的数据,用作模拟网络请求数据,便于开发
  • Common --- 公共组件、工具方法、公共常量、扩展等
  • Localizable.string(en/zh) --- I18N国际化
  • Assets.xcassets --- 静态图片资源
  • AppDelegate --- 重要的app代理,包括入口页面设置,app各个生命周期事件设置等

除此之外:

  1. 若要实现app企业分发或者上架App Store,需要苹果账号付费之后在苹果开发者网站后台创建相应的证书文件,并在项目xcode如下界面选择此账号。
    配置开发者账号和证书
  2. 很多App需要用到苹果的官方推送notification service,此时需要开发者自己搭建服务器进行推送,大致流程为:
  • 应用安装启动后自动生成一个 device token ,此token为识别设备的唯一ID(但每次安装会变)
  • 当需要推送时,开发者的服务器利用苹果官方SDK 向苹果推送服务器发送请求,请求中包括 device token、推送内容以及推送未读数量
  • 苹果服务器收到请求后即按照请求参数向指定device推送指定内容
    具体实践可参考此文章,若打不开需要挂梯子。

前端开发,无外乎两个方面:页面布局(元素+事件)、网络请求(Restful+Json)

你可能感兴趣的:(iOS 开发记录(零))