[iOS] 使用 Facebook SDK
現在有非常多應用程式都會加入Facebook相關的功能,來登入服務或分享訊息等。而在使用Facebook功能前,我們必須先下載 Facebook SDK 及在 iOS 上設定。
下圖是我成功使用 Facebook SDK後,在App Dashboard上看到的結果,我使用兩支手機和兩個臉帳號登入,可立即在Real Time上看到兩人上線。
現在有非常多應用程式都會加入Facebook相關的功能,來登入服務或分享訊息等。而在使用Facebook功能前,我們必須先下載 Facebook SDK 及在 iOS 上設定。
下圖是我成功使用 Facebook SDK後,在App Dashboard上看到的結果,我使用兩支手機和兩個臉帳號登入,可立即在Real Time上看到兩人上線。
我使用第三方套件XCDYouTubeKit,就可以透過內建的MPMoviePlayerViewController來播放影片,那麼想要在特定的畫面橫向怎麼實現?因為整個App專案設定只有Portrait,也就是直向,只有在播放影片時要變成可以Landscape,就是橫向。
先前寫了篇文章:在WebView播放Youtube影片旋轉,確實可以做到。不過iOS 9之後又有稍微變化,只好改寫它囉~
我App中有三個Localization,分別是:
使用者可以在這三個隨意切換,來顯示他想要的語言介面。
三年前已有實現過多國語言化的預設語言 (Default (Fallback) Language of Localization),不過那篇文章我是有寫code,這次只要調整專案中的Info.plist即可!
調整過後,我切換到日語(SIM字眼旁是日文),App介面語言是英文喔~
最近客戶的SDK更新版本,那要怎麼融入我已修改過檔案?這時候就要使用比對檔案內容 (Compare File Content)平台,現在已經有很多線上免費工具,所以挑一個來使用即可!方式有兩種:
比起開啟兩個檔案,只有純文字介面來尋找有效率多啦~
話說,我個人不是很喜歡修修改改已經寫好的功能,這次的經驗是,直接使用人家寫好的class,再來加入自己的功能。若能輕易看懂對方寫什麼,我就會開心點~
參考:Diff Checker – Online diff tool to compare text to find the difference、DiffNow – Compare files online. Powered by ExamDiff Pro。
隨著iOS 11的來臨,Apple發表最新一代的手機iPhone X,它的螢幕大小是iPhone有史以來最大5.8吋,所以在設計UI/UX上就要有所調整。過去的幾個螢幕大小:
已不成問題,因為從2014年末開始至今三年的時間,發表iPhone的機種螢幕大小是4.7吋和5.5吋,這讓設計師和開發者都已習慣。
有時候必須要移除所有子視圖 (Remove All Subviews),再來產生新的子視圖,除了可以回復原始狀態外,管理起來也挺方便的!

單例 (Singleton) 或稱單一實體,也就是程式運行時,此Class永遠只有一個實體。

原本生成一個實體寫法:
HappyClass *class = [[HappyClass alloc] init];
程式每次執行到此,都會重新生成一個實體。若有多重執行緒,很有可能不小心生成多個實體;或是操作流程多變,也是可能會生成多個實體。
今天來講一下簡單的問題,不知道要怎麼稱呼這一篇,就姑且叫呼叫Web Service除錯吧~
其實就是串API時所發現的奇異問題!使用Postman或Chrome呼叫都很成功回傳我要的資料,卻在寫進iOS中卻得到不預期的結果,先前有提到過Basic Authentication,程式傳遞token後,回傳結果表示沒有傳遞token給server,明明就是照先前的code複製貼上修改API Function名稱,這次居然有問題讓我很納悶。
人不是萬能,總得要投降來找救兵,以便跳出框框,看見問題的癥結。還是找我們寫後台的資深工程師幫忙查看,搞了兩小時多,Function名稱換掉也一樣,最後資深工程師發現,原來URL不小心多打一個「/」~
錯:
http://happystudio.notebook.com:5000/api/ecg/?start_date=2017-10-18&end_date=2017-11-17
對:
http://happystudio.notebook.com:5000/api/ecg?start_date=2017-10-18&end_date=2017-11-17
原因:?前多一個/
那為何Postman或Chrome測試沒有問題?因為這兩個工具會自動把沒有「/」,變成有「/」,來符合後台的API格式,然而iOS SDK就沒做這個容錯處理。這要歸類成相容性問題嗎?其實複製URL貼上到Chrome測試,我就有發現網址會跳成有「/」。
花了點時間,算是幫後台debug啦~
正在開發跨國使用的iOS App,所以App名稱最好也能跟著變更,來讓當地使用者看到App名稱更輕易地辨識。
![[iOS] 支援多語系 App 名稱1](https://cg2010studio.com/wp-content/uploads/2017/11/ios-e694afe68fb4e5a49ae8aa9ee7b3bb-app-e5908de7a8b11.png?w=540)
可以見到我的Info.plist檔中有五處是中文字,想要多國語言化可以怎麼做?其實也跟幾年前我寫的多國語言化很類似,參考文章:多國語系 (Localization)。
HappyMan・迴響