Just a Computer Graphics Studio & My Life

Posts tagged ‘ios’

[watchOS] 使用加速度計 (Using Accelerometer)

最近要做穿戴式裝置的App,需要研究Apple Watch如何使用加速度計 (Using Accelerometer)

[watchOS] 使用加速度計 (Using Accelerometer).jpg

(繼續閱讀…)

廣告

[iOS][watchOS] Watch App三個ID設定

三年前(2015年)幫公司製作比特幣查詢用的Watch App,已有開發經驗遇過一些坑,照理說能馬上迎刃而解才是,不過大腦卻沒能及時反應,只好上網打關鍵字求解!

watch apps

問題:

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:

  1. iOS
  2. WatchKit App
  3. WatchKit Extension

這三個ID逐一依賴,怎麼說?3依賴2,2依賴1,缺一不可哪~

(繼續閱讀…)

[iOS] atomic和nonatomic

已經開發iOS App超過五年的我,在宣告Property Attributes一直以來都是用nonatomic,尚未使用到預設的atomic

@property (strong, nonatomic) UIWindow *window;

現在有個情況是有好幾個Thread有機會同時存取(setget)同一個Property,此時就有必要使用atomic。可是了解後發現,atomic不能保證我存取的值是正確的,到底是怎麼一回事呢?

Atomic vs. Non-Atomic Operations.png

(繼續閱讀…)

[iOS] Bundle name 和 Bundle display name

Info.plist中有些設定令人搞不清楚,項目Bundle name 和 Bundle display name看起來差不多,可是實際功用卻不相同!

[iOS] Bundle name 和 Bundle display name.png

Key的名稱分別如下:

“CFBundleName" = “HappyHeart";

“CFBundleDisplayName" = “HappyHeart";

那麼兩者差別為何?

Bundle name會出現在像詢問權限:

[iOS] Bundle name 和 Bundle display name.PNG

若我沒有填寫,則預設為Target名稱「TestDeviceSDK」。

Bundle display name則會顯示在桌面上App的名稱。

此兩者我目前都設定一樣的字串。

參考:專案中Info.plist常用選項的說明

[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

(繼續閱讀…)

標籤雲

%d 位部落客按了讚: