53ningen.com

@gomi_ningen's Website

AWS SDK for iOS Samples を試す

GitHub の awslabs/aws-sdk-ios-samples リポジトリには AWS SDK for iOS を利用した以下のサンプルプロジェクトが用意されています

  • CognitoAuth-Sample
  • CognitoYourUserPools-Sample
  • IoT-Sample
  • Lex-Sample
  • Polly-Sample
  • S3TransferUtility-Sample

以下、それぞれを実行し、関連するコードを眺めます

CognitoAuth-Sample(Swift)

UI を実装せずとも SDK が提供するウェブビューベースでのサインアップ・サインインコンポーネントを利用して、手早く iOS アプリにユーザー認証の機能を追加できるサンプルが提供されています

...

Read More

ご注文はRxですか?

この記事は コミックマーケット 89 にて頒布された「ななか Inside Press vol.8」に寄稿した記事です。内容はだいぶ古いですがアーカイブとして、ここに残しておきます。

ゴミ人間(@gomi_ningen)です。2014 年春からラビットハウスで住み込みバイトを始めました。 同僚のリゼちゃんや可愛い妹のチノちゃんと楽しく働いています ♪ 昨年までは JVM と戯れるお仕事をしていたのですが、最近は専ら iOS アプリ開発に携わっています。

さて、今回はネイティブアプリ開発で採用が増えている、Rx 系ライブラリを利用した設計・開発の実践例をご紹介します。 本記事中では RxSwift/RxCocoa 2.0.0-beta4 を用いて説明を行いますが、それぞれ各プラットフォームの対応するライブラリに読み替えていただければ幸いです。

第 1 羽 ココア先輩の優雅な Rx チュートリアル

RxS...

Read More

iOSDC Japan 2017 に CfP を出すときに考えたこと

今年(2018 年)は主に、環境がかわり、忙しみや iOS 以外の内容などをメインにやっていることもあり(というかもともと自分は iOS 専門の人間ではないのでした) CfP を出しませんでした。

なにやら 2018 年も大盛況のようで、500 以上の CfP が出たそうな。応募締め切りも終わり、採択されたセッションも決まったようなので、去年自分が CfP を出すときやスライドや口頭発表の内容を組み立てるときに考えたことを昨年度の知見のひとつとしてメモ書きしておきます。

1022712657080545281

これからスライドや発表内容を練られる方の反面教師もしくはご参考になれば幸いです。

去年出した CfP

これです: RxSwift の Observable とは何か | iOSDC Japan 2017

いまや多くの Swift アプリケーションに採用されている RxSwift。

本セッションでは RxSwift を構成する主要素である Observa...

Read More

[WIP] Xamarin.iOS アプリ開発の全体像

この記事は 「初心者歓迎 Xamarin の LT 会!Xamarin 入門者の集い #4」の発表補足資料です。

私のググる能力が低いだけかもしれませんが Xamarin.Forms での記事や事例報告、スライドに比べて、Xamarin.iOS を使ったという日本語レポートがとても少ない気がするので、特に Swift  や Objective-C で iOS や macOS アプリを書かれている方に向けて、初めての一歩からリリースまでのざっくりとした全体の雰囲気についてお伝えします。

Read More

RxSwift の Observable とは何か

Qiita にあげていた記事ですが、ここにもバックアップをとっておきます

この記事は、2017/09/15〜17 に早稲田大学 理工学部 西早稲田キャンパスで開催される iOSDC Japan 2017 で行われる セッション「RxSwift の Observable とは何か」 の発表原稿、およびその補足資料です。

  • スライドはこちらです ➡︎ https://www.slideshare.net/gomi_ningen/rxswiftobservable-iosdc-japan-2017
  • あわせて読みたい ➡︎ http://qiita.com/gomi_ningen/items/dc08a8a5514be9aa0eb2

なお、本文に先立ち注意事項を掲載しておきます。

注意事項

  • 以下の内容を理解しなくても RxSwift は十分使えるライブラリです...
Read More

DelegatingHandlerを用いた快適なiOSアプリのHTTP通信周辺環境の整備

昨今のネイティブクライアントアプリで、 HTTP 通信を行わないものはないと言っても過言ではないくらい、アプリ開発の基本中の基本だと思います。きっと、開発を行う中で HTTP 通信の前後に色々な処理を挟んでみたいという気持ちが湧いてくるのではないでしょうか。たとえば以下のような話です。

  1. リクエストの内容をログ出力したい
  2. 電波状況が悪いときはリクエストを走らせないようにしたい
  3. 通信中はネットワークアクティビティインジケータを走らせたい

そんなときに System.Net.Http.DelegatingHandler はとても便利な代物です。公式のドキュメントはこちら: https://msdn.microsoft.com/ja-jp/library/system.net.http.delegatinghandler(v=vs.110).aspx

1. HTTP リクエストのログ出力

たとえば、Http リクエストの内容をログ出力したいとすれば、以下のような簡単な DelegatingHandler のサブクラスを作ってあげるとよいでしょう。

``...

Read More

iOSDC Japan 2017にてベストトーク賞をいただきました

2017/09/15〜17 の 3 日間にわたって開催されたカンファレンス iOSDC Japan 2017 に参加してきました。私は 2 日目の 14:20〜14:50 に Track A 会場にて「RxSwift の Observable とは何か」というタイトルでセッションを持たせていただきました。

908922980306108416
Read More

iOSアプリ開発の全体像

超技術書展で頒布したiOSアプリ開発の全体像をだらだら書いた本を記事として公開。 ただのポエムです。

1. iOSアプリ開発を取り巻く環境

iOSアプリ開発には、基本的にmacOSを搭載したコンピューターとXcodeとよばれるソフトウェアが必要です。もともと主にObjective-Cという言語が使われるケースがほとんどでしたが、2014年6月にAppleがプログラミング言語Swiftを発表して以後の新規開発には、ほとんどの場合Swiftが採用されているようです。またSwiftは、Objective-Cのコードと共存できるため、もともとObjective-Cで開発されていたアプリを徐々にSwiftに移行しているという話もよく聞きます。

ただし、広告やSNSなどのSDKや、幅広く使われることが予想されていて安定性が必要なライブラリについては、依然としてAPIが安定しているObjective-Cで開発が行われているケースが多いと感じます。裏を返すとSwiftは言語としてまだ成熟していないということです。Swift2系までではマイナーバージョンアップデートでも、激しい破壊的変更が...

Read More

iOSアプリ開発基礎ハンズオン

この資料はラビットハウス社内で開催される、iOS アプリ開発未経験者向けのハンズオン会向けに作成されたものです。このハンズオンを一通り行うことにより、iOS 開発において以下のことができるようになります。

  • 基本的な UIKit コンポーネントの利用
    • UILabel: テキストの表示
    • UIButton: ボタンの表示
    • UIBarButtonItem: バーボタンの表示
    • UITextField: テキストフィールドの表示
    • UITableView: テーブルの表示
    • UITableViewCell: テーブルセルのカスタマイズ
    • Storyboard と Auto Layout の利用: UI をデザインベースで構成する仕組み
    • プッシュ遷移とモーダル遷移: iOS の大きな 2 つの画面遷移パターンへの理解

お品書き

0. はじめに (0分)
1. 環境構築 (5分)
2. プロジェクトの作成と Hello, world (10分)
3. 2種類の画面遷移(10分)
   --------------休憩---...
Read More

UnicodeScalar とは?

docs: https://developer.apple.com/reference/swift/unicodescalar

The UnicodeScalar type, representing a single Unicode scalar value, is the element type of a string’s unicodeScalars collection.

UnicodeScalar は Unicode スカラ値を表す値

UnicodeScalar から String への変換

let unicodeScalars: [Int] = [0x3054, 0x6CE8, 0x6587, 0x306F, 0x3046, 0x3055, 0x304E, 0x3067, 0x3059, 0x304B, 0xFF1F]
let chars = unicodeScalars
    .flatMap(UnicodeScalar.init)
    .map(Character.init)
String(chars)

...

Read More

Copyright © 53ningen.com