Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Travis iOS
Search
Oursky Limited
June 30, 2014
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Travis iOS
Oursky Limited
June 30, 2014
More Decks by Oursky Limited
See All by Oursky Limited
UI Automation
oursky
1
550
SSH Can
oursky
1
350
HTTP/2
oursky
0
380
watchOS2
oursky
0
380
Common QA issues
oursky
0
240
Complex is better than complicated
oursky
0
320
Clean code again
oursky
3
410
KiriKiri x O2 x NVLMarker
oursky
0
270
Flux + React
oursky
1
420
Other Decks in Programming
See All in Programming
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
450
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
React本体のコードリーディング
high_g_engineer
1
140
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
Cloudflare is Agents
chimame
0
150
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.4k
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
160
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
340
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Building Applications with DynamoDB
mza
96
7.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
590
Code Review Best Practice
trishagee
74
20k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
Automating Front-end Workflow
addyosmani
1370
210k
Transcript
Continuous Integration iOS on Travis
The idea • Atomic commits • Automated, test, build and
delivery • One version, aka. no branching
Actual steps • Write Test • Write Code • Push
- Github • Automated Test - Travis-CI • Automated distribution - TestFlight
Test in general • Input <—> Output Checking • Function
<—> State Checking • Actions <—> Behaviour Checking
Test in Xcode • XCTest automatically include since Xcode5 •
Press ⌘+U • xcodebuild • xctool - facebook xcodebuild with pretty print
Travis.yml language: objective-c script: - xctool test -workspace asosnewin.xcworkspace -scheme
asosnewin -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO
Build,Sign and distribute • xctool -workspace asosnewin.xcworkspace -scheme asosnewin -sdk
iphoneos7.1 -configuration Release OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO • xcrun -log -sdk iphoneos PackageApplication "$APP_NAME.app" -o "$APP_NAME.ipa" -sign "$DEVELOPER_NAME" -embed "$PROVISIONING_PROFILE" • curl http://testflightapp.com/api/builds.json -F file="@$APP_NAME.ipa"
Setup Env on Travis • travis encrypt "APP_NAME=GIFCAM" —add •
Keys • Encrypt with openssl aes-256-cbc and checkin into github • decrypt the key and do security import on travis
Reference • http://www.objc.io/issue-6/travis-ci.html • http://martinfowler.com/articles/ mocksArentStubs.html • https://developer.apple.com/library/ios/ documentation/ToolsLanguages/Conceptual/ Xcode_Overview/UnitTestYourApp/
UnitTestYourApp.html