Here the #supengineering team takes you through 7 tips that they used to help speed up and improve the productivity of their workflow when working in teams.
7. A beautiful seamless experience to
see your friends more
https://bnc.lt/apps-world
8. TIPS TO HELP YOU SPEND
MORE TIME BUILDING
AWESOME PRODUCTS
@Supmenow
7
HOW TO XCODE IN TEAMS
9. WHAT ARE THE ISSUES ? @Supmenow
➤Conflicts.
➤Time consuming to maintain.
➤Inconsistent behaviour between development machines.
10. TIP 1: .GITIGNORE @Supmenow
Xcode Projects contain a lot of information about what each developer was doing.
We can use a .gitignore file to ignore all of that.
## Build generated
build/
DerivedData
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
## Mac Files
.DS_Store?
.DS_Store
11. TIP 2: .GITATTRIBUTE @Supmenow
git doesn’t really understand Xcode projects, we can use .gitattribute file to
let it know what to do when resolving conflicts.
*.pbxproj binary merge=union
12. TIP 3: COCOAPODS @Supmenow
“CocoaPods is the dependency manager for Swift
and Objective-C Cocoa projects.”
13. LIBRARIES MADE EASY @Supmenow
target 'myapp' do
pod 'FlatUIKit'
end
We can easily add and maintain code written by others without
having to add it to our project manually.
We just need to create a podfile and cocoapods does the rest.
14. TIP 4: FASTLANE @Supmenow
Fastlane allows you to automate the process of testing and releasing
your application.
15. TIP 4: FASTLANE @Supmenow
Fastlane uses the concept of lanes. Each
lane is different way of distributing your
app.
It could be to the app store or just to test
flight.
We describe all of this inside of a fastfile
Your App
17. TIP 4: FASTLANE @Supmenow
lane :appstore do
increment_build_number
cocoapods
xctool
snapshot
sigh
deliver
sh "./customScript.sh"
slack
end
Fastfile:
18. TIP 5: BUNDLER @Supmenow
Manage the development tools used for your
applications.
19. TIP 5: BUNDLER @Supmenow
source "https://rubygems.org"
gem "cocoapods", "~> 0.39"
gem "fastlane", "~> 1.36"
We use a lot of tools when developing our apps, controlling which
version we use makes it easier when working in teams.
We just need to create our gemfile, describing which and what
version of our tools.
20. TIP 6: CI @Supmenow
Allows you to integrate changes from each developer and see how it affects the app
21. TIP 6: CI @Supmenow
To tell travis how to build our app we simply use a .travis.yml file and it will
handle the rest.
language: objective-c
osx_image: xcode7
script: fastlane beta