ドットインストール代表のライフハックブログ
![IDEA * IDEA](https://cdn-ak-scissors.b.st-hatena.com/image/square/958db96434e58db87e3c9816e229e5d3979bd860/height=288;version=1;width=512/http%3A%2F%2Fwww.ideaxidea.com%2Fwp-content%2Fuploads%2F2015%2F01%2FDeveloping-iOS-8-Apps-with-Swift-Download-Free-Content-from-Stanford-on-iTunes.png)
連載目次 前回の記事「iOS 8のPhotoKitの概要&Xcode 6.1/Storyboard/Auto Layout/iOSシミュレーターの基本的な使い方」では、iOS 8の新機能である「PhotoKit」、これから開発する「PhotoMap」アプリの概要について説明し、MapViewを表示するところまで解説しました。 今回はSwiftについて解説しつつ、前回記事で追加したMapView上にピンを追加します。 SwiftでもXcodeでアウトレット接続 まずは、前回の記事で追加したMapViewにピンを立ててみましょう。 ViewControllerクラスのソースコード上からMapViewを扱えるように、Storyboardファイルから「アウトレット」を接続します。これまでのXcodeでは、アウトレット接続はObjective-Cでしたが、Swiftも対応されています。 [ナビゲータ
AppDelegateはアプリ全体のライフタイムイベントを管理するためのクラスですが、その性質上、様々な処理が書かれやすいです。 しかし、あらゆる処理が書かれ肥大化していくと、見通しが悪くなってメンテナンスがしづらくなったり、チームで開発してる場合はコンフリクトが起こるなど開発速度に支障をきたすようになってしまう場合があります。 そこで、この記事では、そんな膨れがちなAppDelegateを綺麗な状態に戻すための方法をいくつか紹介します。 1. AppDelegateの責務外の処理は他クラスに移す AppDelegateの主な責務はライフタイムイベントの管理です。具体的には「起動」「停止」「バックグラウンド状態の切り替わり」などなどUIApplicationDelegateで定義されているような処理です。 にもかかわらず、例えば全Controllerから触れる値を定義したいなどの理由で、責
kishikawakatsumi/KeychainAccess · GitHub そろそろSwiftをちゃんと勉強しようと思って作りました。 Swiftで書かれたKeychainのラッパーの中ではもっとも高機能でかつ簡単に使えるものができたと思います。 機能としては下記を備えています 簡単に使えるインタフェース アプリ間のキーチェーン共有 アクセシビリティ(バックグラウンド動作時の制限など)属性のサポート iCloudによるキーチェーンの同期 Touch IDによるキーチェーンの保護(iOS 8〜) iOSとOS Xの両方の動作をサポート インストール Carthage github "kishikawakatsumi/KeychainAccess" CocoaPods pod 'KeychainAccess' CocoaPodsを使う場合、CocoaPodsのバージョンはbeta版の0.
結論 小手先で楽をするためのボトムアップな設計は後々苦労する 継承を使った差分プログラミングは長年運用していくと大変だ 人は楽な方に流れるので、Baseクラスで解決すべきでない問題をBaseクラスで解決して後で困る はじめに この文章は2015年1月のpotatotips13で発表するネタ用のメモに書いてました。 実際に発表した内容を含む様子は下記のページにまとめています。 http://curiosity.co.jp/potatotips13/ 会場で質問されたりツイートの様子を見てて気づいたのですが、BaseViewControllerを使いたくないという"この文章"と同意の意見は、比較的経験のあるおじさんたちの意見であって、若い人からするとなぜBaseViewControllerを使ってはいけないように言われるのかについて具体例を聞きたがる傾向が強いです。 また、不必要に自分が気に入
前回の【3ヶ月編】プログラミング完全初心者が最初にやったことまとめ【その1】に続き6ヶ月編です。 今回もまた3ヶ月で何をして、何が出来るようになったのかをまとめていきます。 今回の3ヶ月は中だるみでまだほとんどの時間をwebフロントまわりに当ててしまってます。 プログラミングの習得のみを参考にされたい方は【9ヶ月編】プログラミング完全初心者が最初にやったことまとめ【その1】を先にご一読頂くことをオススメします。 この3ヶ月は反省点ばっかりの時期です。 中だるみにがっつりはまり、モチベーションもがっつり低下してました。 そんな今回の要点はこちら。 やっぱりやりたいことを常に持たないと中だるみする。 一度覚えた知識を更に深めようとするのもいいが、新しい知識に対して定期的に手を出し続けるのが吉。 この辺り「喰いしん坊!」の「大食いはすこしずつでも食い続けろ」に通ずるところがある。。 とは
http://www.objc.io/issue-19/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 objc.ioはベルリンのメンバを中心に、月替りでiOS関連技術の特定のテーマに絞って発信しているブログ。もう既に知名度はかなり高いかと思いますが、毎月ものすごく力の入った特集ゆえに、その分ボリュームも相当で、読むのも大変というか、時間がないから読めてない人もいるかと。今月は#19としてデバッグの話題です。 Peter Steinbergerの「デバッグ : ケーススタディ」では、UIKit上のバグをLLDBで対処した話を紹介。 「デバッガーでのダンス - LLDBのワルツ」において、Ari GrantはLLDBの使い方を詳説してくれています。 「DTrace」はiOSシミュレータでしかまだ利用で
第2回公開中! Swiftで計算してみよう – くらめそちゃんのSwiftパーティー(2) はじめに 私はクラスメソッドという会社の非公式キャラクター くらめそちゃん です。 世の中にはiPhoneアプリがたくさんありますね。私もアプリ大好き!でもどうやって作るんだろう?って思っている人は多いと思います。 アプリを作れたら素敵だと思いませんか? ストアでみんなからダウンロードしてもらったら、楽しいと思いませんか? この Swift パーティーシリーズでは、Swift(スウィフト)というプログラミングの言葉を使って、iPhoneアプリを作ってみんなに公開するところまで、扱っていきたいと思っています。 まずは Swift の基本から入ります。しばらくしたら、小さなアプリを作る方法を覚えていきます。何回かに1回は、少しだけ大きなアプリを作ることになるでしょう。それを何回も繰り返していくうちに、あ
この記事はSwift Advent Calendar 12月23日の記事です。 アドベントカレンダーは後半ほどネタが出尽くすので不利ですね。 自分はこの2ヶ月半ほどプライベートの時間を使ってSwiftで新しくアプリを作っていたので、それについて考えていたこと、感じたことをつらつらと書き下してみたいと思います。 [2014/12/28 追記] 今朝、アプリがリリースされました!! Rebuilt きっかけ 2014/6/3にWWDCでSwiftが発表され非常に気になっていました。 しかし、当時の自分は業務でアプリ開発から離れており、他に優先順位の高い事柄があったので積極的に勉強することを避けていました。 Xcodeベータは安定していない、Swiftの仕様もコロコロ変わる中、学習効率を重視するのであれば安定版がリリースされてから勉強したほうが良いとも思いました。 新しい技術が出てくるタイミング
この記事はSwift-2 Advent Calendar 2014の23日目。Swift本を紹介しようと思ったら他にも色々書いてしまった。 Swiftで関数型プログラミング 原題Functional Programming in Swift。ベストプラクティスを追い求めてるobjc.ioの人たちが書いた本。ebooks版(PDF, ePub)が安く、なんとダウンロードしたサンプルコードがPlaygroundsで実行できる。 きっかけはQuickというOSSの開発者から薦めてもらった @yimajo enumとswitchはSwiftの割といいところだと思う!でも自分もFunctional Programming for Swiftを読むまでは知らなかった and 理解できていなかった — Brian Gesiak(もどかしい) (@modocache) 2014, 11月 18 サンプル版
こんにちは。アプリケーションエンジニアのid:sakaharaです。 この記事ははてなエンジニアアドベントカレンダー2014の20日目です。 昨日はid:wtatsuru によるはてなにおけるサーバリソース可視化とMackerelでした。 今日ははてなのiOS開発で利用しているオープンソースのライブラリやサービスも含め、開発をよりスマートにしてくれる様々なものを紹介したいと思います。 パッケージ管理 CocoaPods (MIT License) まずライブラリ管理をするための管理ツールとして欠かせません。 最近ではSwiftに対応したCarthageも登場していますが、CocoaPodsのSwift対応版の開発も進んでおり そのまま使い続けるのもよいと思います。 ライブラリ AFNetworking (MIT License) 改めて紹介する必要はないほどの定番のHTTPネットワーク通信
iOSやAndroidで利用できるモバイル向けデータベース「Realm」を開発しているRealm Incより、2014年中に作られた12個のSwiftプロジェクトをピックアップするスペシャル企画「The 12 Apps of Swiftmas」が公開されています。 同企画で紹介されたSwiftで作られたプロジェクト/アプリは以下の通り。 Bluecap: Bluetooth LEフレームワーク。 Burst2GIF: 最近のiPhoneで使えるバーストモードで撮影した写真からGIFアニメを作成することができるアプリ。 GroceryList: 雑貨類のリストを家族間で共有することができるアプリ。 Realm: オープンソースのモバイルデータベース。Core Data & SQLiteの代わりに。 Heartbeat: 心拍数をモニタリングするApple Watchのデモアプリ。 jazzy
本格的なテストを行うまえに 情報収集したものを備忘録として残しておきます。 外部サービス appium 名前から分かるとおりseleniumのようなテスト自動をアプリで行うことが可能。必要条件は「Mac OSX 10.7以上、XCode 4.5以上 」となっているがSwiftも対応しているかは実際にコードを書かないとわからない。 saucelabs https://saucelabs.com/ seleniumやappiumのテストを高速実行。実行時のビデオも残してくれる。 Remote Test Kit リモートによる実機テストができる。 機種依存ポイントとなるセンサ周りのテストがしづらいのは残念。 OSS Quick Swiftが発表された2日後にGithubにコミットされた、世界で一番最初のSwiftのテストフレームワーク。RSpec, Specta, Ginkgoの影響を受けている
iOSアプリを開発していると、テストやデバッグのためにシミュレーターに格納されたアプリのデータにアクセスしたいことがよくあると思います。しかし、シミュレーターのデータは、フォルダ階層の奥深くに眠っているため、毎回そのフォルダを開くのは大変な作業でした。 「SimulatorManager」はこの問題を解決すべく開発された、シンプルなMac用のメニューバー常駐型のアプリです。 起動すると、インストールされたiOSシミュレーターと、シミュレーターごとにインストールされているアプリが一覧表示され、選択するとそのアプリのデータフォルダを直接Finderで表示することができます。 使い方 例えば上の図で、シミュレーターのiPhone 6(iOS 8.1)には、Foxbrowser、Swift-Gif、その他アプリがインストールされていて、FoxbrowserとSwift-Gifにはデータフォルダが存
この記事ははてなエンジニアアドベントカレンダー2014の16日目です。昨日はid:nobuokaによる「【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】」でした。 こんにちは。はてなアプリケーションエンジニアのid:cockscombです。 Webと連携するスマートフォンアプリを開発するとき、Web APIを抽象化したAPIクライアントを作ることがよくあります。これはWeb APIのエンドポイントとメソッドを紐付け、パラメータに名前をつけて、返ってくるJSONのレスポンスを何らかのクラスに当てはめ型付けする、といったようなものになります。 Swiftのモダンな言語機能を利用して、このAPIクライアントを書きましたので、以下に詳解します。例としてGitHubのStatus APIを取り上げています。 またネットワ
Swift で使えるオープンソースライブラリ 2014年は新言語 Swift が登場し、iOS アプリ開発者にとってはかなり印象深い年になったのではないでしょうか。Swift の登場以後、さまざまな取り組みが iOS アプリ開発者の中で行われ、その結果の1つとしてオープンソースライブラリもかなり増えました。 Swift で一から書かれたものもあれば、既存のものを Swift でも使えるようにアップデートしてくれているものもあります。ある意味、混沌としている現状では「じゃあいまから Swift で iOS アプリ開発するときに何を使えば良いの!?」といったことになりかねません。ということで、現在までに公開されている Swift で使えるオープンソースライブラリを目的別にまとめてみました。 Swift アドベントカレンダーのために書いた記事なので、タイトルには「Swift 時代の」としています
この記事は CyberAgent エンジニア Advent Calendar 2014 9日目の投稿です。 昨日は@stormcat24 さんの開発効率化への道は一日にしてならず - tehepero note(・ω<) でした。 自分は4ヶ月ほど前にサーバサイドJavaからiOSに転向し、弊社の中で最も息の長い(?)iOSアプリの開発チームにジョインしました。利用者数も多く事業インパクトの大きいアプリですが、ちょっと前からSwift移行を着々と進めています。 Swiftが登場して6ヶ月、ネット上に良い情報が沢山転がっていて目新しい事は書けないんですが、ここでは既存のコードベースをリプレースしながら感じたSwiftの良い所でもまとめてみようと思います。 実際に現場で活きている機能 まだ書きはじめて1ヶ月ほどなので、膨大なSwiftの新機能のうち一部しか触れてはいないですが、はやくもコード
こんにちは。モバイルファースト室の中村(@_nkmrh)です。 仕事でSwiftを使うことはまだないのでSwiftについて色々気になっている今日この頃です。 今回はSwiftとObjective-C(以下、Obj-C)を1つのプロジェクト内でつかう方法と、両者の相違点について気になった点を紹介したいと思います。 Swift -> Obj-C まず、SwiftからObj-Cを使う方法です。 SwiftからObj-Cを使うには、[product module name]-Bridging-Header.hを作成します。 ※ [ProductModuleName]は通常ProductNameと同じです。ProductNameにアルファベット以外の文字を使っている場合、その文字は( _ )(アンダースコア)に置換されます。 Xcodeのメニュー"File > New > File > (iOS o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く