[watchOS] 使用加速度計 (Using Accelerometer)
最近要做穿戴式裝置的App,需要研究Apple Watch如何使用加速度計 (Using Accelerometer)。
最近要做穿戴式裝置的App,需要研究Apple Watch如何使用加速度計 (Using Accelerometer)。
三年前(2015年)幫公司製作比特幣查詢用的Watch App,已有開發經驗遇過一些坑,照理說能馬上迎刃而解才是,不過大腦卻沒能及時反應,只好上網打關鍵字求解!
問題:
error: WatchKit Extension doesn’t contain any WatchKit apps whose bundle identifiers match “com.happy.watch.watchkit". Verify that the value of WKAppBundleIdentifier in your WatchKit Extension’s Info.plist matches the value of CFBundleIdentifier in your WatchKit App’s Info.plist.
想開發Watch App,需要申請三個ID:
這三個ID逐一依賴,怎麼說?3依賴2,2依賴1,缺一不可哪~
已經開發iOS App超過五年的我,在宣告Property Attributes一直以來都是用nonatomic,尚未使用到預設的atomic。
@property (strong, nonatomic) UIWindow *window;
現在有個情況是有好幾個Thread有機會同時存取(set和get)同一個Property,此時就有必要使用atomic。可是了解後發現,atomic不能保證我存取的值是正確的,到底是怎麼一回事呢?
Info.plist中有些設定令人搞不清楚,項目Bundle name 和 Bundle display name看起來差不多,可是實際功用卻不相同!
Key的名稱分別如下:
“CFBundleName" = “HappyHeart";
“CFBundleDisplayName" = “HappyHeart";
那麼兩者差別為何?
Bundle name會出現在像詢問權限:
若我沒有填寫,則預設為Target名稱「TestDeviceSDK」。
Bundle display name則會顯示在桌面上App的名稱。
此兩者我目前都設定一樣的字串。
繼使用 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介面語言是英文喔~
隨著iOS 11的來臨,Apple發表最新一代的手機iPhone X,它的螢幕大小是iPhone有史以來最大5.8吋,所以在設計UI/UX上就要有所調整。過去的幾個螢幕大小:
已不成問題,因為從2014年末開始至今三年的時間,發表iPhone的機種螢幕大小是4.7吋和5.5吋,這讓設計師和開發者都已習慣。
HappyMan・迴響