Karakuri.com

ベンチャー企業で働くソフトウェアエンジニアの技術録

2018-02-01から1ヶ月間の記事一覧

SwiftにはByte型がないので戸惑うけれどUInt8がバイトやバイト配列を担っています

むかしむかしのSwiftにはByte型があったと思うのですが、あるとき突然廃止されました。Byte型の配列など使って低級の処理をしていたアプリやプログラムはコンパイルすらできない事態に。C#やJavaからやってきた人も一瞬戸惑うのではないでしょうか。どう調べ…

Swiftでバイト配列(UInt8配列)の変数どうしで論理演算XORを計算する方法

Swiftで[UInt8]のままXORをする必要がありました。しかしSwiftのXOR演算子は「^」であり、下記のように書いてもコンパイルエラーとなります。 let first: [UInt8] = [0xff, 0x10, 0xa0] let second: [UInt8] = [0x01, 0x02, 0x03] let result: [UInt8] = fir…

MacOSにHomebrewでHttpキャプチャソフトFiddlerはインストールできなくなったのでMonoで起動しましょう

HttpでAPIを叩くときに重宝するのがFiddlerです。Windowsアプリ開発では使わせていただいているのですが、iOSアプリ開発でも使えるのでしょうか。どうもMacOSでも使っている人が結構いるみたいなのでインストールすることにしました。 Homebrewでインストー…

Githubにpushできなくなってfatal: could not read Username for 'https://github.com'とか言われる

C#で.Net Frameworkなアプリケーション開発にはVisual StudioとGithub Extension for VIsual Studioを使っています。最近は自宅作業もなかったため、久しぶりに家の環境でpushしてみたら fatal: could not read Username for 'https://github.com' No such f…

XcodeとSwiftでUILabelのテキストのハイパーリンク化は気軽にはできない

HTMLライクなデザインでテキストにハイパーリンクを付けることになりました。 各項目を入力して送信ボタンを押してください。何か分からないことがありましたら、こちらからお問い合わせください。 こんなケースですね。アンダーバーだけハイパーリンク化し…

SwiftでObjective-Cのポインタ型を書き換えるときのUnsafeMutablePointer<T>について

とあるSDKを使ってiOSアプリを開発しているのですが、いただいたSDKのドキュメントに書かれているサンプルコードがObjective-Cでした。僕はObjective-Cは嫌いなのでSwiftに書き換えます。するとこんな関数がありました。 (id)method:(int*)arg; Int型のポイ…

SwiftでiOSアプリのファイルシステムのディレクトリの存在チェックを行う

iOSアプリのDocumentsディレクトリにログを出力しようと思い、Logディレクトリを作成しました。当然このディレクトリはアプリが初めて起動したときに作成され、以降はディレクトリ作成を行う必要はありません。でもSwiftでディレクトリの存在チェックって情…