為何我應該給Apple $99來開發app?

當你決定要開始當iOS Developer的那時,
你就會發現你必須每年至少要交$99美金的保護費給Apple,
這樣你才能產生開發者簽章來將你所寫的程式發布到你的iPhone/iPad裝置上,
我想你的下一個問題就是,那有沒有免費可以發布的方法?

好的,關於這個問題我必須跟你說有解,
只要你去JB你的裝置,在經過一些程序後,
你就可以免繳$99元開始將程式發布到手機上,
但是這不是我今天要跟你說的內容,
相反的我要告訴你為何你應該要繳$99元的保護費給Apple.

繼續閱讀

在iOS上開發Web App時你該注意的事情

用HTML5來建立App應該是許多Developer心中的美夢,
但是實際做過以後相信你應該會有新的看法,
好吧!我們今天不是要談HTML5效能有多差這個問題,
相反地要來談談記憶體使用的情況。

起因在於最近幫客戶做了一個App,
其中有一部分必須一定要用Web App來完成,
當然UIWebView就要被搬出來了,
就在完成測試後發現,奇怪!怎麼記憶體吃的這麼兇,
到底是誰在搞鬼呢?
看倌猜的沒錯,就是那UIWebView在背後桶了一刀。

繼續閱讀

神奇的UISaveVideoAtPathToSavedPhotosAlbum 的 12950 Error Code

果然不經一事實在是不長一智,
今晚我跟一個神奇的UISaveVideoAtPathToSavedPhotosAlbum錯誤搏鬥了2個小時,
這麼簡單的錯誤怎麼會發生在我身上呢?
人長得太帥也不能怪我啊…. (誤)

Debug只很帥氣的給我這段訊息:

Video /var/mobile/Applications/968B5C42-8204-421E-8801-B91DC93C853D/Documents/Projects/20120423-224603/Mov/timeLapse.mov cannot be saved to the saved photos album: Error Domain=NSOSStatusErrorDomain Code=-12950 “Movie could not be played.” UserInfo=0x400940 {NSLocalizedDescription=Movie could not be played.}

難不成是我編碼的演算法有問題嗎?
可是神奇的是我的iPhone 4測試機是正常的,
但是我最愛的iPhone 3Gs偏偏就是死給我看.

繼續閱讀

iOS 5之回不去了 – UIPopoverController的怪地雷

咳~沒錯,iOS 5之回不去了又演續集了,
這次要演出的是UIPopoverController在iOS 5上的怪bug,
至於什麼是UIPopoverConttroller呢?
請看上方圖片中的左側是否有一個對話視窗,
那個就是所謂的UIPopoverController。

繼續閱讀

iOS5之回不去了 – Developer該注意事項

沒錯,iOS5之回不去了又出現了,
老實說我真的很不想再寫這系列的文章,
因為一但出現這個文章就是代表又出問題了。 Orz

好吧,言歸正傳,
這篇是針對我最近在做app在iOS5改版上遇到問題的描述,
對於想開發iOS5或想升級到iOS5開發的開發者一些事前的提醒:

繼續閱讀

iOS5之回不去了 – 用xCode 4.2發佈app

沒想到這麼快又來”iOS5之回不去了”系列了,
老實說我也沒想到來的這麼快,
主要是我把手上所有的app都升級到iOS5的版本,
經過一段程式改寫之後終於把最終版本生出來了,
沒想到最後要發佈到app store上時居然發現,
在xCode 4.2中發佈app的方式變了,
更妙的是在Apple Developer Portal的發佈說明還是xCode 3.x版的說明,
好吧!我知道我的工作來了,
因此”iOS5之回不去了”的文章又出來跟大家見面了。

繼續閱讀

iOS5之回不去了 – MKReverseGeocoder取代方案

iOS5回不去的東西其實還挺多的,
我能到Apple總部前面絕食抗議嗎?

這篇是為了我在iOS App開發班上同學而寫的,
有道是:出來混的遲早都要還的。

在iOS4中我們可以用MKReverseGeocoder將經緯度座標轉換成地址資訊,
關於這個部分有來上課的同學應該都已經看我Demo過這段了,
但是到了iOS5之後Apple做了一些改變,
有關於MKReverseGeocoder的類別與相關方法丟已經被移除了,
那麼就要改用另一個新的類別叫做 CLGeocoder 來進行實作。

在這邊我做一個簡單的示範:

繼續閱讀

iOS5之回不去了 – 如何使用Reference Counting機制

在上週Apple正式釋出了iOS 5的版本,
同一時間也釋出了Xcode 4.2的版本,
結果當我憑著自己身為Apple iOS Developer,
可以在Xcode中任意downgrade到任何一個版本的優勢,
想說先來嘗鮮一下iOS5,晚一點再回復成iOS4,
結果慘事發生了,因為當我要回復時居然怎麼都回不去了。

沒錯!就是回不去了!!!!
Oh! my god! 我親愛的iOS4居然回不去了 *崩潰*
那以後我是要怎麼測試iOS4啊,臭Apple你還真是狠啊……..
所以如果手上還沒升級iOS5的開發者請自行考慮是否要升級iOS5。

所以這篇要教大家如何要非法的方式downgrade?
當然不是啊…..  Orz

我倒是要來講講如何在Xcode 4.2中可以使用Reference Counting的機制,
在xcode 4.2中新增了Automatic Reference Counting的機制,
可能會造成之前所寫的retain, release這些指令都不能用,
而這篇就是要教大家如何在Xcode 4.2中關閉Automatic Reference Counting。

繼續閱讀

解釋何謂iOS中的CMTimeMake

iOS 4.1後加入了CMTime這個類別來設定時間 ,
但是可憐的是Apple官方文間的說明實在是貧乏的可憐,
只輕描淡寫寫了這段說明:

CMTimeMake
 
CMTime CMTimeMake (
   int64_t value,
   int32_t timescale
);
 
Parameters
 
value
 
timescale
 
Return Value
 
Discussion
 
Availability
 
    * Available in iOS 4.0 and later.
 
Declared In
CMTime.h

幹的好,在問了Google大神後實在是用的人不多, 解釋的人更少,
決定在搞清楚後趕快來寫上一筆,
至少後來的人會比我輕鬆一點,
免得老在那瞎子摸象.

繼續閱讀