期末專題 — Paths
Published in
4 min readDec 3, 2019
題目名稱: Paths
我的期末專題名字叫做Paths,是一款以旅行為主題的App。
可以參考期末報告時的簡報: 連結
理念(想)
每趟旅程,都是由一個個的節點所組成,將節點連起來,終將成一條路徑,每條路徑都是一個獨一無二的故事。
我期望透過 Paths,能夠紀錄下旅途中最美好且獨一無二的一刻,譜寫出一個個精彩動人的故事。
核心概念
- 每趟旅程,都由一個個節點組成
- 使用者唯有到當地,才能創建節點
- 一個節點一定要,也只能搭配一張照片,並搭配最多10行文字
- 照片只能是當下拍攝
- 最終每個節點終將連起來,形成一個故事(Path)
(1) App 操作的 gif
(2)重點程式碼
這次專題有使用了Peter老師建議的 Flickr API(有需要的可以參考這篇文章),抓取附近景點的照片。
先用web request抓下原始json資料,request內有目前所在地的經緯度(“&lat=xxx&lon=xxx”),Flickr 會返回所在地附近的照片,再從中拿出圖片的url。由於 QLPreviewcontroller 貌似只能吃檔案路徑,所以先用圖片url將圖片抓下來,存在本地,再取得檔案路徑。
(3) Github 連結
Github: https://github.com/314pies/Unamed002
(4) 遇到的問題與解決方式
- 問題:報錯 “Your app is missing support for the following URL schemes:”
解決方式:後來發現是因為整合Facebook SDK的時候,Google 的 URL schemes 被覆蓋掉,後來手動重新加入就好。 - 問題:在實體手機上打字時完成時,沒有辦法“確認送出”
解決方式:照著這個教學,在鍵盤上添加“Done”按鈕
(連結:https://medium.com/swift2go/swift-add-keyboard-done-button-using-uitoolbar-c2bea50a12c7) - 問題:使用模擬器跑都正常,但Build到實體機時,呼叫UIImagePickerController時,跳出” Attempt to present * UIImagePickerController*… whose view is not in the window hierarchy” 錯誤訊息
解決方式:將UIImagePickerController的呼叫從ViewDidLoad 移到 ViewDidAppear內
(5) 心得
這次專題我其實做得還蠻開心的,使用陌生的環境開發充滿了新鮮感,唯一的小小抱怨的就是真的太累了(癱倒),希望以後有時間可以把這個App更加完善。