[iOS] 使用 Facebook SDK 登入
繼使用 Facebook SDK成功後,接下來實現使用 Facebook SDK 登入。
想要使用Facebook 登入,首先要下載 Facebook SDK 及建立申請 Facebook App,詳情請看文章使用 Facebook SDK。
繼使用 Facebook SDK成功後,接下來實現使用 Facebook SDK 登入。
想要使用Facebook 登入,首先要下載 Facebook SDK 及建立申請 Facebook App,詳情請看文章使用 Facebook SDK。
在播放影片時特定畫面橫向文章提到播放影片時要橫向,那麼在播放完影片後,想要回復到直向可以怎麼做?
原來只要一行程式碼就能搞定!
/** Theme: Force to Rotate Portrait IDE: Xcode 9 Language: Objective C Date: 107/01/02 Author: HappyMan Blog: https://cg2010studio.com/ */ [[UIDevice currentDevice] setValue:@(UIInterfaceOrientationPortrait) forKey:@"orientation"];
注意字串orientation。
可使用方向的列舉:
typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown,
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
} __TVOS_PROHIBITED;
現在有非常多應用程式都會加入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啦~
HappyMan・迴響