一日生涯

備忘録

match adhoc で新しくデバイス登録したいのに、更新されない時

ケチってるため、enterpriseじゃないから毎回udidを登録し直していて、更新されなかったりして悲しくなる。

script

rbenv exec bundle exec fastlane match adhoc --app_identifier "BUNDLE_ID" --force --force_for_new_devices=true

所感

force要らないかも

エンジニアとしてインターン生にメンターを何人かした

実践して欲しい第一回。課題図書。

基本的にこれ読んでおいて欲しいって本を備忘としてリストアップしておく。

必須

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) Dustin Boswell

前提として、ある程度書けるようになってから。一ヶ月ごとにサクッと3回くらい読むと深みが増す。 良書は何回も読む。これを読んで貰わないとコードレビュー時に指摘回数多くて辛い。

必須ではないけどオススメ

色んなエピソードがあってサクッと読めてやる気出る

情熱プログラマー ソフトウェア開発者の幸せな生き方 Chad Fowler

一発当て切った人のアドバイス

SOFT SKILLS ソフトウェア開発者の人生マニュアル ジョン・ソンメズ

所感

じぶんももっかい読もうと思った(笑)

Ref

vimでファイルを跨いだ置換処理をしたい

1つのファイル内は%s/hoge/fuga/gcでよくやるけど、multiple fileは忘れやすいのでメモ

iOSProjectを想定しています。Project内を検索してAppDelegate.swift, ViewController.swiftのファイルを取り出して置換したいんす

やりたいこと

  • 別々の階層にあるファイルを跨いだ置換処理

やったこと

  1. 変更したいディレクトリ直下に移動し、vimで開く
cd ~/.ghq/github/SwiftHogeProject/SwiftHogeProject
vim AppDelegate.swift

2. ほんで以下のコマンド

:args **/*.swift
:args
:argdo %s/class/final class/ge | :update

継続と言う文字が表示されるがshift+gで自動で最後までやってくれる。

ただ、xvimでやっても動かなかった。なんでや。。

フォルダ構成

├── SwiftHogeProject
│   ├── AppDelegate.swift
│   ├── Assets.xcassets
│   │   └── AppIcon.appiconset
│   │       └── Contents.json
│   ├── Base.lproj
│   │   ├── LaunchScreen.storyboard
│   │   └── Main.storyboard
│   ├── Info.plist
│   └── ViewController.swift // ここが`Controller/ViewController`とかになってても置換できる。やったね
└── SwiftHogeProject.xcodeproj
    ├── project.pbxproj
    ├── project.xcworkspace
    │   ├── contents.xcworkspacedata
    │   └── xcuserdata
    │       └── omatty.xcuserdatad
    │           └── UserInterfaceState.xcuserstate
    └── xcuserdata
        └── omatty.xcuserdatad
            └── xcschemes
                ├── SwiftHogeProject.xcscheme
                └── xcschememanagement.plist

blog.ruedap.com

XcodeでBreakPointで止まらなくなった時の設定

結論

  • BuildSetting/Generate Debug SymbolsをYesにする

背景

  • Swift3移行時に、warningの対処をしていた時に不要なflagまで変えてしまっていた
    • こいつのせいでDebugしたいのに出来ない。辛いってなってたので、覚書。

Swift3のClass名.selfとはなにか

型名を返したい時に出てくる

.selfってなんやねんと

 

> メタタイプと呼ばれている型です。メタタイプはクラスやストラクチャ、列挙型、プロトコルが何であるか判別するための特別な型です。

 

## 参考

http://stackoverflow.com/questions/39495021/dynamictype-is-deprecated-use-typeof-instead

- http://dev.classmethod.jp/smartphone/iphone/swift-3-type-of/#toc-type-