Just My Life & My Work

Posts tagged ‘ios’

[iOS] IAP 驗證發票 (IAP Verify Receipt)

四年前(2014年)實作過應用內購買 (In App Purchase),經歷讓人三溫暖的刺激感,終於跟偉大的後台工程師JK,攜手合作打造出給幼兒使用的iOS App,那可是要在美國運行的呢!

[iOS] IAP 驗證發票 (IAP Verify Receipt).png

如今要再次研究Apple金流部分,IAP 驗證發票 (IAP Verify Receipt)是個必經程序,那我可以怎麼驗證購買真實性?

(繼續閱讀…)

[iOS] 混編Objective C、Swift、C/C++

在Swift剛釋出沒多久,我就研究過如何在同專案整合Objective C和Swift。文章:

儘管還是傾向以Objective C來開發產品,然而Swift的發展日趨重要,不過我大膽推測,就算Apple再怎麼強推Swift,十年內Objective C領導地位依然屹立不搖!為什麼呢?實際接觸4年Swift後,發現Swift變化多端,若猶豫要學Swift還是Objective C可以參考:要學Objective-C還是Swift?

現在想要混編Objective C、Swift、C/C++,應也不是問題~

[iOS] 混編Objective C、Swift、C:C++.png

(繼續閱讀…)

[Xcode] 例外中斷點 (Exception Breakpoint)

Xcode中使用Breakpoint來debug是非常平常的事情,優秀的我們都能從Breakpoint來得知上下文狀態,如各個變數值。有時候崩潰(Crash)來得突然,Xcode沒有提供詳細的Crash訊息,像是我這個例子是:存取Empty Array

[Xcode] 例外中斷點 (Exception Breakpoint)2

此時例外中斷點 (Exception Breakpoint)就非常好用!

(繼續閱讀…)

[iOS] 使用 Core ML Model (Using Core ML Model)

研究所時代有旁聽機器學習課程,當時有親自操作SVM來產生model,可參考最近七年度以來一直很夯的文章:支持向量機器 (Support Vector Machine)。此時想要在iOS上使用SVM model要怎麼做呢?好在Apple釋出轉換model工具,再配合2017年釋出的Core ML,就能輕易在iOS上使用該model

Using Core ML Model.png

.

在此跳過轉換model的部分,直接進入套用已轉好的Core ML Models。不管你是阿貓還是阿狗做出來的model,都能透過Apple的轉換工具變身為飛天阿貓阿狗給App使用XD~

WWDC 2017 - Core ML Model2

(繼續閱讀…)

[iOS] 使用HTTP的POST方法提交的表單

實在不曉得怎麼命名這篇技術文章,其實就是想要呼叫Web Service來取得資料,跟我過去平常使用的方式不太一樣,所以就特別來一篇記錄,未來就直接參考囉~

[iOS] 使用HTTP的POST方法提交的表單

後台工程師特別使用x-www-form-urlencoded來呼叫此API,怎麼不跟之前一樣使用raw呢?下次來拷問他XD~強迫我一定要學新的實作方法!

(繼續閱讀…)

[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常用選項的說明

標籤雲