原本的想法其实是希望可以写一个类似交友软件的app,但中途卡关,也觉得学得不够扎实,所以先写了一个小小的to-do list当作起步。
现在可能懂的比较多一点点,看看能不能完成,就当作一个更大的挑战吧୧༼✿ ͡◕ д ◕͡ ༽୨
教大家如何开app新专案的文章有够多XD,这边就不赘述了。
专案大致的架构如下:arrow_down:
├─Info.plist
├─Resources
| ├─AppDelegate
| ├─SceneDelegate
| ├─Extensions
| └─DatabaseManager
├─Controllers
| ├─ConversationViewController (原本的main ViewController)
| ├─ChatViewController
| ├─LoginViewController
| ├─NewConversationViewController
| ├─PhotoViewerViewController
| ├─ProfileViewController
| ├─RegisterViewController
| └─VideoPlayerViewController
└─Views
└─Storyboards
├─Main.Storyboard
└─LaunchScreen.Storyboard
这次多了一些上次小专案没有的架构与档案,在此稍微说明一下。
放一些设定的地方。好随便的说明啊
如果对应到以前後端开发的档案,定位就像是config文件。
像是针对不同环境去设定变数,就可以在这边更改。
简单来说,AppDelegate负责app的生命周期,而SceneDelegate负责前端画面显示的东西。
而你问我生命周期是什麽...感谢网路上总是有大神,能把???的技术用语以白话文精准清楚的解释,参混淆系列:App 的生命周期「App Life Cycle」
其中讲到当前ios13 AppDelegate中共有3个函式
:::info
一些共同元件,或是单纯处理画面、与商业逻辑无关的程序转换。
跟DB连线,然後使用这个singleton连线去对DB进行资料存取。
其实我前一份程序也有做版控,总之版控起手式
git init
在地端资料夹加上版控
git add .
git status
把目前的内容加入,使用git status
可以看到还没commit的内容已被加入
git commit -m "Init pj"
commit後可以使用log去看提交纪录。
git log
不过有GUI就会想用一下,所以就下载了GitHub桌面版 XD
还算蛮好用的,也可连到GitHub、进行push。不过本系列文也不是旨在如何成为git大师,就大概带过基本语法~~
先前第一次初始专案时已经提过cocoapods的角色,那我这边就不多加说明,直接附上内容。
pod init
open Podfile
可在终端机使用以上指令,然後贴上以下的dependencies。
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'RealTimeChatroom' do
# Comment the next line if you do not want to use dynamic frameworks
use_frameworks!
# Pods for RealTimeChatroom
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Firebase/Analytics'
pod 'MessageKit'
pod 'JGProgressHUD'
pod 'RealmSwift'
pod 'SDWebImage'
end
与上次不同,我们这次的DB采用firebase。存档後把resources下载下来。
pod install
接下来就可以打开workspace,明天会先从注册/登入的画面下手。
如果有任何错误或指教,欢迎留言给我!第10天了,加油加油 ໒( ͡ᵔ ▾ ͡ᵔ )७
<<: Day25 - 如何安全的把 Kubernetes Secret 储存到 Git Repository
>>: 那些被忽略但很好用的 Web API / Clipboard
没有想到连假结束後的第一天就要冨樫了...,我工作的公司在新加坡,而我在台湾full remote,...
DAY9 MongoDB 文件与嵌入式(巢状)文件查询(Find) Find 把 MongoDB 的...
在上一章,我们提到了如何用一般方法实作 PRNG 乱数生成器,本章将介绍 State Monad 以...
今天我们来示范如何让一台 EC2 Instance 连线使用之前创建好的 RDS Instance...
本系列文以制作专案为主轴,纪录小弟学习React以及GrahQL的过程。主要是记下重点步骤以及我觉...