📜 ⬆️ ⬇️

IOS TEAM Developer Portfolio

image

Every time a new employee comes to the team, one has to decide the question of which applications to install on his computer. Even experienced developers do not remember the entire list of what they use. Some applications run daily. A piece - from time to time. But when such an application is not at hand, it often becomes a waste of precious time. As a rule, the first days are set aside for deployment of the environment and familiarization with the list of tasks. Well, when there is an opportunity to go through the list and note what was done before diving into the project. For these reasons, a “portfolio” was formed with which our team works.

The vast majority of applications are free.

Software required to install:
OSX - Apple OS latest version is installed from the AppStore (at the time of writing - the latest version of OSX)

Xcode: Core Development Tool in OSX and Xcode

SourceTree: Convenient Git Client

Slack: Teamwork and communication tool in the company:

Text editors:

Optional:
Wireshark: HTTP Sniffer - designed to intercept network packets that have gone through the developer’s network card

Postman: a handy application for checking the REST API

Joxy: "cloud" application for instant sharing of screenshots and files over the network.

Software for managing iOS devices and removing statistics

Ibeacons

FTP / SSH clients

VNC \ RDP clients:

Graphic editor:

XCode plugins: Alcatraz

To install it, run the command in the console.
curl -fsSL raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/install.sh | sh
The following are time-tested extensions.

Other recommended plugins:

PS Please note that some plugins may cause Xcode instability.
')
Snipples
Unfortunately, many developers do not know or do not know how to use snippets. Snippets are excerpts ("quotes") of commonly used expressions.
Using snippets greatly reduces code entry. It is better to see once to understand (see gif)
image
To create a snippet, go to the Show the Snippet Library tab (1), click the Edit button (not shown in the screenshot), enter the appropriate fields (2) and do not forget, select the platform.
image
The code insertion is carried out as you type the name of the snippet in the code editing field.
Below are examples from an individual list of snippets.
Custom class
import UIKit class <#Class Name#> : NSObject { // MARK: - Variables // MARK: - Outlets // MARK: - Public Properties // MARK: - Private Properties // MARK: - Constructors override init() { super.init() } // MARK: - Methods of class class func start() { } // MARK: - Methods of instance // MARK: - Actions // MARK: - Overrided methods // MARK: - Private methods 


Custom Property
 private var _<#property#>:<#Type#>? var <#property#>:<#Type#> { get { if _<#property#> == nil { _<#property#> = <#Type#>() } return _<#property#>! } set (value) { _<#property#> = value } } 


Dispatch After SWIFT
 let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC))) dispatch_after(delayTime, dispatch_get_main_queue()) { println("test") } 


Dispatch Async
 dispatch_async(dispatch_get_main_queue()) { } 


main queue
 dispatch_async(dispatch_get_main_queue()) { print(self) } 


Mark
 // MARK: - 


Singleton - Swift
 // MARK: - Singletone Implementation private override init() { super.init() } class var sharedInstance: <#ClassName#> { struct Static { static var instance: <#ClassName#>? static var token: dispatch_once_t = 0 } dispatch_once(&Static.token) { Static.instance = <#ClassName#>() } return Static.instance! } 


Viewcontroller
 import UIKit class <#Class Name#> : UIViewController { // MARK: - Variables // MARK: - Outlets // MARK: - Public Properties // MARK: - Private Properties // MARK: - Constructors override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // MARK: - Methods of class class func start() { } // MARK: - Methods of instance // MARK: - Actions @IBAction func backButton(sender: AnyObject) { self.dismissViewControllerAnimated(true, completion: nil) } // MARK: - Private methods } 


Cocoapods
How to do without mentioning Cocoapods, which, by the way, has recently grown to version 1.0.0
Main resource:

Articles:

Podfile example
platform: ios, '8.0'
use_frameworks!

pod 'Alamofire'
pod 'SwiftyJSON'
pod 'RESideMenu'
pod 'MBProgressHUD', '~> 0.9.1'
pod 'MagicalRecord'
pod 'SevenSwitch', '~> 2.0'
pod 'SMIconLabel'

Libraries
A huge set of various libraries (used depending on the subject area of ​​the current development).

Please share, in the comments, which free applications are useful to you personally for developing in iOS.

Source: https://habr.com/ru/post/283576/


All Articles