如果你查詢不到資料,請先將 iPhone 上的軟體移除後再重新安裝一次即可
PS. 如果你還有其它問題或建議,請直接 mail 給我
天秤可以直接回覆給你
簡單的說,就是因為 V3.6 版出現了小 bug
使用者更新後,還是顯示 2008/01/01 的日期
雖然如此,已經更新 V3.6 的使用者也不用擔心
因為雖然顯示的日期錯誤
但其實資料庫是有正確更新的
也就是說你查詢到的時刻表會是正確的
只是為了避免使用者的困擾,先行下架
等修正錯誤的新版審核過後再上架了
2010年6月24日 星期四
鐵道時刻表暫時下架的原因
2010年6月20日 星期日
關於鐵道時刻表的改版
最近很多朋友寫信問天秤,希望天秤改版 鐵道時刻表
大致上的需求都是界面的美化及快速訂票系統的改進
沒錯,AppStore 上至今已經累積了數款 高鐵 的時刻表查詢訂票軟體
我想大部份的人都是以別款軟體的功能來希望天秤加入
既然如此,那天秤就說明一下好了
雖然看似和 鐵道時刻表 裡面的高鐵時刻表 查詢軟體類似
但其實設計理念還是有點差異
市面上的高鐵時刻表,都是以查詢單一列車為主
也就是說是查詢某個時間點附近,某車站到某車站的列車而已
至於再深入下去的查詢就沒有辦法了
但 鐵道時刻表 的系統概念比較不同
不管是 台鐵時刻表 或是 高鐵時刻表
都是以三個元素組成,查詢列表、車號、車站,而且是三個元素可以互相連結
簡單來說
就是你可以查詢某個時間區域內,某車站到某車站的列車
然後再由查詢到的列車車號,查詢該列車的所有停靠站
或再進一步由停靠站來查詢所有會停靠該車站的列車
這樣的組合有什麼好處
假設你在台北上車,朋友在新竹上車,你們想搭乘同一列車到台中
你可以簡單查詢到你想搭乘的列車,然後查詢該列車有沒有停靠新竹 (或是幾點停靠新竹)
才能和朋友決定要搭乘哪一班車
甚至決定搭乘某班列車後,不用重新查詢就可以直接檢視台中站開回新竹、台北的列車
決定回程的時間及停留台中的時間
所有動作一次搞定,這是 AppStore 上其它單純只做查詢的軟體做不到的功能
再來是價格的問題
從 2009 年 1 月至現在,鐵道時刻 表的前身 火車時刻表 開始
軟體的售價就是 1.99 美金
甚至在 2010 年 1 月還加入了 高鐵時刻表 而改名為 鐵道時刻表
售價還是保持在 1.99 美金
這款軟體在 AppStore 上架至今已經一年半了,還是保持在排行榜上
天秤沒有因為它是台灣最早期的 iPhone 本土軟體而開高售價
也不會因為它的人氣而想要提高售價來大賺一筆
但是最近 AppStore 上一堆台灣寫軟體,寫了個軟體上架受到注目
就開始持續拉高價格,或是直接開高價來賺一筆
什麼心經軟體的就是一例,實在是有損會身為寫軟體的人的格調
至於時刻表的價格應該賣多少
別人天秤管不著
但是 鐵道時刻表就是台鐵、高鐵時刻表查詢二合一堅持 1.99 美金不會調漲 (調降就看心情啦~)
對於高於或等於 鐵道時刻表 的售價,功能卻只有 高鐵查詢訂票 的功能的軟體
相較之下 鐵道時刻表 更是划算
再來就是界面和快速訂票的問題
天秤只是一人工作室,白天還有正職的工作
寫軟體真的只是晚上、假日的興趣
不像其它工作室都是幾個人合作組成的專職工作室
開發速度上就是比不上別的工作室了,但是也有個好處
天秤的軟體不需要開高價位來養活整個的工作室 (養活好幾個家庭)
接的案子也是如此,開的價格也可以比別人實在
(廣告一下,有人需要 iPhone 軟體開發的可以找天秤,價格可議,品質絕對滿意)
但是雖然如此,天秤的軟體品質不會讓人失望
界面方面天秤已經在著手改進中,或許更新幾版後就會讓人耳目一新了
快速訂票的部份當然程式的部份也是沒有問題
時間上會儘快找空閒的時間動手
至於其它的建議,或是有想法但懶得寄信給天秤的
都可以利用提供一下你們的意見
讓 鐵道時刻表 這個軟體變的更好用~
2010年6月15日 星期二
如何撰寫 iPhone 及 iPad 共用的 Universal 版本的 App
首先先了解一件事
iPhone 和 iPad 目前的版本分別為 3.1.3 及 3.2 (天秤寫這篇文章的當下)
而兩者的解析度分為 768*1024 和 320*480
因為解析度的大小的差異
讓一款 App 要在不同平台運行,似乎是重新撰寫符合的解析度比較好
或是直接讓同一款 App 可以同時支援兩個不同平台也是不錯的選擇
雖然 App 可以編譯成 Universal 的版本
不過不代表程式碼就可以寫一次同時通吃兩邊
大部份的情況下,還是得依 iPhone 或是 iPad 的解析度來做修改
甚至是重新撰寫程式碼
1. 修改成支援 Universal 版本
在選單的 Project >Edit Project Settings 設定為 iPhone/iPad
iPhone OS 版本 Base SDK 可以設為 3.0 或 3.1
2. 判斷不同的平台,載入不同的 xib
因為 iPhone 和 iPad 的解析度不同
所以如果用 Interface Builder 建立的 xib 也必須依不同平台來製作
例如
MainViewController.xib (for iPhone)
MainViewControllerHD.xib (for iPad)
然後程式判斷目前運行的平台,載入不同的 xib
UI_USER_INTERFACE_IDIOM() 這個巨集,可以用來判斷目前是哪個平台
但是有個問題,這個巨集是 v3.2 以上台有定義
所以我們可以另外再做個函式來讓 V3.0 以上的版本都可以正確判斷
-(bool) isIpad
{
BOOL iPad = NO;
#ifdef UI_USER_INTERFACE_IDIOM
iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
#endif
return iPad;
}
最後在載入 xib 的程式碼中,加入判斷式
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after app launch
if ([selfisIpad] == TRUE)
[windowaddSubview:mainViewControllerHD.view];
else
[windowaddSubview:mainViewController.view];
[windowmakeKeyAndVisible];
returnYES;
}
iPhone 執行結果
iPad 執行結果