Just My Life & My Work

Posts tagged ‘ios’

[iOS] 強制旋轉特定畫面 (Force to Rotate Portrait)

播放影片時特定畫面橫向文章提到播放影片時要橫向,那麼在播放完影片後,想要回復到直向可以怎麼做?

[iOS] 播放影片時特定畫面橫向

原來只要一行程式碼就能搞定!

/**
 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;

參考:How to force view controller orientation in iOS 8?

[iOS] 使用 Facebook SDK

現在有非常多應用程式都會加入Facebook相關的功能,來登入服務分享訊息等。而在使用Facebook功能前,我們必須先下載 Facebook SDK 及在 iOS 上設定。

下圖是我成功使用 Facebook SDK後,在App Dashboard上看到的結果,我使用兩支手機和兩個臉帳號登入,可立即在Real Time上看到兩人上線。

[iOS] 使用 Facebook SDK.png

(繼續閱讀…)

[iOS] 播放影片時特定畫面橫向

我使用第三方套件XCDYouTubeKit,就可以透過內建的MPMoviePlayerViewController來播放影片,那麼想要在特定的畫面橫向怎麼實現?因為整個App專案設定只有Portrait,也就是直向,只有在播放影片時要變成可以Landscape,就是橫向。

[iOS] 播放影片時特定畫面橫向.jpg

先前寫了篇文章:在WebView播放Youtube影片旋轉,確實可以做到。不過iOS 9之後又有稍微變化,只好改寫它囉~

(繼續閱讀…)

[APP] 提醒事項 (Reminder)

有著雄心壯志如我的人,想必有一堆待辦事項,由於人的記憶力有限,不太可能把所有事項(過去、現在、未來)通通都牢記在腦海中,於是乎有了筆記本、秘書、甚至各式各樣的App等工具,來輔助我們記得這些事情。在這裡我要介紹的是未來可以善加利用的APP 提醒事項 (Reminder)

想起2015年中和小喬一起研究Watch App 提醒事項,我們只要設定提醒的時間地點,就會在那時跳出提醒!最特別的就是設定地點,像是當App偵測到我路過家樂福,就會提醒我不要錯過啦⋯⋯

[APP] 提醒事項 (Reminder)00001這是在Mac OS上內建的Reminder,那天一口氣把心中還留意的事項給打下來,沒想到還真是頗多啊~不過當我把這些事項打下來,我心情也就舒緩許多,因為知道我就是要去處理這麼多事情,不至於心慌意亂。

(繼續閱讀…)

[iOS] App 預設語言 (App Default Language)

我App中有三個Localization,分別是:

  • 繁體中文
  • 簡體中文
  • 英文

使用者可以在這三個隨意切換,來顯示他想要的語言介面。

三年前已有實現過多國語言化的預設語言 (Default (Fallback) Language of Localization),不過那篇文章我是有寫code,這次只要調整專案中的Info.plist即可!

[iOS] App預設語言.PNG

調整過後,我切換到日語(SIM字眼旁是日文),App介面語言是英文喔~

(繼續閱讀…)

[iOS] iPhone Point and Pixel

隨著iOS 11的來臨,Apple發表最新一代的手機iPhone X,它的螢幕大小是iPhone有史以來最大5.8吋,所以在設計UI/UX上就要有所調整。過去的幾個螢幕大小:

  • 3.5吋
  • 4吋
  • 4.7吋
  • 5.5吋

已不成問題,因為從2014年末開始至今三年的時間,發表iPhone的機種螢幕大小是4.7吋和5.5吋,這讓設計師開發者都已習慣。

Design-Resolutions Points and Pixels

(繼續閱讀…)

[iOS] 移除所有子視圖 (Remove All Subviews)

有時候必須要移除所有子視圖 (Remove All Subviews),再來產生新的子視圖,除了可以回復原始狀態外,管理起來也挺方便的!

Remove All Subviews.PNG

(繼續閱讀…)

[iOS] 單例 (Singleton)

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

Singleton.png

原本生成一個實體寫法:

HappyClass *class = [[HappyClass alloc] init];

程式每次執行到此,都會重新生成一個實體。若有多重執行緒,很有可能不小心生成多個實體;或是操作流程多變,也是可能會生成多個實體。

(繼續閱讀…)

[iOS] 呼叫Web Service除錯

今天來講一下簡單的問題,不知道要怎麼稱呼這一篇,就姑且叫呼叫Web Service除錯吧~

其實就是串API時所發現的奇異問題!使用PostmanChrome呼叫都很成功回傳我要的資料,卻在寫進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] 讀取影像中QRCode

過去嘗試過用相機掃描QRCode,現在想要讀取影像中QRCode,可以怎麼做呢?

iOS 讀取影像中QRCode.PNG

若有使用心動健康(名字暫定)的朋友,可以加我好友喔:)~

(繼續閱讀…)

標籤雲