The Pragmatic Ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

自動化

Prettierで.vueをフォーマット

Prettierのv1.10でVueのsingle file componentをformatできるようになりました。 それまではeslintででたエラーを人手でポチポチ直してたのでこの辺りが自動化できるのは最高です。 やることはすでにprettier導入済みであれば*.vueを対象のファイルにいれる…

CircleCIでipaファイルを作ろうとするとExport Failedする

ローカルではarchiveからipaにexportできるのにCircleCIだとExport Failedになる場合の対処法です。 原因としてはCircleCIの環境変数が悪さをしているようで、以下のをunsetすればなおりました unset BUNDLE_BIN_PATH unset BUNDLE_GEMFILE unset BUNDLE_ORI…

Xcode8のxcodebuildでarchive時にsignining周りでエラーがでたときの対処法

Xcode8でxcodebuildを使ってコマンドラインでarchiveしようとすると以下のようなエラーがでて失敗するようになりました。 Check dependencies XXX has conflicting provisioning settings.XXX is automatically signed, but provisioning profile XXX_Adhoc …

SwiftLint

Swiftでコーディング規約に沿っているかチェックするツールにSwiftLintというのがあるのでつかってみました。 SwiftLintではコーディング規約としてGithubのSwift style guildeを使っています。 使い方 $ brew install swiftlint XcodeでSwiftLintをかけるプ…

Crashlyticsにクラッシュレポートが送信されない

普通はFabricで手順通りにやってればクラッシュレポートは送信されるはずなんですが、なぜか送信されないってことがありました。 answersとかは動いているのでFabric自体はちゃんと取り込まれてるのになぜだ・・と思って調べたら troubleshootingに書いてあ…

コード行数の測定

Swiftでコード行数を測ろうとツールを探していたらclocというのがよさげでした インストール インストール方法は思ったよりたくさん用意されていてlinux系だけでなく、node.jsやhomebrew, macports用のも用意されていて、WindowsやMac環境でも楽にインストー…

Swiftでコマンドラインでカバレッジを取る方法

Objective-Cのときはgcov使ってUnitTestのカバレッジを取っていましたが、 Xcode7から(?)llvm-covが使えるようになったのでこれを使ってみます。 ドキュメントを見ると使い方としては結構単純で、 レポートを出力するには、以下のようにPROFILEとBINを与えて…

dynamic frameworkを使ってるプロジェクトでコマンドラインでipaファイル作成

Swiftでサブプロジェクトのモジュールをdynamic frameworkで取り込む場合にコマンドラインでipaファイルを作成する手順です。 環境:Xcode7.1 従来のやりかたではできなかったのでメモしておきます 発生した問題 以前Objective-Cでstatic libraryでやってい…

CHANGELOGの自動生成

リリースごとにCHANGELOGをもれなく書くのは結構な手間です。 そこでcommit時にコミットログとしてCHANGELOGを記載しておき、リリース時にそれをまとめて出力することでその手間を削減します。 conventional-changelogを使ってCHANGELOG.mdを生成する方法に…

Travis CIでObjective-C/Swiftのテストを実行する

[環境]Xcode 6.1 Swift,Objective-Cどちらの場合でもこの方法でいけるはずです。 Travis CIにドキュメントが用意されていますが、xctoolを使った例が示されているので無視したほうがよいです。xctoolはAppleが用意した標準のビルドツールではなく、Facebook…