一個對世界好奇的iOS Developer,時常玩玩 Android 小綠機器人
在 App 寫了 六七年後,反而想再回去寫一點 Web 等不同於 App 的東西,畢竟過了這麼多年,現在整個 Web 世界又大大不同了。看到灣區日報的作者一直在持續推進他的東西,也學寫了 App 而且更新頻繁,一直在想自己有沒有可以效法他好好做一個自己用會感到興奮的東西。在思考之餘,剛好又在灣區日報看到了這篇 Making Time for Side Projects: A Daily Habit,更確定是該來做些什麼了 :smile:
灣區日報作者的經驗我覺得很值得可以參考:
我的經驗是,做 side project 的話,家裡的電腦永遠不關機,永遠開著 IDE、開發用的虛擬機、瀏覽器的 DevTools、iTerm2 等,每天有時間就做個 1、2 小時,沒時間弄個 10 分鐘、15 分鐘改個字體大小、顏色啥的也行,保持開發環境不變,第二天一有空閒就能接下去寫、很快進入狀態。
每天都投入一點,即便只是五分鐘十分鐘,都是讓 side project 更前進。
App 從無到有的開發三年多,每天與同事們灌溉著 iOS/Android 這兩版本的 App,雖然已經上榜很多次,但這次是比較重大的,且兩版本同一天被 Feature 對我而言也是挺難得的。發文紀念一下。也謝謝強大的同事們的力量讓這 App 可以飛上天空。
參考 Grand Central Dispatch In-Depth 的筆記。
Objective-C 的 constants 也是有學問的
常常是用 #define myConstants var
來處理一些變數,但更好的作法是用 const
// Constants.h |
當希望此變數不為 global 時,則用 static
// Constants.m |
#define
在 code 中是用取代的方式,compiler也沒辦法做 type 檢查,stringInstance == strConstant
的方式也比 #define 中用isEqualToString
快
當要宣告 integer 時,apple 建議用
NSInteger const counter = 0; |
但在loop中會有警告Assignment of read-only variable ‘counter’
,需要用以下方式
static int counter = 0; |
在 .h file 中想要 import cocoapods 中的 lib 時,如果找不到,可以在 user header search path 中加上"${PODS_ROOT}/BuildHeaders"
,並設為 recursive。
Reference:
http://stackoverflow.com/questions/12002905/ios-build-fails-with-cocoapods-cannot-find-header-files
Sorry, I cannot find /
因為一堆奇怪問題把 heroku 重裝之後,deploy 上去一直出現這問題,搞了半天才發現要把 .gitignore 的 public 移除,否則 heroku 沒辦法讀取到,一個下午又這樣沒了…QQ