SwiftSwift2018-11-25Swiftで暗号ライブラリCommonCryptoを使ってAESや3DESなど導入するSwiftWindowsやAndroidは暗号ライブラリが豊富にあるので困らないのですが、iOSのSwiftだと暗号ライブラリが少なくとても大変です。有志が様々なライブラリを作ってはいるのですが、例えば3DESだと対応しているライブラリは皆無です。recursivelyと例外が飛んでクラッシュするSwiftiOSアプリ開発で、デザインの問題で一部の画面だけ回転を禁止にする必要が生じました。この一部の画面だけ回転を禁止するというのはUX的に問題があるのはそうなのですが、同時にAppleとしても推奨していないことのような気がします。Objective-C外部ライブラリをラップするライブラリを作成して社内で使いまわすということをWindowsやAndroidでは当然のようにやってきたのですが、iOSでは簡単にできない場合があります。Headerは使えないのでmodule.modulemapを追加してエラー回避する2018-04-15SwiftとiOSで定期的なバックグラウンド処理の実行は不可能なので諦めるべきSwiftAndroidやWindowsではバックグラウンドで定期処理を実行することは比較的容易です。これと同様にiOSでも同じ機能を実装しようとすると問題に直面します。直面するというか、その機能はiOSでは実装できません。C#C#でstring.Emptyを多様しているせいか、SwiftのisEmptyがnilとなることを想定せずにクラッシュさせてしまったことが昔ありました。そのときPlaygroundで挙動を確認したことがあったので、その結果を載せておきます。isEmpty...SwiftのisEmptyやCountはnilを返す可能性があることを忘れてしまう2018-02-28SwiftにはByte型がないので戸惑うけれどUInt8がバイトやバイト配列を担っていますSwiftむかしむかしのSwiftにはByte型があったと思うのですが、あるとき突然廃止されました。Byte型の配列など使って低級の処理をしていたアプリやプログラムはコンパイルすらできない事態に。C#やJavaからやってきた人も一瞬戸惑うのではないでしょうか。調べ...SwiftにはByte型がないので戸惑うけれどUInt8がバイトやバイト配列を担っています2018-02-28Swiftでバイト配列(UInt8配列)の変数どうしで論理演算XORを計算する方法SwiftSwiftで[UInt8]のままXORをする必要がありました。SwiftのXOR演算子は「^」であり、下記のように書いてもコンパイルエラーとなります。fir...Swiftでバイト配列(UInt8配列)の変数どうしで論理演算XORを計算する方法2018-02-17XcodeとSwiftでUILabelのテキストのハイパーリンク化は気軽にはできないSwiftHTMLライクなデザインでテキストにハイパーリンクを付けることになりました。各項目を入力して送信ボタンを押してください。何か分からないことがありましたら、こちらからお問い合わせください。Objective-CとあるSDKを使ってiOSアプリを開発しているのですが、いただいたSDKのドキュメントに書かれているサンプルコードがObjective-Cでした。僕はObjective-Cは嫌いなのでSwiftに書き換えます。するとこんな関数がありました。Int型のポイ...SwiftでObjective-Cのポインタ型を書き換えるときのUnsafeMutablePointer<T>について2018-02-14SwiftでiOSアプリのファイルシステムのディレクトリの存在チェックを行うSwiftiOSアプリのDocumentsディレクトリにログを出力しようと思い、Logディレクトリを作成しました。このディレクトリはアプリが初めて起動したときに作成され、以降はディレクトリ作成を行う必要はありません。Swiftでディレクトリの存在チェックって情...SwiftでiOSアプリのファイルシステムのディレクトリの存在チェックを行う2018-01-12Swift4でDateの日時を任意のフォーマットでStringで表示するSwiftSwiftの日時を表示するのはDateクラスで簡単に実装できます。Formatを指定するとなると結構行数を使ってしまうんですよね。.shor...Swift4でDateの日時を任意のフォーマットでStringで表示する2018-01-12Swift4で任意のDateの日時から日の始まりである0時0分のDateの日時を作るSwiftiOSアプリ開発においてデータベースのデータから本日登録されたデータだけを取り出す必要があったのですが、そのためには今日の0時0分のDateを作らなければなりません。Frameworkでは下記のように作成することができます。Watanabe大手町のベンチャーで働くITエンジニアです。Railsで新規開発と保守運用やってます。ミクロなアルゴリズムや言語仕様よりマクロなクラス設計や開発工学のほうが得意です。大学院まではバイオと情報工学の学際分野、前職では産業用ロボット触ってました。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。