今年は年初のバリに始まって8カ国で海外リモートワークをしました。 バリ(インドネシア)(バリ島で開発合宿 - Toyship.org) ギリシャ(サントリーニ)(サントリーニ島で花粉症退避の開発合宿をしてきました。 - Toyship.org) バンコク フィンランド ス…
今年の3月、サントリーニ島で花粉症退避のための開発合宿をしてきました。 私は花粉症の症状がひどく、3月の中旬には1日にボックスティッシュを一箱使ってしまうくらいの流量になっています。 当然仕事などできるわけもなく、出社してもいつもぼーっとしなが…
今年の3月にサントリーニ島に開発合宿に行ってきた(サントリーニ島で花粉症退避の開発合宿をしてきました。 - Toyship.org)んですが、サントリーニ島は、地質学的にみてもとても興味深い島でした。 サントリーニ島の形 サントリーニ島はこんな形をしていま…
今年の3月に、サントリーニ島で花粉回避開発合宿をしてきました。(サントリーニ島で花粉症退避の開発合宿をしてきました。 - Toyship.org) 今年はヨーロッパに何カ国かいったんですが、サントリーニ島は群をぬいて猫の数が多かったです。 塀の上の猫 数が…
Closureを使っていたら、ちょっと予想外の動作になってしまっていました。 超・基本的なことですが、動作確認したのでメモ。 closureの循環参照と weak self weak self をなぜ使うかというと、循環参照によるメモリーリークを避けるためですよね。 closureを…
これはiOSアドベントカレンダーの2日目の記事です。 毎年アドベントカレンダーでは、カレンダーに関係あることを書くことにしています。 今回は来年5月の改元。 iOS始まって以来の改元ですね。 改元前にバグになりそうなポイントを確認しておきましょう。
iOSDC 2018、去年と同じく、今年もスタッフ兼スピーカーで参加しました。 (記事中の写真は、すべてiOSDC写真チームのみなさんの写真です。毎年素敵な写真をありがとう!) 去年のiOSDCも楽しかったんですが、今年はそれをうわまわる充実感でした。 www.toys…
今朝発表された iOS 12では、ARがいままでになく身近になりました。 実は、わざわざアプリを作らなくてもARを実現できるようになっています。 iOS12でなにができるようになったかみてみましょう。
フリーランスエンジニアをはじめて1年半たちました。 お仕事を紹介してくださる方々のおかげに加えて、ますます逼迫してきているモバイルエンジニア不足もあり、そのあいだお仕事が途切れることはありませんでした。 ただ、1週間単位の休暇がとれないと、…
先日、iOS 11.3のベータがリリースされました。 ARKitがアップデートされて、ARKit1.5となり、画像認識や垂直面の認識などができるようになりました。 (この記事は、公開されている情報に基づいて書いています。) ARKit 1.5 ARKit1.5でのアップデート内容…
このブログは、今までさくらレンタルサーバーのWordpressをで配信していたんですが、はてなブログにひっこしました。 なぜひっこしたのか Wordpressでは、デフォルトではマークダウンを使った編集ができません。 プラグインをいれると、マークダウン編集を含…
Xcode9ではマークダウンファイルはデフォルトではレンダリングされません。レンダリングするためにはどうしたらよいでしょうか。 マークダウンファイルのレンダリング Xcodeのマークダウンファイルでソースコードへのリンクができるときいてやってみようとし…
冬休みなので、買っておいた Google AIYをいじってみました。 まずはLチカから! 必要なもの まず、必要なものを準備しましょう。 Google AIY Voice Kit Raspberry Pi 3 Model B microSDカード あと、組み立てる時にこちらも必要になります。 USBキーボード …
これはARKit Advent Calendarの17日目の記事です。(遅れてすみません) ARKitでは、空間にある平面などを判定できます。 同時に、自分が動いた時に自分の位置もわかるので、その位置をとってみましょう。 ARKit まずは、XcodeでARKitのサンプルアプリを作り…
これはiOSDC Advent Calendarの12日目の記事です。 今年のiOSDCで配ったチートシートのお話です。 iOSDC チートシート 今年の9月に開催されたiOSDCでは、スポンサー(企業スポンサー、個人スポンサー)のみなさまに何点かノベルティーグッズを配ったんです…
これはSwift Advent Calendar 2017の10日目の記事です。 assertはSwiftでコードを書く時の基本的なデバッグ機能です。 いろいろな会社のiOSプロジェクトを拝見していますが、assertを有効につかっているプロジェクトは意外と少ない印象なんですよね。 書く癖…
これはTKG Advent Calendar 2017の5日目の記事です。 卵かけごはん、美味しいですよね。 今朝は、タカラトミーさんからでている「究極のTKG」を使ってTKGを食べました。 卵のからをわって、黄身と白身をわけて、白身をあわだててくれる、究極のTKGを作ってく…
これはiOSアドベントカレンダーの2日目の記事です。 毎年アドベントカレンダーでは、カレンダーに関係あることを書くことにしています。 今回はiOS11で仕様変更があったロケールについて。 ロケールとは iPhoneの設定に、「言語と地域」という項目がありま…
去年に引き続き、今年も iOSDC 2017 にスタッフ/スピーカーとして参加しました! チートシート 今回はスポンサーノベルティにこんなしたじきがはいっています。 今までに発売されたApple製のデバイスで、アプリインストール可能のものをすべて網羅したデバイ…
第二回の try! Swiftで Why We Climb というタイトルでLTをしてきました。 LT応募 try! Swiftは、去年は参加者からのcfp(call for paper)の募集がなかったんですが、今年はLTの募集がありました。 これは是非参加したい!と思ったので、当選確率があがるよう…
この記事はSwift Advent Calendar 2016の24日目の記事です。 Swift4で導入されるConditional conformances(条件付き適合)について調べてみました。 Conditional conformances(条件付き適合)とは Swift Evolutionでは、今後のSwift向けのいろいろな機能が…
これはiOS Advent Calendar 2016の12/2の記事です。 アドベントカレンダーはDate/Calendarネタを描こうと思っているので、今年はいろいろな現場で必ず目にする日付フォーマットのバグについて。 ある程度iOSをやっている方には当たり前の話なんですが、なぜ…
土曜日に、練馬ココネリホールで開催された国内初の iOS Developerの祭典、iOS Developers Conferenceにスタッフとして参加しました。 (こちらはスタッフの@motokieeさんが作ったオープニングビデオ。カッコイイ……。) スタッフ業務 私の担当は、受付や入り…
これはVOYAGE GROUP Advent Calendar 2015の13日目の記事です。 今日はiPhoneを使った音声認識の話です。 スターウォーズ! 今月の18日、いよいよスターウォーズの最新作、「フォースの覚醒」が公開されますね。 前作から10年、懐かしいキャラにも会えるし、…
SwiftでOptional値をunwrapするときに一番使う if let 構文。 そのときの変数名の扱いについてみなさんはどうしているでしょうか。 if let Swiftで導入されたOptional、このOptional変数をOptionalではない変数にする unwrap 処理として一般的なのが if let …
Swift 2.0では、Optionの型が変わりました。 あたらしく導入された OptionSetType についてちょっと見てみました。 OptionSetTypeとは 最近、Swift1.2の既存プロジェクトのSwift2.0対応を少しずつ始めたんですが、UIUserNotificationType の option 設定でコ…
WWDCで新しいiOS9の機能がいろいろと発表されましたが、Safariでの表示項目を制限することが 「コンテンツブロッカー」機能については、Web業界の方はちょっと気になるのではないでしょうか。 さっそく調べてみました。 (なお、この記事はAppleが一般に公開…
今年は久しぶりにWWDCに当選しました。 前回参加したのが2010年だったので、5年ぶりでした。 今年のWWDC 久しぶりの参加になったんですが、5年前より会場の快適さがかなりアップしていました。 いたるところに座りごこちのいいソファや、電源と有線LANが完…
SwiftでUIWebViewにuseragentを設定する場合の処理です。 (Objective-Cと同じですが……。) 独自のUserAgentを設定する アプリ独自のUserAgentを設定する場合にはこちら。 let originalUserAgent = "Toyship Original Application" let agentDict = ["UserAg…
Swift で作ったコードはclangでコンパイルして実行ファイルにすることができます。 コマンドラインツールなどを作成したりするのにいいかもしれません。 Swiftのコンパイル Swiftのコンパイルコマンドは swiftc です。 デフォルトの swiftc は /user/bin に…