跳到主要內容

精選

《十分鐘學程式》Firebase Push Notification - iOS Swift

現在已經是手機不離身的年代了,每天少則幾十通 推播通知 (Push Notification) ,多則上百通,大家是否思考過這些推播是怎麼作業的嗎?好吧!我自己也沒想過,因為一切都是這麼的自然XD。 推播對一個 App 來說是不可缺少的,畢竟不可能要求使用者一直開著 App,那如何要在使用者在未開啟 App 時來達到傳遞訊息呢?這時就可以用飛鴿傳書,或是請刺客來幫忙傳遞...,如果這些方法都不喜歡的話,那可以考慮用用費時又浪費資源的推播 Push Notification 來達到這個目的。 說到這邊,是否想到如果要做到推播就需要自己先建一個 Server 才能做到,答案是否定的,因為我們有強大的 Google 幫大家都已經架設好了,而且是『免費的』這才是最重要的,因此 Firebase 就這樣產生了!!這次就要教大家如何使用 Firebase 來做到 iOS Push Notification。 在開始教學前需要做一些準備: 一台裝好 Xcode 的 Mac 一個付費的 Apple developer account,沒錯就是那個每年要繳 99美元的帳號 一個 Google 帳號 一杯夠大杯的咖啡 (What?) 上面這些東西都準備好的話!我們就開始上課嚕~~ 這堂課會分 12 小節: ・Xcode 建立一個 Swift 專案 ・設定 Apple Developer Account ・產生 CSR 檔 ・上傳 CSR 檔 ・準備 APNs (Apple Push Notifications) 認證 ・Firebase 建立新專案 ・Firebase Push Notification 設定 ・撰寫設計一個支援 Firebase Push Notification 的 iOS App ・開啟 Push Notification 功能 ・匯入 GoogleService-Info.plist ・初始化 Push Notification 設定 ・測試 Firebase Push Notification Xcode 建立一個 Swift 專案 1. 開啟 Xcode,選擇『 Create a new Xcode project 』來建立一個新的專案 2. 選擇『 Singl

《十分鐘學程式》Android Studio Update 3.0.1 - error: style attribute '@android:attr/windowsEnterAnimation' not found

相信現在開發 Android 的人所使用的 IDE 不外乎是 EclipseAndroid Studio,而開發人員最害怕的就是『更新』這兩個字。不論是更新 IDE 或是更新 OS 都會讓我們提心吊膽 ,因為更新完之前所寫的 project 可能就不能順利 build 過,甚至到完全無法開啟 project 的窘境。所以一般來說,我們 RD 幾乎不太會主動去更新任何東西,深怕一更新完會跳出一堆 error 訊息

不過『不更新』不是長久之計,而且隨著時間,科技也快速的成長,因此必定會遇到『強迫更新』的情況,遇到就只能乖乖的更新了。

今天去 Git 載了 Exoplayer 的 project,開開心心的用 Android Studio 開啟後,悲劇發生,必須把 Android Studio 更新至 3.0 版才可開啟,真是 OOXX 怎麼可以這樣強迫人呢?完全沒有顧慮到我們的感受。雖然抱怨了那麼多,然還是只能給它用力的更新下去。提著害怕的心情等待更新完成的那一刻的到來。等了差不多五分鐘,終於完成了,終於肯讓我把 Exoplayer 的 project 打開了,歡呼!!

但是開心的時間大概只有一分鐘,當我把舊的 project 打開後.....
最不想遇到的悲劇也發生了。內心只有一個字可以形容....那就是『』((請自行填空
果然出現了 error 訊息,遇到了就勇敢的面對它吧!!相信如果有把 Android Studio 更新至 3.0 版本的人也一定會遇到同樣的狀況,因此就在這裡記錄下來嚕!!

《error: style attribute '@android:attr/windowsEnterAnimation' not found》

遇到 error 訊息必須沉穩的來解決(雖然每次我都不是如此....),每個人解決的方式都不同,而我是一步一步逐行的把 error 訊息給解決
將 project 一打開後,就跳出 Update 的視窗,如下圖

每次跳出這種視窗都沒有什麼好事情。這個視窗的重點在『update the Android Gradle plugin to version 3.0.1 and Gradle to version 4.1.』,主要是因為 Android Studio 3.0 是使用 Gradle 4.1 版,在 4.1 版支援了 Google 檔案庫,因此 Gradle plugin 也應該更新至 3.0.1 以上。就用力地按下『Update』吧!
更新完後,果不其然的出現了 error message,如下圖


還好這次 error message 不多,就一行一行的來解決問題吧。
最上面的的 warning 訊息就先擱置,等等在處理,先來處理最要命的 error。其實這個問題只要是更新到 Android Studio 3.0 的人開起舊專案一定會有這個問題。
error: style attribute '@android:attr/windowsEnterAnimation' not found
這個問題是因為 Android Studio 3.0 已經不支援@開頭來使用 android 自帶的屬性。有兩個解決方法,我已經嘗試過兩種都可以解決,至於要用哪一種就看個人嚕。

《第一種》

將之前使用@開頭來使用 android 自帶屬性的地方,刪掉@符號即可。通常是寫在 style.xml 檔案內。可以在 error message 上方連點兩下,Android Studio 會自動幫你跳到錯誤的程式碼所在地。


果然是在 style.xml 使用了 @android 屬性,如下圖


將 @android: 改成 android:


接著點選 Android Studio 上方的工具列 Build → Clean Project


等待一段時間後,會發現 error message 真的消失了!!可喜可賀


接著來處理 warning message,當然不修正 warning message 也是可以 build 的,不過因為個人堅持所以就一並處理掉啦!
一樣我們先了解這個 warning message 是在和我們說明些甚麼。簡單來說,就是提醒我們所使用的 SDK Build Tools version (26.0.1) 已經被 Android Gradle Plugin 3.0.1 所忽略,建議我們改使用 SDK Build Tools version (26.0.2)。那我們就聽話一點改到 26.0.2 版本吧!
在 Android Studio 左邊的 Project 視窗(如果有改過版面配置,請依照自己的配置找到 Project 視窗) 找到 build.gradle (Module:app),連點兩下


就會看到目前這個 project 所使用的 build tools 版本


buildToolsVersion "26.0.1" 修改成 "26.0.2",並且點選左上角的『Sync Now


等待一段時間後會發現 error message 和 warning message 都不見啦!!看到 0 errors, 0 warnings 就是開心!!

《第二種》

在 Android Studio 左邊的 Project 視窗找到 gradle.properties (Project Properties) 連點兩下,然後在最後加上『android.enableAapt2=false』,點選右上角的『Sync Now』。等待一段時間後 error message 就不見啦。


warming message 的處理方法和第一種相同,這裡就不再寫一遍嚕。希望有幫助到大家。

留言

熱門文章