Xcode build tools

Xcode 固定每年會更新一次以上,更新後的 Xcode 最麻煩的一件事情原本在舊版本可以正常無誤 build ,更新後卻無法正常 build,小一點的只要小修改,嚴重的話幾乎要花上一整天的時間再修改設定,使用 pod 可以把問題降到最少。

Pod

Pod 用來管理第三方支援庫,也可以用來管理自己的支援庫,強烈推薦使用。在 wTHSR 專案中也使用了 pod。

安裝

sudo gem install pod

使用

pod init

編輯 Podfile

pod install

fastlane

這套工具包含了 scan(測試),gym(build),snapshot(螢幕擷取),deliver(上傳)

安裝

sudo gem install fastlane

使用

在專案目錄下執行以下指令

fastlane init
Your Apple ID (e.g. fastlane@krausefx.com): (輸入 iTunes connect Apple ID)
Password (for xxxxxx): (輸入密碼)
App Identifier (com.krausefx.app): (輸入 app ID, 格式是倒過來的 domain , com.yourcompany.name)
Would you like to create your app on iTunes Connect and the Developer Portal? (y/n)
Optional: The scheme name of your app (If you don't need one, just hit Enter):

最後會產生一個 fastlane 目錄

gym(build)

gym init

Select Scheme:

1.  wTHSR
2.  Pods-wTHSR
3.  SBJson
4.  VTAcknowledgementsViewController

第一次使用 init 產生設定檔案

gym

在終端機下編譯專案,後會產生一個 .ipa 用來上傳到 iTunes Connect

snapshot(螢幕擷取)

  1. 使用 init 產生設定檔案
snapshot init
  1. 開啟 Xcode 在 UITest 專案錄製要擷取的畫面

  2. snapshot 自動擷取畫面,模擬器不要縮放,縮小後會擷取到縮小的尺寸。

snapshot

deliver(上傳)

  1. 使用 init 產生設定檔案
```shell
deliver init
```

會自動連結到網站產生所有的資料
  1. 編輯或修改設定檔案

  2. 上傳

deliver --ipa "./build/wTHSR.ipa"`

開源:高鐵時刻表

wTHSR

起源

台灣高鐵時刻表是第一個上線的程式,當初開發的目的是因為要完成 AppStore 所有的上架流程,高鐵時刻表只有一個表格相對簡單,拿來練功的一個產品。

當初上線的中文程式非常少,自己上線後還沒有找到它的蹤跡,卻已經在討論區中已經有相關文章!令我非常意外~

上線到現在已經七年之久,安裝數量平均很穩定,在剛開始接觸 Apple 和開源軟體,心中一直有個疑問,為什麼會有這麼多人願意開放自己所開放的原始程式碼,在自己的心中問了無數次,最後找到答案。

開放原始碼的開發者,他們的技術能力都是業界的佼佼者,他們不怕別人抄襲,不怕自己的成果被別人使用,他們透過開源學習別人的技巧,並且增進自己的技能,是一個互相互補的產業結構,這個只是其中之一的原因。

開源 Open source

開源的想法大概兩年前就有這個想法,遲遲沒有開源的主要原因是,這個專案能分配到的時間不多,除非需要更新才會花點時間精神稍做修改,剛好高鐵新增三站,時刻表與程式需要小改,花了點時間將程式修改與開源準備一起完成,才會有這次的開源。

必備工具

  • XCode 7.0 開發工具
  • git 軟體版本管理
  • pod 開源軟體管理
  • ssdb
  • iOS 6.0 for iPhone, iPad

Build

clone 
cd wTHSR
pod install
用 xcode 開啟 wTHSR.xcworkspace

程式說明

wTHSR
-db
-libs
-Podfile
-Pods
-wTHSR
-wTHSR.xcodeproj
-wTHSR.xcworkspace
  • db 目錄:高鐵時刻表 (data.json), 車站資料(station.json), 線上更新範本(update.json)
  • libs 目錄:第三方資料庫
  • Podfile 檔案:pod 第三方資料庫控制檔案
  • Pods 目錄:由 pod install 後產生資料
  • wTHSR 目錄:高鐵時刻表主要程式
  • wTHSR.xcodeproj :xcode 專案檔案
  • wTHSR.xcworkspace :由 pod install 後產生 xcode workspace 專案檔案

本專案使用 objective-c 開發,所有的 view 由程式產生,並且支援簡單的線上更新。

AppStore

https://itunes.apple.com/tw/app/wthsr-tai-wan-gao-tie-shi/id302087009?mt=8

作者 Author

Harry Weng

github

https://github.com/madebyweng/wTHSR

版權 License

https://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81

開源:高鐵時刻表

wTHSR

起源

台灣高鐵時刻表是第一個上線的程式,當初開發的目的是因為要完成 AppStore 所有的上架流程,高鐵時刻表只有一個表格相對簡單,拿來練功的一個產品。

當初上線的中文程式非常少,自己上線後還沒有找到它的蹤跡,卻已經在討論區中已經有相關文章!令我非常意外~

上線到現在已經七年之久,安裝數量平均很穩定,在剛開始接觸 Apple 和開源軟體,心中一直有個疑問,為什麼會有這麼多人願意開放自己所開放的原始程式碼,在自己的心中問了無數次,最後找到答案。

開放原始碼的開發者,他們的技術能力都是業界的佼佼者,他們不怕別人抄襲,不怕自己的成果被別人使用,他們透過開源學習別人的技巧,並且增進自己的技能,是一個互相互補的產業結構,這個只是其中之一的原因。

開源 Open source

開源的想法大概兩年前就有這個想法,遲遲沒有開源的主要原因是,這個專案能分配到的時間不多,除非需要更新才會花點時間精神稍做修改,剛好高鐵新增三站,時刻表與程式需要小改,花了點時間將程式修改與開源準備一起完成,才會有這次的開源。

必備工具

  • XCode 7.0 開發工具
  • git 軟體版本管理
  • pod 開源軟體管理
  • ssdb
  • iOS 6.0 for iPhone, iPad

Build

clone 
cd wTHSR
pod install
用 xcode 開啟 wTHSR.xcworkspace

程式說明

wTHSR
-db
-libs
-Podfile
-Pods
-wTHSR
-wTHSR.xcodeproj
-wTHSR.xcworkspace
  • db 目錄:高鐵時刻表 (data.json), 車站資料(station.json), 線上更新範本(update.json)
  • libs 目錄:第三方資料庫
  • Podfile 檔案:pod 第三方資料庫控制檔案
  • Pods 目錄:由 pod install 後產生資料
  • wTHSR 目錄:高鐵時刻表主要程式
  • wTHSR.xcodeproj :xcode 專案檔案
  • wTHSR.xcworkspace :由 pod install 後產生 xcode workspace 專案檔案

本專案使用 objective-c 開發,所有的 view 由程式產生,並且支援簡單的線上更新。

AppStore

https://itunes.apple.com/tw/app/wthsr-tai-wan-gao-tie-shi/id302087009?mt=8

作者 Author

Harry Weng

github

https://github.com/madebyweng/wTHSR

版權 License

https://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81