搖擺天秤的蘋果派

攝影是興趣 寫軟體是工作 不論是攝影或是寫軟體 我都樂在其中


顯示具有 程式設計 標籤的文章。 顯示所有文章

最近很多朋友寫信問天秤,希望天秤改版 鐵道時刻表
大致上的需求都是界面的美化及快速訂票系統的改進
沒錯,AppStore 上至今已經累積了數款 高鐵 的時刻表查詢訂票軟體
我想大部份的人都是以別款軟體的功能來希望天秤加入
既然如此,那天秤就說明一下好了
雖然看似和 鐵道時刻表 裡面的高鐵時刻表 查詢軟體類似
但其實設計理念還是有點差異

市面上的高鐵時刻表,都是以查詢單一列車為主
也就是說是查詢某個時間點附近,某車站到某車站的列車而已
至於再深入下去的查詢就沒有辦法了
但 鐵道時刻表 的系統概念比較不同
不管是 台鐵時刻表 或是 高鐵時刻表
都是以三個元素組成,查詢列表、車號、車站,而且是三個元素可以互相連結 
簡單來說
就是你可以查詢某個時間區域內,某車站到某車站的列車 
然後再由查詢到的列車車號,查詢該列車的所有停靠站 
或再進一步由停靠站來查詢所有會停靠該車站的列車

這樣的組合有什麼好處
假設你在台北上車,朋友在新竹上車,你們想搭乘同一列車到台中
你可以簡單查詢到你想搭乘的列車,然後查詢該列車有沒有停靠新竹 (或是幾點停靠新竹)
才能和朋友決定要搭乘哪一班車
甚至決定搭乘某班列車後,不用重新查詢就可以直接檢視台中站開回新竹、台北的列車
決定回程的時間及停留台中的時間
所有動作一次搞定,這是 AppStore 上其它單純只做查詢的軟體做不到的功能

再來是價格的問題
從 2009 年 1 月至現在,鐵道時刻 表的前身 火車時刻表 開始
軟體的售價就是 1.99 美金
甚至在 2010 年 1 月還加入了 高鐵時刻表 而改名為 鐵道時刻表
售價還是保持在 1.99 美金
這款軟體在 AppStore 上架至今已經一年半了,還是保持在排行榜上
天秤沒有因為它是台灣最早期的 iPhone 本土軟體而開高售價
也不會因為它的人氣而想要提高售價來大賺一筆
但是最近 AppStore 上一堆台灣寫軟體,寫了個軟體上架受到注目
就開始持續拉高價格,或是直接開高價來賺一筆
什麼心經軟體的就是一例,實在是有損會身為寫軟體的人的格調
至於時刻表的價格應該賣多少
別人天秤管不著
但是 鐵道時刻表就是台鐵、高鐵時刻表查詢二合一堅持 1.99 美金不會調漲 (調降就看心情啦~)
對於高於或等於 鐵道時刻表 的售價,功能卻只有 高鐵查詢訂票 的功能的軟體
相較之下 鐵道時刻表 更是划算

再來就是界面和快速訂票的問題
天秤只是一人工作室,白天還有正職的工作
寫軟體真的只是晚上、假日的興趣
不像其它工作室都是幾個人合作組成的專職工作室
開發速度上就是比不上別的工作室了,但是也有個好處 
天秤的軟體不需要開高價位來養活整個的工作室 (養活好幾個家庭)
接的案子也是如此,開的價格也可以比別人實在
(廣告一下,有人需要 iPhone 軟體開發的可以找天秤,價格可議,品質絕對滿意)
但是雖然如此,天秤的軟體品質不會讓人失望 
界面方面天秤已經在著手改進中,或許更新幾版後就會讓人耳目一新了
快速訂票的部份當然程式的部份也是沒有問題 
時間上會儘快找空閒的時間動手

至於其它的建議,或是有想法但懶得寄信給天秤的
都可以利用提供一下你們的意見 
讓 鐵道時刻表 這個軟體變的更好用~



在 AppStore 上架的軟體有兩種模式
一種是免費軟體,一種當然就是賣錢的啦
免費軟體比較簡單,不需要設定一堆銀行資料
不過要販賣付費軟體就必須要填寫銀行資料了
不然 Apple 怎麼把你的錢匯給你

在 iTunes Connect 中,可以選擇下方的 link 來設定

iTunes Connect.jpg

第一次設定的時候,裡面應該就有 Free Applications 的帳號了
這個 Free Applications 帳號不用做任何設定,直接生效中
但還有個 Paid Applications 帳號就必須做設定才能生效

iTunes Connect-1.jpg

必須補足設定上面三個資訊

1. Contact Info 只要填寫連絡人的資訊即可

2. Bank Info 就必須小心注意了,因為它一但確定後是沒辦法修改的
必須確認填入的銀行資訊正確無誤才好,不然很麻煩
這裡需要的資訊請向你的銀行查詢,或到銀行網站查詢 "電匯" 的相關設定
主要有幾項資訊銀行要提供,也必填
Bank Address, Zip/Postal Code, Bank Name, Branch ID, Bank Swift Code
而以下就是你銀行帳戶資料
Account Holder's Name, Account Number
其中 Account Type 只要選 Savings/FUTSU 即可 (如果你是存款帳戶)

3. Tax Info 如果不是美國人或在美國工作的人,必須填寫 W-8BEN
不過天秤還沒有填寫,不知道會不會被扣稅 (或是收入超過多少才會被扣稅)
因為它很麻煩的,還得有 EIN 什麼的,實在是看不懂
如果有人知道也請告訴我,謝謝

以上設定完成後,不久後 Contract in Effect 的狀態就會變成打勾狀了

iTunes Connect-2.jpg

這樣就可以把自己寫的軟體放到 AppStore 上,不管是不是免費的
台灣的 iPhone 軟體實在是太少了,香港大陸還比台灣多
希望有興趣的人大家一起來寫軟體

對了,如果你想寫軟體,不管是付費或是免費的軟體
但是不想花 99 美金購買 iPhone Developer Program 的人
可以和天秤連絡,可以透過天秤幫你放到 AppStore 上哦

終於到了軟體發行的步驟了
不過整體的步驟又比在實機開發更加複雜了許多
真搞不懂為什麼會搞得這麼麻煩? 尤其是對不是英文系的人來說
更是痛苦啊

發行有兩個模式
一個是發行到 AppStore 上供其它買家購買 (或免費下載) ,稱為 App Store
另一種是透過 Email 或是 Web 分享給其它用戶,最多 100 人,稱為 Ad Hoc

不過發行之後,還是有一些步驟必須完成

1. 建立 iPhone Distribution Certificate
這裡產生 Certificate 的方式和在實機上開發的產生的方法相似
只不過左邊的 Certificates 選項是必須切換到 Distribution Tab
然後也是用 鑰匙圈存取 這個工具軟體產生憑証再上傳等動作

2. 產於屬於發行的 Profile,一樣和在實機上開發產生的 Profile 相似
只不過這時不用指定實機 DID,但必須指定是發行 AppStore 或是 Ad Hoc

3. 此一步驟是將憑証放到 XCode 中並重新編譯來產生 Application
步驟有點長及複雜,可以參考 iPhone Dev 說明網頁
總之就是放入憑証,建立新的編譯 Configuration (可以用 Release 的覆製一份)
指定憑証之後重新編譯
並在編譯完成後將產生的檔案壓縮準備著

再來準備幾項東西,就可以開始將軟體上傳發佈

1. 先想好 Application 相關資訊,包含軟體名稱,說明,支援的裝置,分類
Support 網址,Email 等資訊

2. iTunes 顯示軟體圖示,必須是 JPEG TIFF,512 * 512 pixel 的圖片
尺寸必須完全符合,也必須是 JPEG 或是 TIFF 格式的才行
天秤搞不清楚為什麼要這麼大張的圖幹嘛
iTunes 中也從沒看過有軟體顯示這麼大張的圖啊

3. 1 至 5 張軟體擷圖,一張是主要的圖,其餘四張是切換顯示時的圖

接下來就在 Distribution 頁按下 Go to iTunes Connect 按鈕
來到發佈的網頁

iTunes Connect.jpg

選擇右上角的 Manage Your Applications
依照 Step by Step 填入軟體的資訊,及價格,然後就靜待 Apple 的驗証了
Apple 驗証過後,才會實際發佈在 AppStore 上



解決完 iPhone Developer Program 無法啟動的問題之後
在 iPhone DevCenter 網頁右邊就可以看到 Program Protal 的圖示了 (感動啊~)

iPhone Dev Center.jpg

在 iPhone DevCenter 下載 iPhone OS Pre-Install Advisory
就可以在 iPhone 上實際測試開發的軟體了
總算脫離了 iPhone 模擬器上跑的時代
不過整個步驟實在是有夠繁雜的,而且 iPhone Dev 又是全英文環境
看得天秤頭昏眼花的
因為天秤也才剛接觸而已,以下步驟不一定正確,就大家互相研究交流一下

在登入 Program Protal 後,應該可以看到畫面左邊有以下幾個選項
Apple Developer Connection - iPhone Dev Center - Overview.jpg

大致上需要的就是這幾個步驟了 (Home 就不介紹了)

1. 首先 Team 是一群人合作開發時會用到
因為天秤是個人開發,所以只有一個人 (系統自動產生的)
所以這一頁是不用去管他的
詳細的步驟在 官網有影片可以參考
不過應該也是要有權限才能看

2. 再來就是必須建立 Certificates,可由 工具程式 > 鑰匙圈存取 來建立憑証
詳細的步驟在 官網有影片可以參考

3. 指定開發的 iPhone / iPod Touch 裝置,必須把 iPhone 的 DID 輸入
指定這隻機子是開發用的,一個帳號可以指定 100 台機子供測試
應該是很夠用了
詳細的步驟在 官網有影片可以參考

4. 指定 App IDs,這裡天秤還不太懂,猜想應該是為 Applications 建立一個 ID 吧
如果不同 Application 是否可以共用同一個 ID?
還是必須每個 Application 建立一個? 反正以後就知道了
詳細的步驟在 官網有影片可以參考

5. 經過以上的步驟之後,就可以產生 Provision Profile
把產生的 Profile 下載,然後開啟 XCode 並放上,就完成了
詳細的步驟在 官網有影片可以參考

概念大致上就是 人員(Team) + 憑証(Certificates) + 裝置(Device) + 軟體(AppID)
產生 Profile 來下載,並放到 XCode 上來執行軟體
這時候 XCode 就可以指定在實機上執行來測試了
測試的結果當然比光在模擬器上測試來得準確許多,可以知道系統實際運行速度
及一些未知的 Bug
以上...

這篇提供給有心在 iPhone 上 (AppStore) 賣軟體的人參考
因為 iPhone Developer Program 的申請對台灣人來說有點不友善
天秤步驟和把遇到的問題提出來大家參考

1. 首先必須註冊成為 Apple Developer Connection (以下簡稱 ADC) member
ADC 註冊會員
選擇 Join Now 來加入,如果已經是會員的就跳過此步驟
必須注意的是
請正確填寫並不要輸入中文
尤其是名字請填寫音譯的英文名字 (和信用卡相同),和英文的地址
不然後面的步驟會很麻煩


2. 申請 iPhone Developer Program
有兩種開發套件,一種是 Standard 和 Enterprise
分別是年費 99 美元和 299 美元

3. 收到申請通過的 mail 後,依照 mail 的指示
用 Apple ID 到 Apple Store 購買 iPhone Developer Program
如果沒有 Apple ID 必須申請一個
這裡和步驟一一樣,必須使用音譯的英文名字而不要用中文,避免麻煩
(如果已經有 Apple ID 了,就有可能遇到接下來提到的問題)
完成付款程序後,會收到一封包含啟動碼 (Activation Code) 的信
點選啟動碼的 link 後完成啟動
啟動失敗時會有訊息請你與 Apple 人員連絡

以上是購買 iPhone Developer Program 的步驟
看來簡單,但其實很多不是美國人購買都會遇到一個問題
就是步驟一提到的,ADC member 資料與 Apple ID 購買資訊不符
這裡大部份都是因為兩個帳號其中有個是輸入中文,造成資訊不符合
不讓你啟動~
如果你用啟動失敗時網頁上的 link 留下訊息與 Apple 人員連絡
很抱歉,運氣差一點的等上一個月也不會回應的 (網上有人還真的等了一個多月沒有收到回應)

天秤就這樣等了一個多禮拜,每天寫信去關心也沒有得到回應
也打過台灣 Apple 的客服電話,一個男的說這是 ADC 的業務
他們是銷售客服,找不到如何啟動的方式,無能為力
要我上網發 mail 給 ADC 求助
要是 ADC 願意回應,我還需要打給你?
況且到處找不到台灣 ADC 的客服電話,或根本不知道台灣有沒有 ADC 的客服 (事實証明沒有)
打到美國? 抱歉天秤的英文太爛了,況且電話費應該也很貴
就這樣求助無門,靜待 ADC 良心發現回應? 還是乾脆認賠算了 (99美金很貴耶)

後來突然有個想法,乾脆把原本的 iPhone Developer Program 退掉算了
再申請個 ADC member 重新輸入英譯名字
並重新買個 iPhone Developer Program 來試試
結果發現訂單上竟然寫不能退貨,真是 #$^@u@&@%$%@#^@^
那試試用原本啟動碼搭配新的 ADC member 試試,發現也是不行的
沒辦法了,只好打 Apple 客服電話要求退貨
結果一個女客服聽完我的需求,直接說要幫我轉 ADC 客服
(天秤嚇了一跳,怕如果是講英文,天秤的爛英文不就完蛋了嗎?)
還好是轉香港 ADC 客服,會說中文的
聽完後直接要我補寄証明資料,再幫我啟動
才解決這個找不到人幫忙的爛問題

總之整理一下如果遇到問題的方式,供有需要的人參考
1. 啟動失敗時利用網頁上的方式留下訊息,不一定會有人回應的,必須找別的門路
(也許是天秤比較倒霉吧)
2. 直接連絡 ADC 香港客服比較快,電話 85230021310
可以講中文不用怕,不過這是長途電話,電話費會很貴
建議直接打給台灣 Apple 客服免付費電話,再要求幫忙轉接就不用錢了
(天秤問過了,直接打要國際電話費,轉接就不用錢的)
台灣 Apple 客服電話 0800020021
請先準備訂單編號和啟動失敗時的一組編號供備查
3. 不然直接寫 mail 到 ADC 香港客服 mail: chinadev@asia.apple.com
可以寫中文,他們看的懂
4. 他們會要求你提供以下兩個資料
訂單詳細資料的載圖(包含帳單地址、運送地址)和護照影印本
再 mail 給 chinadev@asia.apple.com 即可

然後就先這樣子了, 看來問題暫時是得到解決了
不過 ADC 也真是的,明明知道使用者會有這種問題 (網路上一堆人遇到)
啟動失敗的網頁上連半句說明或是解決方法也沒有
只有連絡方式,但是留下訊息又不回應
不就是擺明讓使用者求助無門吧?
Apple 值得檢討一下了
下一篇說來介紹 iPhone Developer Program 啟動後
如何將軟體放上 AppStore 的步驟了



首先必須承認
iPhone / iPod Touch 實在是隻成功的機子
而且 iPhone SDK 也做得不錯,除了說明文件少了一點之外 (中文更是少)
還有 Object-C 語法怪異一點之外
寫個 iPhone 小軟體不是那麼困難,不過寫完後接下來就不是那麼順利了
雖然 AppStore 上軟體大賣的大有人在
不過如此,不代表在台灣寫個 iPhone 軟體來 "賣錢" 的門欄會比較低了
以下有幾個門欄必須跨過去才行

1. 首先是必須有台 MAC
MAC 的好用不用天秤多說,不過畢竟和 PC 相比價格高了一些
而且不是每個人都願意再學習另一套 OS 的
至於在 Windows 上就無法開發 iPhone 了,也許有高人可以解決
但至少 Apple 是不太可以釋出 Windows 的官方版本的

2. Objective-C & Cocoa 程式語言
iPhone SDK 使用的程式語言和 Windows 上不太相同
雖然結構有點像 C,但語法卻是大大的不同
也有別於 C++, Java, C# 等 Windows 上常見的語言
而 UI 界面的開發也是差異甚大
總而言之,不管你熟不熟悉 Windows 上程式開發
到了 MAC 上,你就是得重新學習另一種語言

3. 購買 iPhone Developer Program,要價 年費 99.99 美金
這點天秤就有話說了,iPhone 開發門欄已經不低了
想販賣軟體還得再購買開發套件才能放上 AppStore
(iPhone SDK 可以免費取得)
這還只是一年期,也就是說明年還得再購買一次
不只如此,每賣出一套軟體還得被扣 30%,真是死要錢
如果只是想寫軟體自己爽的是不用購買 iPhone Developer Program 的
但也只能在 iPhone 的模擬器上跑,連放到 iPhone 上都不行
如果你是學生身份倒是有免費的學生版本可以申請
不過不能賣錢,只能用免費的方式釋出

4. 一台 iPhone or iPod Touch
這倒不是必要的,如果你對你寫的軟體有信心
在 iPhone 模擬器上跑的很正常,不須在 iPhone 上驗証

總之結論就是想要在 iPhone 上開發軟體
代價不低就是了
而且遇到困難機率高和相對得到的 support 很少
下一篇再來談論天秤購買 iPhone Developer Program 遇到的困難和解決方法

在 Windows 上待久了,很習慣 Win32 SDK, MFC, .NET Framework 這些東西
也很了解 C/C++, C#, VB 這類程式語言
Visual Studio 更是每天最常接觸的軟體之一
而剛接觸 MAC 程式設計世界時,什麼 Cocoa,什麼 Obective-C,什麼 Xcode
一時還真是不知道怎麼上手
經過幾天的摸索,總算對這些專有名詞有點概念了
雖然還是有許多不了解的地方
但做個專有名詞整理比較,也讓想接觸 MAC 程式世界的人了解
更讓 MAC 前輩有機會指教天秤錯誤的觀念

1. 首先介紹一下開發工具吧
在 Windows 上應該就是 Visual Studio 系列了
從昂貴的 Visual Stucio 2002 到現在有免費版本的 Visual Studio 2008 Express
一直都是很 powerful 的開發工具,也很直覺方便
RAD 環境也是其重點之一,和 Text Editor 編輯環境整合的很棒
而在 MAC 上相對的軟體就是 Xcode 和 Interface Builder 了
怎麼會有二套呢? 因為在 MAC 上把 Text Editor 和 RAD 開發環境分開成二套軟體
Xcode 負責管理專案,程式開發、編譯及除錯
Interface Builder 負責 UI 界面及 Action (Event) 事件的處理
整個流程為以 Xcode 開啟專案,並在 Interface Builder 設計 UI 界面後
再回到 Xcode 編譯、執行、測試

2. API (Framework)
在 Windows 上最知名的 API 應該就是 Win32 SDK 了
而 MFC 及現在微軟主推的 .NET Framework 也是很多人使用的平台
這些 Framework 提供了一套各種功能 API 的平台讓程式設計師使用
而在 MAC 上相對的 API 就是 Carbon 及 Cocoa 了
不知道這樣舉例好不好
Carbon 就像是 MFC 一樣,由 MacOS 9 末期推出讓程式設計師轉換平台到 MacOSX 上
其有一定的歷史和包袱
而 Cocoa 則是新的 Framework,就像是 .NET Framework 一樣
為物件導向程式語言的架構平台,其提供的物件多且強大
建議初學 MAC 程式設計的人就直接接觸 Cocoa 就好了

3. 程式語言
在 Windows 上 (或說整個 PC 世界) 最常用的程式語言就是 C 語言了吧
不過有 Windows 上也是一些傳奇和新秀一直出現,如 VB, C#, Java, Delphi 等
各有各的特色及市場
在 MAC 上也是 C/C++ 流通的世界,Carbon 主要提供 C/C++ 使用者使用
就像 MFC 一直是 C/C++ 語言的平台
而 Cocoa 則是可以提供了 Objective-C/Objective-C++/Java 語言
就像 .NET Framework 提供了 C++/C#/VB 等語言

接觸過撰寫程式的人應該很清楚,程式語言百百種
不可能每個人都精通各種 Framework 及各種語言
選擇一二種程式語言和平台當主要武器即可
天秤剛接觸 MAC 程式語言,選擇 Cocoa 和 Objective-C 為主要學習的對象
也許某天有點心得了,再跟大家分享好了

訂閱: 文章 (Atom)