Just My Life & My Work

Posts tagged ‘sdk’

SDK 和 NDK 差別

最近經手 Android App,面臨一些基本知識技術,必要從最基本的定義了解起⋯⋯😎

此篇來了解 SDK 和 NDK 差別,同場上映 JNI。

(繼續閱讀…)

[Android] 關於 SDK 編譯版本

將 App 送審已成為我工作不會缺少的一部分,但那也只是對 iOS App 有成百上千的次數。這次面臨要將 Android App 送審,心想應該大同小異才是!🤠

在專案設定中有三個地方跟 SDK 有關:

  • minSdkVersion
  • compileSdkVersion
  • targetSdkVersion

以上三個值,可以在 build.gradle 找到,其中又以 targetSdkVersion 最為重要,主要因為會影響程式碼運作。我就是在這裡踩到坑⋯⋯

(繼續閱讀…)

[iOS] Facebook SDK 出包

辛苦一週的週五傍晚,應是期待放假的好時候,下班前居然出現不明原因,使得我們家App在開啟的時候crash,而且是持續不斷。起初還以為是自己不小心改到什麼,或是自家的後台發生狀況,查詢後才發現,竟然是Facebook SDK出包⋯⋯

可以看到程式碼crash在Facebook SDK之中,回傳這個NSNull物件⋯⋯

(繼續閱讀…)

[iOS] 使用Vision人臉偵測 (Face Detection Using Vision)

早在2013年,我就把玩過iOS的人臉偵測 (Face Detection),當時覺得非常酷!因為已經能在手機上玩人臉偵測,回想2011年,我還在研究電腦上OpenCV,那時可是我研究所樂趣之一呢~

時光飛逝來到2017年,Apple在WWDC上發佈Vision Framework,裡頭實現更強大的人臉偵測。

(繼續閱讀…)

[iOS] 使用 Facebook SDK

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

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

[iOS] 使用 Facebook SDK.png

(繼續閱讀…)

[iOS] 包含字串 (Contains String)

程式語言會隨著時間進化。本次專案依然會處理字串,我自己定義字串來區別用途,想知道是否包含字串 (Contains String),iOS 7以前的作法很拐彎抹角,我是查詢StackOverflow才知道,而且不是查詢一次就記起來,可見這支NSString的method有多不直覺!

iOS 8以後,就可以用「包含」這個方法:

containsString

我很自然地就使用它,在iPhone 6/6+跑都沒問題,因為一買來就是iOS 8。直到夥伴大鳥跟我說,用它iPhone 5一跑就崩潰,後來得知它手機還是iOS 7,就在想是那支method有問題。答案揭曉⋯⋯

/**
 Theme: Contains String
 IDE: Xcode 6
 Language: Objective C
 Date: 104/03/31
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
/* containsString: returns YES if the target string is contained within the receiver. Same as calling rangeOfString:options: with no options, thus doing a case-sensitive, non-literal search. localizedCaseInsensitiveContainsString: is the case-insensitive variant. Note that it takes the current locale into effect as well.  Locale-independent case-insensitive operation, and other needs can be achieved by calling rangeOfString:options:range:locale: directly.
 */
- (BOOL)containsString:(NSString *)aString NS_AVAILABLE(10_10, 8_0);

//--

/* These methods return length==0 if the target string is not found. So, to check for containment: ([str rangeOfString:@"target"].length > 0).  Note that the length of the range returned by these methods might be different than the length of the target string, due composed characters and such.
*/
- (NSRange)rangeOfString:(NSString *)aString;

//--

    NSString *str;
    if ([str rangeOfString:@"HappyDay"].location != NSNotFound) {
        // iOS 7以前拐彎抹角
    }

    if ([str containsString:@"HappyDay"]) {
        // iOS 8以後可以很開心
    }

把method的名稱設計得很直覺,真的是件好事呀~

參考:。

[iOS] 家長閘 (Parental Gate)

實在沒有想太多,就把要給兒童使用的APP送審,結果就是被拒絕 (Reject),原因是沒有注意到iOS 7心的送審規定。這才想起幾個月之前的新聞,有使用者反映小孩子會不小心誤觸應用內購買,建議蘋果可以建立配套措施,沒想到⋯⋯這個兒童防護機制已經實行中!

Parental Gate Passcode

(繼續閱讀…)

標籤雲