プログラミング
はじめに Git リポジトリに Emoji Prefix のコミットテンプレートを設定してみる。 Emoji Prefix を導入するメリットは 絵文字とコミットが対になるので、コミットの役割が明確になる バグ修正+リファクタリング+機能追加。。。など本来分割すべきコミット…
LicensePlist を使うと iOS アプリに依存している OSS のライセンス表記をまとめることができる CocoaPods も Carthage どちらも対応している これを試してみる。 セットアップ Homebrew 経由で LicensePlist をインストールする。 $ brew install mono0926/…
macOS であれば 下のように sips コマンドを使って HEIC -> JPEG 変換ができる $ sips --setProperty format jpeg PIC.HEIC --out PIC.jpg ただし、ファイル数が多いと一括で変換したくなるので Python スクリプトを作った。(内部で sipsを使用しているので…
はじめに https://daisuke-t-jp.hatenablog.com/entry/2019/08/19/162337 で Zip アーカイブの展開(UnZip)の方法を書いたので、これを発展させて Zip をサーバからダウンロード アプリ内で Zip を展開 展開したデータをアプリで使用 というユースケースを…
はじめに ZipArchive ライブラリを使用すると iOS で Zip を展開(圧縮も)できる。 これは macOS も tvOS にも対応している。 ここでは Carthage での導入について書く。 Carthage でのライブラリ導入について基本的なことは https://daisuke-t-jp.hatenabl…
curl コマンドに O オプションを指定すれば、ファイルダウンロードできる。 curl -O https://tetsugaku.info/images/melon-and-lemon.png curl コマンドは macOS にデフォルトインストールされているはずなので、気軽に使用できる。 もし、Linux ライクに wg…
スクリーンショットは Issues · google/science-journal-ios · GitHub から GitHub で Issue を見ていて good first issue というのがあり、意味が分からなかった。 調べると GitHub ではIssue / PR に使用できるラベルがデフォルトでいくつか用意されていて…
Carthage とは? 日本語の読みは「カルタゴ」でいいかしら。 名前の由来は、現在のチュニジアにかつてあった古代の国家の名前らしい。 GoogleMap でみるとこんな場所。 CocoaPods のように Xcode プロジェクトに手軽に外部ライブラリを取り込めるパッケージ…
このページは SwiftLint について、導入する方法と使い方を簡単に記す。 もっと詳しく知りたい場合は SwiftLint のプロジェクトを見るべき。 また SwiftLint を試したサンプルプロジェクトは GitHub にある。 SwiftLint とは? Swift コードのスタイルをチェ…
はじめに ルートに .swift-version ファイルがあるプロジェクトを発見することがある。 たとえば、下記のリポジトリ。 https://github.com/IBM-Swift/BlueSocketblob/master/.swift-version https://github.com/yahoojapan/UICollectionViewSplitLayout/blob…
github.com github.com brotil と snappy は Google でリポジトリ管理されている圧縮ライブラリ。 それぞれテストデータは以下の場所にある。 brotli/tests/testdata at master · google/brotli · GitHub snappy/testdata at master · google/snappy · GitHu…
AVFoundation の AVSpeechSynthesizer クラスを使うと、テキスト(文字列)を音声で読み上げることができるのでメモ。 サンプル 最低限以下で読み上げができる。 import AVFoundation // シンセサイザーを準備する let synthesizer = AVSpeechSynthesizer() …
_ = { () -> () in // ... }() もしくは do { // ... } 後者の方が簡潔。
コード 医療費控除の額がよくわからなかったので、C言語でコードを書いて試してみた。 GitHub にもある。 #include <stdio.h> #include <math.h> #include <assert.h> static int get_medical_expenses_deduction(int payed, int insurance, int income); int main(int argc, const char</assert.h></math.h></stdio.h>…
ある UIButton に対して TouchUpInside のイベントにアクションをバインドしたいとき、インターフェースビルダーを使わずに、コードで実現すると下のようになる。 @IBOutlet weak var button: UIButton! class ViewController: UIViewController { override …
はじめに UnsafeMutablePointer の allocate/deallocate/initialize/move などのメソッドを一通り使用する。 また、ポインタの扱いでメモリリークが発生しないようにする。 テストしたコードは GitHub にある。 テストで共通使用する関数・クラス このコード…
はじめに Swift でこんな感じのことをしたく var v = Int(0) print(v) // "〇" v = Int(1) print(v) // "一" v = Int(2) print(v) // "二" v = Int(1234) print(v) // "千二百三十四" v = Int(665061443960367) print(v) // "六百六十五兆六百十四億四千三百…
import XCTest class UITests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. // In UI tests it is usually best to stop immediately when a failure oc…
import XCTest class UITests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. // In UI tests it is usually best to stop immediately when a failure oc…
はじめに Travis CI で CocoaPods を使用したプロジェクトのビルドが失敗したため、調べたことをメモ。 リファレンス Travis CI のドキュメント この中の Building an Objective-C or Swift Project - Travis CI のセクションをみる。 抜粋 リファレンスに書…
クランプ(Clamp)とは、ある値が任意の範囲になるように調整することをいう。 たとえば、値を 0 〜 10 の値にしたければ、以下のようなコードを書く。 if x < 0 { x = 0 } if x > 10 { x = 10 } ただし、必要な箇所でその都度、上のようなコードを書くと煩…
資料 https://swift.org/download/#using-downloads https://github.com/apple/swift#getting-started 手順 Docker 側 1. Docker をインストール $ brew cask install docker 2. Ubuntu のイメージを得る $ docker pull ubuntu 3. Ubuntu コンテナを作成 $ d…
この記事は CocoaPods へライブラリを登録する方法をまとめる。 登録の方法 1. podspec ファイルを作成する $ pod spec create MyLib 2. podspec ファイルを編集する 以下、サンプルを載せる Podspec ファイルの構文リファレンスについて詳しくは Podspec Sy…
フォルダ内にある Xcode 関連ファイル h m mm swift txt md plist strings のエンコーディング一覧を見たい場合は find コマンドでできる # 現在のパスから開始する $ find -E . -type f -iregex ".*\.(h|m|mm|swift|txt|md|plist|strings)" -exec file --mi…
はじめに iOS / macOS にて CPU 負荷、メモリ使用量を得るために Mach を使用する方法があります。 ただ、Mach の関数を直接使用するとポインタの扱いが手間なので、そのあたりを吸収した Swift フレームワークを作成しました。 github.com 使い方は以下です…
https://swift.org/package-manager/ パッケージを初期化(実行形式) $ swift package init --type executable パッケージを初期化(ライブラリ) $ swift package init --type library ビルド $ swift build テスト $ swift test 実行 $ swift run Package…
Android デバイスの DPI(Dot Per Inch)の一覧 一覧 種別 サイズ DPI 備考 ldpi Low 120dpi 以下 mdpi Middle, Standard 160dpi 以下 hdpi High 240dpi 以下 xhdpi eXtra-High 320dpi 以下 xxhdpi eXtra-eXtra-High 480dpi 以下 xxxhdpi eXtra-eXtra-eXtra-…
フォークしてプルリクエストをあげるまで GitHub 上で対象のリポジトリを自分のリポジトリとして fork する ブラウザの画面上に「Fork」ボタンがあるのでそれを押すと、 fork される fork したリポジトリを clone する $ git clone フォーク先リポジトリ.git…