ペンギン村 Tech Blog

技術をこよなく愛するエンジニア集団が在住するペンギン村から、世界へ役立つ(かもしれない)技術情報を発信する技術系ブログです。某アラレちゃんが済む村とは一切関係ありません。んちゃ!

iOS

【SwiftPrettyPrint】クイックスタート・ガイド

SwiftPrettyPrint のクイックスタート・ガイド+応用テクニックを紹介する記事です。 それは何? Swift 標準の print や dump よりもきれいに出力するデバッグ支援ライブラリです。 github.com 以下に比較を載せます。 標準: print 標準: dump SwiftPrettyPr…

セッション画像で振り返る、去年の WWDC 21。

どうも、トビ(@tobi462)です。 今年もついに WWDC の季節がやってきてしまいましたね! そんなわけで去年の WWDC 21 を振り返ってみましょう!(え? Effective WWDC はじめに 全体的に Xcode Cloud Swift Concurrency Meet async/await in Swift Use asyn…

SwiftPrettyPrint 1.2.0 をリリースしました。

SwiftPrettyPrint の 1.2.0 をリリースしました。 github.com 今回のリリースには、ターミナル統合(ANSIカラー)とマイナーな Bugfix が含まれています。 そもそも SwiftPrettyPrint って何ぞや、という方は前回の記事をご参考いただければ幸いです。 blog.…

SwiftPrettyPrint 1.1.0 をリリースしました。

先週、 SwiftPrettyPrint の 1.1.0 をリリースしました。このリリースには以下の2つのインテグレーションが含まれています。 LLDB Combine 本記事では、その2つの機能について解説したいと思います。 そもそも SwiftPrettyPrint って? LLDB 統合 Combine 統…

Bitrise の bundler 2.x アップデート問題について私がどう考えて調査・対応したか。あるいは手軽さの影で。

iOS

どうも、休職中の @tobi462 です。 毎日仕事もせずに何をやっているかと言えば・・・そうですね、個人的推論に則った改善活動といったところでしょうか。 Bitrise の Xcode 11.3.x ビルドスタックの bundler が 1.x → 2.x に更新された 先週くらいに iOS 界…

Sign in with Apple with Firebase AuthenticationとDelegateをRx化する話

はじめに お疲れ様です。かむいです。 この記事はiOS Advent Calendar 2019の17日目の投稿となります。 前回は@codelynxさんの名前付き UIView と後付けストアドプロパティもどきでした。 先月Firebase AuthenticationでSign in with Appleが利用できるとの…

『iOSテスト全書』の報酬の30%を分配した話。あるいは制作を支えた人々について。

iOS

どうも、最近は Dirty Androids の『Saturdays』ってアルバムがお気に入りの tobi462 です。 www.da-recording.com 広義には『HOUSE』あるいは『EDM』といった音楽ジャンルに当たるんでしょうか。個人的には『FUTURE BASS(フィーチャーベース)』っぽく感じ…

『iOSテスト全書』を共著した話。あるいは『教科書本』との違い。

iOS

どうも、最近はRabi-Libiという弾幕アクションゲームをやっているtobi462です。 というわけで、PEAKSから『iOSテスト全書』の電子版が正式リリースされました。 peaks.cc おそらく製本版も今月中には発送されるかと思います。 (ところで一般販売はされるの…

iOSDC2019に参加してきました!

かむいです。東京に台風15号が接近中です。雨風の音が凄い。。 iOSDC 2019に、今年も村から僕と@tobi462氏で参加してきました。 この光景を見るとiOSDCに来たなぁってなります iOS13から登場するダークモード仕様になってました 今年もCfPを幾つか投下したの…

今年の iOSDC に対応した「このすばCfP2」をリリースしました。

iOS

どうも、WWDC19に行ったついでにサンフランシスコで食べたカニの味が忘れられない @tobi462 です。 さて、そんなわけで今年も iOSDC の CfP を快適に検索できるサービス「このすばCfP」をリリースしました! iosdc19-cfps.penginmura.tech アニメでいうなら2…

Bonfire iOS #5 に参加してきました

iOS

どうも、 try! Swift 2019 TOKYO で登壇したのにいまだにブログを書いてない @tobi462 です。 今回はすごく久しぶりに勉強会に参加してきたのでそのレポートです。 yj-meetup.connpass.com Bonfire iOS は今回で5回目の開催で、今回は テスト がテーマという…

Bitrise からダウンロードしたビルドログをきれいに見る方法

Tl;Dr たぶんこれが一番早いと思います。 $ less ~/Downloads/xxxx.log 補足 Bitrise のビルドログは Web 上では色分けしてきれいに表示されますが、 Bitrise でのログ表示 ダウンロードしたものをテキストエディタで開くと、以下のようにエスケープシーケン…

【iOS】RxSwift + Realmでバックグラウンドでの書き込み完了イベントを受け取る

前書き 久々にペンギン村で記事を書きました(10ヶ月ぶり3記事目)、ナガクラ(@nagakuta)です。 今回はリハビリも兼ねて、RxSwiftとRealmを組み合わせた小技を紹介します! TL;DR 今すぐこれをコピペして Realm+Rx.swiftファイルを作成するんだ!! import R…

Merpay Tech Talk #2 に参加してきました

はじめに お疲れ様です。最近寒くてオフトゥンから出られないかむいです。 勉強会に足を運べていない日が続いていたのですが、今回はメルペイさんが主催する『Merpay Tech Talk #2』にお邪魔して来たので、レポートをまとめたいと思います! mercari.connpas…

Swift 4.2 の変更点を iOSDC 2018 で話してきました

どうも、最近は「進撃の巨人 3期」が楽しみな tobi462 です。 しかし、最近一部の人達から「シュタインズ・ゲート ゼロ」を強烈に推されプレッシャーを感じる今日このごろです。いや原作こそ未プレイですがアニメ初期は見てますし、全話配信されたら見ようと…

iOSDC2018に参加してきました!

iOS

ども、かむいです。 僕は今回iOSDC初参加でした。以前から行きたかったのですが、お仕事が…参加費が…CfPが…ごにょごにょ そんなこんなでCfPは見事に不当選だったものの、ついにスポンサーチケットという素晴らしいアイテムを駆使して参加することが出来まし…

ペンギン村 Tech から 2名 が iOSDC 2018 に登壇します

どうもご無沙汰しています tobi462 です。iOSDC Japan 2018 の開催がついに明日にせまりましたね。 以前の記事で軽くふれましたが、ペンギン村 Tech からは私と k_miyasaka の2名が登壇します。 blog.penginmura.tech せっかくなのでトークに対する一言コメ…

iOSDC 2018 のプロポーザル一覧を閲覧できるサービスを公開しました。

この度、ペンギン村 Tech のエンジニア3名で iOSDC 2018 の プロポーザル(CfP)一覧を閲覧・検索できるサービスを公開しました! iosdc-cfps.penginmura.tech Web UI は SPA で開発し、画面遷移なしで快適に見られるようにしてみました。 1stリリースでは一…

Xcode 10 betaにおけるSource ControlとAsset Catalogの新機能のお話

はじめに ども、かむいです 気がついたら2018年も7月に突入してますね(´・ω・`) 投稿がご無沙汰だったので、先月弊社で登壇したイベントがあったので、その話について書きたいと思います WWDC18報告会 in 弊社 dmmcj.connpass.com 当日はまさかの申込数約20…

Xcode 9 の New Build System を試す

この素晴らしきビルドシステムに祝福を。 どうも tobi462(過去記事)です。 さて、Xcode 9 から新しいビルドシステムが導入されたのは記憶に新しいですが、9.3 の時点でも Preview となっており標準のビルドシステムにはなっていません。 すでに他記事でも…

Swift 4.2 で追加される removeAll(:where) メモ(SE-0197)

どうも、運動したあとはお酒が飲みたくなってしまう tobi462 です。 ちょっと時間が空きましたが、今回はremoveAll(:where)という新たに追加されたコレクション系のAPIの Proposal を見ていきたいと思います。 今までの Swift 4.2 の記事は以下です。 Swift …

Swift 4.2 で追加されるコンパイラディレクティブ(SE-0196)

何でもは知らない、知ってることだけ。 どうも、最近書き出しの挨拶を考えるのに時間を要する tobi462 です。 今日は SE-0196 で追加されたコンパイラディレクティブの紹介です。 今まで書いた Swift 4.2 の記事は以下です。 Swift 4.2 で追加される @dynami…

Swift 4.2 で追加される @dynamicMemberLookup メモ(SE-0195)

全地球100億人のSwifterな皆さん、コンバトラーっ! tobi462 でーっす! え、いつもとノリが違う?まぁ、そういう日もあるんじゃないでしょうか。 そんなわけで、前回・前々回と続き Swift 4.2 の記事です。 今回は、Swift 作者であるラトナーさんの Proposa…

【iOS】Hyperion-iOSもあるんだよ!

かむいです。今月転職しました。 転職活動も忙しかったりして1ヶ月ぶりの投稿となります。 時間過ぎるのホント早い! Hyperion-Androidが話題に 先週 Android界隈で話題になったコレ。 こりゃすげぇ!てなりましたよね。 qiita.com てっきりAndroidだけかと…

Swift 4.2 では boolean の反転(toggle)ができるようになる(SE-0196)

どうも。ルパン三世 Part 5 の続きが楽しみな tobi462 です。 さて前回のenumの新機能に続き、また Swift 4.2 の話題です。 といっても、今回は驚くほど短いです(汗) Tl;Dr toggle() 実装 おわり Tl;Dr // before messageLabel.isHidden = !messageLabel.i…

【iOS】APIKitを使ったXML取得

まえがき 結果 つまづいたポイント "https"から始まるURLじゃないと通信できない。 独自のXMLパーサーを実装する必要がある。 文字エンコーディングに気をつけよう まえがき 初めまして。ペンギン村の通行人po_miyasakaです。 APIKitを使用してGoogle Sugges…

【iOS】【Swift】太り過ぎなUIViewController.viewDidLoadをスリムにして可読性を爆上げする

前書き 本命/義理チョコを今か今かと待ちわびています、ナガクラ(@nagakuta)です!一ヶ月ぶりの投稿になります! 今回は上級者が開発時に使うといわれる、ちょこっと役立つTipsを紹介します!(バレンタインだけに) TL;DR viewDidLoadをスリムにするには XI…

【iOS】ちょっと待って!その画面UITableViewで作る必要ないかも

はじめに ダーリンことカムイです(嘘松) 今日は個人的によく使うクラスの1つであるUITableViewについて書きます。 一覧 != UITableView 皆さんはUITableViewを普段どんな時に使っているでしょうか。 「一覧を表示する時に使うアレでしょ?」というお方、こち…

ターミナルからXcodeを1コマンドで開くCLIツールを作ってみた

どうも、攻殻機動隊シリーズでは S.A.C が一番好きな tobi462 です。 今回は Swift Package Manager で、ターミナルからXcodeを開くCLIツール xcode-open を作ってみたので、その紹介です。 モチベーション 使い方 インストール 使い方 オススメのエイリアス…

NavigationBarを含んだ画面でViewで全体を覆う方法

qiita.com 通信中に画面を操作させたくない理由から、マスキングを画面にすることがよくあると思います。 ただNavigationBarを含む場合、単純にself.viewにaddSubviewするだけではNavigationBarまで覆ってくれません。 その対処法としてappDelegate.windowに…