2019-01-01から1年間の記事一覧

2019年のSwiftモック事情

こんにちは、id:ikesyoです。これは はてなエンジニア Advent Calendar 2019 17日目のエントリーです。 昨日12月16日(月)に行われた 年末だよ Android/iOS Test Night - 2019 にて、『2019年のSwiftモック事情』という発表をしました。 Swiftでテストのた…

Android公式のDagger導入ドキュメント

Android Dev Summit 2019の文脈でAndroid公式のDaggerに関するドキュメントやCodelabが出てきて取っ付きやすくなった感じがします。いいですね。 Dagger basics | Android Developers Using Dagger in Android apps | Android Developers Using Dagger in mu…

iOSDC Japan 2019でXCFrameworksのLTをします

iOS

こんにちは。iOSDC Japan 2019の0日目参加のため東京に上陸しております id:ikesyo です。明日1日目の16:15からTrack Bで『5分でわかる!Xcode 11から使えるXCFrameworks』というタイトルでLTをします。 どういう内容かは紹介文を読んでいただきつつ、先月行…

CI/CD Test Night #4で、Swift製ライブラリのLinux対応 with Travis CIについて発表しました

Test Nightに初めて参加してきました(iOSやCI/CDも含めて)。普段は概ねiOSやSwift関係の勉強会・カンファレンスへの参加がメインなので、異なる軸での勉強会の参加するのは新鮮で楽しかったです(けど結構スマホアプリ絡みやBitriseの話も出ていた)。 発…

Xcode 11で導入されるxcframeworkのディレクトリ構造

WWDC19でお目見えしたXcode 11ですが、ライブラリ・フレームワークの配布形態として .xcframework という新しいフォーマットが導入されています。 https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_release_notes/#3318305 XCF…

EpoxyでのモデルのID重複時の挙動

https://github.com/airbnb/epoxy/wiki/Epoxy-Controller#filtering-duplicates デフォルトではEpoxyは何もしなくて、DiffUtilが重複IDのものは無視するが、その時の動作は未定義、という感じの模様 Epoxy側で重複IDを検知して、後に登場したものを弾く(先…

LinuxのSwift 5.1で、NSNumberなどがComparableになってDarwinとソース互換がなくなる事例

というバグレポートを起票しました。 https://bugs.swift.org/browse/SR-10798 原因となったswift-corelibs-foundationのPRがこちらです。 Parity: NSSortDescriptor & _CFSwiftArrayReplaceValues by millenomi · Pull Request #2234 · apple/swift-corelib…

Java Cryptography Extension(JCE)と、AndroidのBouncy Castleと、Spongy Castle

社内のSlackでSpongy Castleという名前を聞いて、知らなかったので少し調べてみました。 AndroidはJavaのJava Cryptography Extension(JCE)の仕組みに則っている AndroidではJCEのプロバイダーとしてBouncy Castleが提供されている Androidに乗っているBou…

CocoaPods 1.7.0からSpecsのソースにCDNを使えるようになります

先日リリースされたCocoaPods 1.7.0.beta.1で、実験的機能としてSpecsのソース(パッケージ定義であるpodspecファイルのセントラルリポジトリ)にCDNを利用できるようになりました。 CocoaPods 1.7.0 Beta! - CocoaPods Blog 今までは、ソースとして https:/…

RawValueがIntのenumを何かのインデックスとして使いたい時はhashValueじゃなくてrawValueを使いましょう

そうそう遭遇はしないと思いつつ、Swift 4.2になるとハッシュシードのランダム化により問題が起き得ます。 RawValueがIntのenumであっても、rawValueがそのままhashValueではなくなる Swift 4.1までは、rawValue == hashValueという挙動だった(実装依存) …

CocoaPodsにtest_specというのがあるのを今更ながら知った

CocoaPods 1.6.0 Betaのブログ記事(2018年8月)を今更ながら読んでいたら、s.test_specという定義ができるのを遅まきながら知った。 CocoaPods 1.6.0 Beta Begins! - CocoaPods Blog 1.3.0で追加された機能だった CocoaPods 1.3.0 — Test specifications an…