Slide 1

Slide 1 text

Ruby Toolbox For iOS developer 運⽤用Ruby-based的⼯工具加速iOS⾏行動應⽤用開發 - Anderson Lin

Slide 2

Slide 2 text

Greetings. The name is Anderson. (@trisix / [email protected])

Slide 3

Slide 3 text

A Dicer. http://tw.polydice.com/

Slide 4

Slide 4 text

Basically an guy. iOS App developer and designer.

Slide 5

Slide 5 text

Currently working on iCook愛料理 iPhone & iPad App http://icook.tw/mobile

Slide 6

Slide 6 text

Used to try to learn Ruby to build game using RPGMaker & RGSS...not went well though. When I was little... http://zh.wikipedia.org/wiki/RGSS

Slide 7

Slide 7 text

But it’s not the end.

Slide 8

Slide 8 text

Third party libraries.

Slide 9

Slide 9 text

Great!

Slide 10

Slide 10 text

Dependency.

Slide 11

Slide 11 text

Well, not that great.

Slide 12

Slide 12 text

Copy the source code directly? Bad to maintain.

Slide 13

Slide 13 text

$ git submodule ? Basically OK, yet sometimes it’s like some people’s Facebook relationship status: It’s complicated.

Slide 14

Slide 14 text

“Hey, where’s Bundler for iOS development?” Read this before...

Slide 15

Slide 15 text

There you go! http://cocoapods.org/ https://github.com/CocoaPods/CocoaPods

Slide 16

Slide 16 text

Install it $ gem install cocoapods Edit the Podfile to add whatever you want to use $ subl Podfile For first time usage $ pod setup Install it $ pod install open the xcodeworkspace $ open thisisatest.xcworkspace

Slide 17

Slide 17 text

How about provision files and devices management?

Slide 18

Slide 18 text

https://github.com/mattt/cupertino cupertino

Slide 19

Slide 19 text

Install it $ gem install cupertino Login to the Apple dev center $ ios login After that you can do something like $ ios devices:list To get current device list. Or $ ios devices:add "iPad 2"=def456 "iPad 3"=ghi789 ... To add new devices. Or you can do other things.

Slide 20

Slide 20 text

Notice this: currently cupertino is not support for multiple account.

Slide 21

Slide 21 text

How about beta test?

Slide 22

Slide 22 text

TestFlight Upload with: Web Inteface or Native Mac Applicaiton https://testflightapp.com/

Slide 23

Slide 23 text

How about a CLI?

Slide 24

Slide 24 text

https://github.com/mattt/shenzhen

Slide 25

Slide 25 text

Install it $ gem install shenzhen Build ipa for your project $ ipa build Ship it! $ ipa distribute or $ ipa distribute:hockeyapp $ ipa distribute:testflight

Slide 26

Slide 26 text

Notice this: you still need type the API Token and the Team Token while you are using shenzhen.

Slide 27

Slide 27 text

Thanks.