忘備録
npm i -g npm-check-updatesを入れておくと便利 npm-check-updatesをインストール $ npm i -g npm-check-updates 特定のパッケージを最新にする $ncu -u styled-components これを実行するとpackage.jsonが更新される --- a/package.json +++ b/package.json…
いままで@派をあまり見かけたことがないので、もしかして認知度が低いのかな・・と思い今更感がすごいことを書いておきます。 ドキュメントに書いてあるように HEADって打たなくても@(アットマーク)で代用できます。 @ alone is a shortcut for HEAD. Git …
SwiftでDictionaryの値を追加、変更するのに2通りのやりかたがあります。 ひとつはsubscript、dict["key"] = "value" もうひとつはupdateValue、dict.updateValue("value", forKey: "key") です。 どちらを使ってもDictionaryの値を変更できますが、微妙に…
横方向のStackViewを普通に使うと余白は詰められて横幅いっぱい使うようになってしまいますが、たまに左寄せにしたい(右に余白を開けたい)場合があります。 そんなときはこのように空のViewを一番うしろに突っ込んでやることで解決できます。 let spacerVi…
MSからVirtualBoxのイメージが配布されているのでそれを使います。 1. VMのダウンロード ここからVirtualBox用のVMをダウンロード 2. VMの起動 1でダウンロードしたzipを回答すると MSEdge-Win10というフォルダ内にMSEdge-WIn10-disk001.vmdkとMSEdge-Win10.…
Ubuntu16.04にNode.jsの6系とyarnをインストール sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo bash - sudo apt-get install -y nodejs sudo curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.24.4
Ubuntu 16.04上でDocker動かすのにちょっと手こずったのでメモ。 とりあえずこれを実行すれば、Docker CEとdocker composeがインストールされるはず。 yes | sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-co…
JavaScript(es2015)でFetch APIを使ってRailsのAPIを呼ぶときの方法。 ポイントとしては、'credentials: same-origin'をつけることと、 CSRFを有効にしている場合はheaderにX-CSRF-Tokenをつける点です。 const getCsrfToken = () => { const metas = docume…
InterfaceBuilderやStoryboardでAutolayoutを使って配置したViewをremoveFromSuperviewしてから、 再度addSubviewしたい!ということがたまにあります。 普通にremoveFromSuperviewしてaddSubviewすると元には戻りません。 なぜならremoveFromSuperviewした…
独自のNotification名を追加する場合はこんな書き方がよいような気がします。 extension Notification.Name { struct AppName { public static let DidLogin = Notification.Name(rawValue: "com.example.appname.didLogin") } } 通知名の文字列には通知名の…
ローカルではarchiveからipaにexportできるのにCircleCIだとExport Failedになる場合の対処法です。 原因としてはCircleCIの環境変数が悪さをしているようで、以下のをunsetすればなおりました unset BUNDLE_BIN_PATH unset BUNDLE_GEMFILE unset BUNDLE_ORI…
Visual Studio Codeを使うときにEmacs Keybindingにする方法です。 Emacs Keymap(Emacs Keymap - Visual Studio Marketplace)というのが存在するので、これを使ってみます。 Shift + Command + Xを押して拡張機能を開きます 検索窓でemacsといれるとEmacs Ke…
当たり前といえば当たり前なんですが、 iOSのKVO(addObserver(_:forKeyPath:options:context:))はObjective-CのNSObjectのメソッドなので、指定するkeyPathはObjective-Cのプロパティ名じゃないとだめです。 例えばUIViewのisHiddenをKVOしたい場合は↓のよう…
TwitterKitを使ってログインするときの注意点を2点 1. Twitterアカウントを登録しているかで挙動が変わる TwitterKitを使ってTwitterログインするときに、TwitterのアカウントをiOSに設定しているかどうかで挙動が変わります。 (2017年1月時点) iOSの設定…
Swiftにはweak reference arrayがないので、NSHashTableを利用します protocol SampleDelegate : class { func sampleDelegateDidFinish() } class SampleClass { let delegates = NSHashTable<AnyObject>() // AnyObjectをSampleDelegateにするとSwift3時点ではコンパ</anyobject>…
古 新 CGRectGetWidth( rect ) rect.width CGRectGetHeight( rect ) rect.height CGRectGetMinX( rect ) rect.minX CGRectGetMidX( rect ) rect.midX CGRectGetMaxX( rect ) rect.maxX CGRectGetMinY( rect ) rect.minY CGRectGetMidY( rect ) rect.midY CGR…
動画のフォトアルバムへの保存 iOS8まで import AssetsLibrary ... ALAssetsLibrary().writeVideoAtPathToSavedPhotosAlbum(filePathURL) { _ in // 完了後の処理 } iOS9以降 import Photos ... PHPhotoLibrary.sharedPhotoLibrary().performChanges( { PHAs…
Androidの既存のプロジェクトをビルドしようとしてAndroid Studioのインストールからはじめると 毎回同じようなところで躓いている気がするのでメモ エラーで Unsupported major.minor version 52.0 が出た時 原因 これはAndroidStudioが使っているJDKが古い…
Xcode8でビルドするとデフォルトではSwift3でコンパイルされてしまいます。 とりあえずXcode8にあげるけどSwift2.3のままにしておいて、Swift3対応は後でという場合の対処方法です。 Build Settings Build Settingsの"Use Legacy Swift Language Version"を"…
セルのセパレーター消すやつ override func awakeFromNib() { separatorInset = UIEdgeInsets(top: 0, left: bounds.width, bottom: 0, right: 0) }
普通はFabricで手順通りにやってればクラッシュレポートは送信されるはずなんですが、なぜか送信されないってことがありました。 answersとかは動いているのでFabric自体はちゃんと取り込まれてるのになぜだ・・と思って調べたら troubleshootingに書いてあ…
Swiftでコード行数を測ろうとツールを探していたらclocというのがよさげでした インストール インストール方法は思ったよりたくさん用意されていてlinux系だけでなく、node.jsやhomebrew, macports用のも用意されていて、WindowsやMac環境でも楽にインストー…
libwebpをclone > git clone https://chromium.googlesource.com/webm/libwebp 最新のをcheckout > git checkout 0.4.4 iosbuild.shを実行 > iosbuild.sh iosbuild.shでautomakeがないとか怒られた場合は以下を入れる Command line tools > xcode-select --i…
テスト対象を@testable import XXXXを使ってimportした場合に、テスト対象のコードをテスト時だけ分岐させて特定の処理を行わないようにしたりしたい場合の対処方法です。 方法としては、環境変数がセットされているかどうかでテストかどうかを判定します。 …
UnitTestだとremoveObjectForKeyや NSUserDefaults.standardUserDefaults().removeObjectForKey("key") resetStandartUserDefaultsを呼んでもデータが消えません NSUserDefaults.resetStandardUserDefaults() 解決方法 setObjectでnilを突っ込む NSUserDefau…