Swift
Fun with String Interpolation
Swift lets you customize how your own types can be initialized from a string literal containing interpolation segments…oleb.net
String Interpolation(文字列補間)をExpressibleByStringInterpolation(Swift 3で非推奨になって今後違うものに変わる予定)を使ってコントロールするやり方が紹介されています。
Faster Mix-and-Match Builds with Precompiled Bridging Headers
An examination of build times of Xcode projects that mix Objective-C and Swift, which can contain large bridging…swift.org
SwiftとObjective-Cの混在プロジェクトにおいて、Swift 3.1でBriding Headerの冗長なコンパイルを削減することによってビルド時間が30%減るようです(構成によって変わりそうですが)。Xcode 8.3 betaでOther Swift Flagsに -enable-bridging-pch フラグを設定することで有効化でき、将来その指定無しにデフォルトで有効化されるかもしれない、とのことです。
Working with Asynchronous Objective-C APIs in Swift
Many asynchronous Objective-C APIs pass you two optional values in their completion handler, which makes working with…oleb.net
Objective-Cの非同期APIでは結果がオプショナルの値とエラーの2値で来たりしますが、それを Result を用いて改善するやり方の紹介です(2*2 = 4通りではなくResultで成功・失敗の2通りに制限)。
そのまま扱いがちです(ともにnil・ともに非nilのパスにassert入れたりしつつ)が、ちょっとした手間でけっこうスッキリするので良いと思いました。
Improving Optionals
Optionals are great. I've tracked down too many bugs to Objective-C's magical "messages to nil return nil"; I have no…www.russbishop.net
Protocolなど活用してOptionalを便利にしたExtensionが色々紹介されています。Swift 3.1以降Genericsが改善されていくうちに、もう少しシンプルに書けそうなところもありそうに見えました。
#292: Metaprogramming with Sourcery
We cover plenty of libraries and developer tools here on LBOC. Many are useful not just on their surface, but also in…littlebitesofcocoa.com
以前紹介したSourceryというコード生成ツールを活用したメタプロミングを列挙型の count のextension定義自動生成を例に説明されています。
列挙型の count の定義は悩ましいところなので、こういう方法もありですね。
Swift Evolution
Swift ABI Stability Manifesto
ABIの安定化をSwift 4で最優先の達成事項として取り組むことが、「Swift 3の開発の振り返りとSwift4の計画が記された、メーリングリストの投稿(英語)」で発表されていましたが、そのマニフェストが公開されました(すごく長いです)。
ABI安定・Swift 4の話題は以前、Swiftは3.0で安定するのか? リリース予定日と新機能リスト — Build Insider に書きましたが、当時の予定と特に変化無さそうで、より詳細まで詰められてきたという感じですかね。
Build Insiderオピニオン:小野将之(2)。2016年後半のリリースが予定されているSwift 3。そのリリースに先駆けて、どんな変更点があるのか、懸案となっている互換性はどうなるのかなどを見ていく。www.buildinsider.net
SwiftPMの SE-0149・SE-0150 がIn Reviewに
- SE-0149: Package Manager Support for Top of Tree development:
swift package editで--path指定することで、現状のセマンティックバージョン以外の開発版などでの依存解決を可能に - SE-0150: Package Manager Support for branches: 同じく、現状のセマンティックバージョン指定以外の所望のコミット(ブランチ最新・ハッシュ値など)の指定を、 マニフェストファイルおよび
swift pinで可能に
SE-0148: Generic Subscripts がAcceptedに
先々週In Reviewになったジェネリクスのsubscript対応ProposalがAcceptedになりました🎉
[swift-evolution-announce] Swift 4 Package Manager Roadmap
Hello Swift Package Manager community, The package manager's release in Swift 3 was a big success, with many…lists.swift.org
Swift 4のPackage Managerのロードマップが発表されました。Swift 3.1にもSwiftPMの新機能は7つも入りますが、現時点の計画で4では10個・5以降で5つ予定されているようです。Swift本体は落ちついて来た一方、これから変化の大きい分野ですね。
jpmarthaさんによる整理記事です: Swift 4 Package Manager Roadmap
Swift Evolution のメーリングリスト swift-evolution-announce にて、Apple の Rick Ballard 氏が「Swift 4 Package Manager Roadmap」を発表しまし…medium.com
サーバーサイドSwift
Tokyo Server Side Swift Meetup #6 — connpass
イベント概要 このmeetupは、Server Side Swiftに関することを発表、ディスカッションする場となります。 Vapor, Zewoなどのフレームワークを使 ってみた、Swiftサーバーを自分のサービスに導入してみたなどの…tokyo-ss-swift.connpass.com
サーバーサイドSwiftのミートアップの6回目が開催されました。
発表資料:
- Swiftで作るepoll/kqueue+pre threadサーバー
- SwiftでgRPC/Protocol Buffersを使う
- Server Side Swiftを使った サービス開発とその運用を考える
iOS
Technical Q&A QA1795: Reducing the size of my App
以前からある公式ドキュメントですが、アップデートされていました(前回は2015–09–29なので1年4ヶ月ぶり)。Swiftはサイズ増えがち(あまり重いもの入れてないつもりでもすぐ50MB程度になってしまったり)なので、このドキュメント頼りに少しでも削減努力しても良いかなと思いました。個人的にはTinyPNGなどを用いた画像サイズ軽減はコスパ高いので特に大きめの画像ファイル含める時はよくやっています(画像リソースの大半はPDFにしちゃっていますが)。
Make your website faster and save bandwidth. TinyPNG optimizes your PNG images by 50-80% while preserving full…tinypng.com
Apple関係のリリース
先週は盛りだくさんでした。各種OSがマイナーアップデートされましたが、共通してカーネル脆弱性の修正が含まれているようです。
- iOS 10.2.1 (14D27)
- macOS Sierra 10.12.3 (16D32)
- watchOS 3.1.3 (14S960)
- tvOS 10.1.1 (14U712a)
- iTunes 12.5.5
Xcode 8.3 beta
Swift 3.1同梱とSwift 2.3サポート打ち切りが大きな変化ですかね。
また、XCTestにも改善があるようで、Waiting in XCTest に紹介されています。
Waiting is hard, and waiting in Xcode is no exception. Even choosing from the myriad of options Xcode and XCTest…masilotti.com
iOS 10.3 beta
アプリ内レビュー・返信
SKStoreReviewControllerで、App Store経由ではなくそのアプリ内でレビューをお願い出来るようになります。また、正式版リリースのタイミングで、レビューに対して返信出来るようになります。返信は、同時期にMac App Storeでも可能になるようです(多分詳細は明らかになってないですがGoogle Play Storeみたいな感じですかね?)。
What Does iOS 10.3 Mean for Growth Marketers?という分析記事もあがっています。
This week, Apple launched the beta for the upcoming iOS 10.3 release. The update puts an emphasis on user feedback, a…blog.prolificinteractive.com
アプリアイコンの変更
setAlternateIconName(_:completionHandler:) という、アプリアイコンを変更出来るAPIが追加されます。ただ、あらかじめアプリに格納してInfo.plistに書いておいたアイコンしか指定できないので、「リリース後にアプリアイコンを柔軟に変更可能となる」わけではないです。例えば、Apple標準カレンダーのような曜日と日付の組み合わせアイコンは、大量に画像生成(31*7 = 217)して入れておけば出来なくもないですが、想定している用途とは違うかなと思いました(天気予報をアイコンで表現とかならバリエーション数的に許容範囲な気も)。
実装はドキュメント頼りにやろうとするとやや難しい(Info.plistを色々弄る必要があって今後改善されそう)ですが、 AlternateIconTest で簡単に試せます。
ファイルシステムがHFS+からAPFS(Apple File System)に変更
Appleは「iOS 10.3 Beta」でiOSデバイスのファイルシステムを「HFS+」から新しい「APFS」へ自動的にアップグレードするそうです。詳細は以下から。 Ars TechnicaやAppleの Developerサイト …applech2.com
ファイルシステムが変わるベータ版ということで少し怖かったですが、つい私物端末をアップデートしてしまいました。パフォーマンス向上しているようですが、体感では分からない程度ですね。今のところは不具合も感じてないです。
AirPodsを探す機能
アップルが「iPhoneを探す」アプリにAirPodsを探す機能を追加します。この機能はiOS 10.3ベータ版にみつかったもので、アップル純正の完全無線イヤホンをもし本当に落としてしまったとしても、その在り処を追跡することができます。…japanese.engadget.com
「iPhoneを探す」アプリに、AirPodsも一覧されるようになったようですが、僕には反映されず謎です🤔
ちなみに使ってて感じるのは、耳から落として無くすというより、ふとケースに入れずにどこかに置いたりポケット・カバンなどに入れてどこに行ったか行方不明になることがありそうに思いました(ケース + イヤフォン2つと分かれていて、それぞれ小さいので)。
macOS 10.12.4 beta
Night Shiftモード搭載・Sierraになってから色々不具合のあったPDFKitの修正あたりがメインのようです。
watchOS 3.2
SiriKit対応・シアターモード搭載あたりがメインのようです。
その他
- Safari 10.1 beta(iOS10.3・macOS 10.12.4に搭載)
- 「Appleサポート」iOSアプリリリース
- AppleのWebサイト上のフォントがSan Franciscoに変更
その他
fastlane is joining Google — Felix Krause
It's only been a bit over year that fastlane joined Fabric at Twitter, which enabled me and the team to build even more…krausefx.com
そういえばfastlaneはFabricに取り込まれていましたが、先日FabricがGoogleに買収されたので、fastlaneもGoogle傘下になったようです。iOSアプリ開発では定番ツールですが、現状ベータ対応のAndroid対応も力入れてきて、より一層モバイルアプリ開発の定番ツールになっていきそうな気がします👀
フリーランス市場から読み取れるApple開発者のSwiftへの移行
Appleのプログラミング言語 Swiftが提供され始めてからしばらく経っているが、iOSとmacOSの開発者はまだ Objective-Cを利用してアプリケーションを開発することができる。だが、このたび発表された Upworkからの新…jp.techcrunch.com
Swift需要が高まっているという内容です。原文はこちらです。
第5回 null安全:プログラマに優しい現実指向JVM言語 Kotlin入門|
前回 はKotlinにおけるクラスとその周辺の機能,文法を紹介しました。今回はKotlinのユニークな機能であるnull安全について解説します。 java.lang.NullPointerExceptionは,Javaプログラマがよく出…gihyo.jp
流行りのnull安全ネタのKotlin版です( ´・‿・`)
スマートフォンをかざして翻訳 — Word Lens 日本語版登場
本日よりスマートフォンをかざすだけで翻訳できる Word Lens 機能が日本語に対応しました。お使いいただくには、 Android 版および iOS 版 のGoogle 翻訳アプリをダウロードしてください。英語圏に旅行中に、レストラン…japan.googleblog.com
Google翻訳アプリが、Word Lensというリアルタイム翻訳機能の日本語対応しました。盛り上げってましたね。
Google I/O 2017 開催スケジュール公表(5/17–19)
バックナンバーはこちらから一覧出来ます。
↓アカウントやSwift・iOSコラムPublicationフォローしていただけるとありがたいです🙇 PublicationフォローしていただけるとこのSwiftレターのメール通知も届くようになります( ´・‿・`)