.xctemplate
produtividade e
cocoaheads campinas - outubro 2019
Slide 2
Slide 2 text
Fabrício Serralvo
dev iOS @ iFood
Slide 3
Slide 3 text
como vai ser
• 20 ~ 25 minutos
• baixa profundidade
• pré requisito: xcode
Slide 4
Slide 4 text
e sobre o que vamos falar
• o que é xcode template
• exemplos e demonstração
• quando usar e quando não usar
• perguntas e respostas
Slide 5
Slide 5 text
o que é
template - ˈtɛmpleɪt, ˈtɛmplət
noun
A shaped piece of rigid material used as a pattern for processes such as
cutting out, shaping, or drilling.
Computing: a preset format for a document or file.
Slide 6
Slide 6 text
// Foo.swift
// Created on 26/10/19
extension Foo: Bar {
return “foo-bar”
}
Slide 7
Slide 7 text
o que é
• disponível desde o xcode 3
• se divide em duas categorias
• project template
• file template
~/Library/Developer/Xcode/Templates/File Templates/
⚠ caso a pasta não exista, basta cria-la
Slide 12
Slide 12 text
estrutura
• arquivo .plist para configuração: TemplateInfo.plist
• ícone e ícone 2x: TemplateIcon.png e [email protected]
• arquivos que definem o template, MyFile.swift por exemplo
• tudo isso em uma pasta com o sufixo .xctemplate
exemplos e demonstração
___FILEBASENAME___ nome do arquivo, sem extensão
___FILEBASENAMEASIDENTIFIER___ nome do arquivo normalizado
___PROJECTNAMEASIDENTIFIER___ nome do projeto normalizado
___VARIABLE_customName___ variável customizada, customName é definido no TemplateInfo.plist
___VARIABLE_customName:identifier___ variável customizada usando normalização
Slide 16
Slide 16 text
quando usar
• facilita padronização
• foco em boas práticas
• automatização
Slide 17
Slide 17 text
quando não usar
• xcode template não é
• gerador de código
• Sourcery - github.com/krzysztofzablocki/Sourcery
• gerador de dados
• Fakery - github.com/vadymmarkov/Fakery
• SwiftRandom - github.com/thellimist/SwiftRandom