swift

iOSでインジケータのようなくるくる回るアニメーションを造る - CGAffineTransform

はじめに インジケータを自作する方法です。 標準で搭載されているものでも十分事足りるのですが、アプリの色を出したいときにインジケータの演出もこだわりたいですよね。 提供中のTIME HACKERにも自作のインジケータを導入した方ので、以下のキャプチャの…

Firebaseのエラーへの対処 - Terminating app due to uncaught exception 'com.firebase.core', reason: 'Default app has already been configured.

はじめに iOSのFirebaseでは、以下を二重に呼ぶ事は禁止されています(クラッシュします) FirebaseApp.configure() この時のクラッシュの内容は以下のようになります。 Terminating app due to uncaught exception 'com.firebase.core', reason: 'Default app…

UIViewからはみ出したViewを見れなくする方法

はじめに UIViewは、初期設定だと画面からViewがはみ出してもそのまま表示されてしまいます。 例えば以下のように高さ230pxのUITableViewCellがあるとして、 UITableViewで表示する際に、最初隠したい為に、44pxとした場合、以下のように崩れてしまいます。 …

Quickを使ってSwiftコードのユニットテストを行う - Carthageからの利用

はじめに iOSのユニットテストを行うのに、標準ですとXCTestがありますが、 最近Quickと呼ばれるテストフレームワークがよく使われ出しました。 XCTestも非常に強力なテストフレームワークですが、初見であったり、他の人が記載したテストコードは中々読みづ…

Swift 構造体の使い方 - 基本定義, イニシャライザ, メソッドを扱う

はじめに 構造体とは値型のデータを構造的に持つものです。 特にSwiftの構造体は、その中でメソッドを作成出来たりと、クラスと何が違うねん!と思いますが、 構造体はクラスと違って代入や関数呼び出しの際、データの実態がコピーされ、新しいインスタンス…

Module compiled with Swift 4.0.3 cannot be imported in Swift 4.1: x86_64.swiftmodule エラーの対応

はじめに XCodeのVersionを挙げたら、標題の通りのエラーが発生するようになりました。 詳細には Module compiled with Swift 4.0.3 cannot be imported in Swift 4.1: RxSwift.framework/Modules/RxSwift.swiftmodule/x86_64.swiftmodule Carthage経由で入…

UITextFieldで入力判定を行う (UITextFieldTextDidChange)

はじめに 提供中のKeyHolderにて、UITextFieldで入力チェックを行っております。 こんな感じでUITextFieldに何も入力されていない場合は、画面右上の保存を非表示にし、 こんな感じでUITextFieldに入力されている場合は、画面右上の保存を表示しています。 …

UITabBarをUIViewController上の処理で非表示にする

はじめに TabBarを非表示にしたい場合、UITabBarController側で非表示にするのではなくて、Tabで表示するUIViewController上の処理で非表示処理を入れるやりかたです。 表示のタイミングでTabBarを非表示にする UIViewControllerには以下のコードを埋め込み…

LocalAuthentication iOSで生体認証(Face ID, Touch ID)のまとめ

はじめに KeyHolderにFace IDやTouch ID等の、生体認証を導入したので、その際の備忘録を纏めます。 はじめに 実装方法 info.plist修正 NSFaceIDUsageDescriptionを追加 LocalAuthenticationをimport 認証用コードの実装 エラーコード (LAError.Code) 最後に…

本当に書いた怖いソース(swift編) 強制ダウンキャスト as!

はじめに どうもどうまずです。 本当に書いちゃった怖いソースをお見せしようと思います。 特に今回はクラッシュするレベルのコードです。 強制ダウンキャスト まずはこちらのソースをご覧頂きたい。 (ちなみに、コンパイルエラーにはなりません。) func c…

本当に書いた、怖いソース (swift編) viewDidLoadの肥大化 Initialization Closure

はじめに どうも、どうまずです。 本当に書いた、汚いソース第2弾です。 今回はどんな怖いソースが出てくるのか・・・・ viewDidLoad まずはこちらのソースをご覧頂きたい。 override func viewDidLoad() { super.viewDidLoad() mainCollectionView.delegat…

本当に書いた、怖いソース(swift編) マジックナンバー

はじめに どうも、どうまずです。 私が本当に書いて指摘してもらった、汚い・危ないswiftのソースを心霊写真の紹介っぽく記載していきます! 反省も踏まえまして… 恐怖・マジックナンバー まずは、こちらのソースをご覧下さい・・・。 switch indexPath.sect…

SwiftでKVO (Swift3.0)

はじめに 今日のお題はSwift(3.0)でKVO。 KeyHolderのSwift化を行っていた際に思いっきり詰まってしまったので、その備忘録です。 そもそもKVOって? KVOは、Key-Value ObservingでObjective-Cから引き継いだ機能の1つで、 指定した変数に変化があった際に、…

iOS(Swfit)でStatusBarを変更 (preferredStatusBarStyleの代わりになるもの)

今日は超絶簡単な記事をpost. Status barのstyle変更 iOS7からStatusBarのスタイルを変更する際に、以下の様にをoverrideして使えるようになりました。 /// statusの文字を白くする - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleL…

テーブルで余計なセパレータが表示されてしまう問題

はじめに どうも、どうまずです。 TableViewのセパレータですが、ちょっと変な動作をします。 本文 次の画像をご覧下さい。 これですが、TableViewのセルは色付き2つだけなんです。しかし、余計なセパレータが引かれてしまい、複数のセルがあるように見えて…

Objective-CからSwiftへ移行する (AppDelegate)

はじめに ゆう@あんのうんです。 提供中のKeyHolderですが、 これ半分くらいまだObjective-Cのコードで動いています。 流石に今後の保守の事を考えると、All Swift化した方が良いと思ってがちゃがちゃ開発しているにあたり、ちょっとつまずいた所のメモ書き…

WKWebViewのSample

ゆう@あんのうんです。 ATSの問題で、WKWebViewが流行ってきました。 (WKWebViewでもUIWebViewでもNSAllowsArbitraryLoadsInWebContentが使えるので、ATSだから…と言うのは色々とミスリードな気がしてますが) ただ、ChromeアプリもWKWebViewに乗り換えたとい…

一部のViewControllerだけ端末の回転をさせる方法

ゆう@あんのうんです。 今日のお題は、一部のViewControllerだけ端末の回転をさせる方法です。 注意点 UINavigationControllerにぶら下がっているViewControllerはshouldAutorotate()は呼ばれません。 UINavigationControllerにViewControllerがぶら下がっ…

Swift3で現在の日付・曜日を取得する方法

はじめに だいぶ久しぶりに更新します、どうまずです。 Swift3でいろいろ苦戦してまして、そんな苦悩の一部を記載しときます。 苦戦した点、それは「現在の日付・曜日を取得する。」です。 本文 私の勉強不足か理解力不足か、ネットの記事を参考にしてもでき…

CoreDataでエンティティの新規レコードを生成し、NSManagedObjectのサブクラスにキャストしたら「Could not cast value of type 'NSManagedObject_' to」のエラー

はじめに ゆう@あんのうんです。 最近もっぱらswiftばっか開発していて、Objective-Cに戻れません。。。 今日は珍しくCoreDataの話題。 タイトル通りのエラーに悩まされており、解決したので投稿 現象 例えば、以下のCoreDataのエンティティがあるとして こ…

Swiftはじめました

Swiftの素晴らしさに感嘆しつつ、Objc - swiftとの狭間で悶々としている、ゆう@あんのうんです。 いい加減やらないとなーと思い、今までリファレンス斜め読みしかしてなかったのですが、とりあえず不自由なく読み書きできるように再度勉強を始めました。 こ…

Swift - タプル(tuple)メモ

概要 複数個のデータを組にしてまとめたもの。 関数やプロパティから複数個の値をまとめて返却する際に良く使われる。 概要 構造体との違い 代入 タプルへのアクセス キーワードを用いたタプルの代入 タプルから定数を作る タプルの型変換 同時代入 タプルと…