関連資料はこちらからどうぞ。 http://www.dotapon.sakura.ne.jp/blog/?p=192Read less
![キーボードで完結!ハイスピード Xcodeコーディング](https://cdn-ak-scissors.b.st-hatena.com/image/square/3a2172f789dd7b8cd2f131ee50465a44dc1d5156/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fxcodehighspeedcoding-120414015234-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
関連資料はこちらからどうぞ。 http://www.dotapon.sakura.ne.jp/blog/?p=192Read less
iOSエンジニアの皆さん、ゴリゴリSwift書いていますか?サクサク書ける反面、コンパイルにやたら時間がかかってストレスフルですよね。今回は、激遅だったコンパイル時間が「ちょい遅」くらいまで改善したお話です。 あらすじ「ナウでヤングなiOSエンジニアはやっぱSwiftだよね!」ということで、半ば強引にSwiftを採用して直近のプロジェクトを進めていました。 補完機能が頻繁に落ちたり、ブレークポイントの位置がおかしかったり、変数の中身が見られなかったり、謎のエラーでビルドできなかったり、…などなど、まだまだバグはてんこ盛りですが、それらを見なかったことにできる程度にはいい感じです。型推論はそこそこ賢いし、何より簡潔に記述できます。ただの可変長配列のために、もうNSMutableArrayなんて長々と書かなくてもええんやで。 プロジェクトが進むにつれて見えてくる問題プロジェクトが進んでソースコ
連載目次 前回の記事「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も対応されています。 [ナビゲータ
きっかけ iOSアプリ公開の壁となっているプロビジョニング周りですが、ハマりまくったので覚えている内に図にしました。 難しくしてる理由 難しくしているのは、この辺が理由ではないかと思います。 iOS Developerサイトでの画面・操作手順がしょっちゅう変わる Xcodeも、バージョンによって画面・操作手順が変わる ということで、書籍やWebでのノウハウがすぐに古くなってしまいます。ググるといろんな情報が出てきてしまい、かえって混乱します。 また、開発時のiOSデバイスはXcode側である程度自動的にやってくれるのですが、それがかえって分からなくしているような気がします。 概念図 ということで、結局、概念を理解してしまうのがいいのではないかと思い、図にしてみました。 (より厳密に実行端末が判断されるAd Hoc配布をベースに記述) ざっくり手順(※個別の操作は省略) 鍵ペア(秘密鍵/公開
はじめに Merry Christmas! 皆さんがこの記事を読んでいるときに、僕が海外にいるかもしれませんが!!! これは ドリコムAdventCalendar の25日目です。最後の日です。 24日目は、@hayato240です 自己紹介 はじめましてタイのサトシです。2013年4月新卒で入社しました。 iOS開発が好きです。趣味は海外旅行と映画を見ることです。 現在は担当しているチームでiOSエンジニアをやっています。 iOSアプリの開発経験は1年未満なので、先輩方々から様々な知識を学んでいます。 iOS開発の中ではいろいろなことを学んでいますが、最近自分が学んでいるAuto Layoutを 簡単に紹介したいと思います。 本題 Auto Layoutとは Auto Layoutはアプリケーションのユーザインタフェイスを作成するシステムで、制約 (Constraint) に基づいてvi
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シミュレータでしかまだ利用で
これはiOS Advent Calendar 2014の12日目の記事です。 年の瀬もだんだん押しせまってきました。 年末年始のお休みの後に、「あれ、このメソッドどんな目的で作ったんだっけ?こっちのメソッドとの関係はどうだったんだっけ……」など無駄に悩まないために、このあたりでソースコードのコメントを見直してみましょう。 Xcodeでのコメント そもそもソースコードにコメントを書いた方がいいかどうかは長い議論がありまして……。 コメントによりコードの理解は深まるので、あったほうがいいという意見もありますが、コメントを書いたあとにコードを変更してしまうと、コメントとコードの内容が違ってしまい、かえってバグを生んでしまうためコメントを強制するのは害悪だ、という考え方もあります。 また、適切な命名規則を守ればソースコードを読むだけで理解できるという考え方もあります。 実際には、プロジェクトのライ
こんにちは。モバイルファースト室の中村(@_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
連載目次 前回の記事「開発者が知っておきたいiOS 8の新機能&Xcode 6のインストールと基本的な使い方」では、iOS 8を簡単に紹介し、iOSアプリ開発を始めるための環境構築について説明しました。今回から、iOS 8の新機能を使ったアプリの開発を進めていきます。 前回、本連載で開発していくアプリに盛り込むものとして以下の項目を挙げました。 Xcode 6のセットアップ・使い方・機能を解説 Swiftを使用 iOS 8で追加された新機能を使用 iPhone 4s/5s/6/6 Plusの画面サイズに対応 「iOS 8で追加された新機能」についてですが、本連載では「PhotoKit」の機能を使用したアプリを開発します。「PhotoKit」は、iOS標準の「写真」アプリで使用されているAPIが解放されたもので、「写真」アプリ並みの機能を持ったアプリを開発できます。 iOS 8のPhotoK
モバイルファースト室でiOSアプリケーションの開発を行っている@yuseinishiyamaです。 クックパッドでは日々の業務を効率よく行うためのツールを作り、公開するということが積極的に行われています。 社内のリポジトリや掲示板を探せば、便利なツールをたくさん見つけることができるような環境です。 こうした文化のお陰で、作業時間の短縮、自動化が容易となり、結果として「ユーザーの方々に価値を届ける」という本質的な作業に費やす時間を増やすことができます。 私も先日、iOSシミュレータをカスタマイズして作業効率を上げる機能を実装してみたので、その方法を紹介いたします。 動作環境 以下の環境で動作確認済みです。他の多くの環境でも動くと思われますが、保証できません。 OSX 10.9.4 + Xcode5 OSX 10.9.4 + Xcode6 Loadable Bundleについて iOSシミュレ
モバイルファースト室の@y_310です。 iOSアプリでオープンソースなライブラリを使う場合、サーバサイドアプリケーション以上にソフトウェアライセンスを意識する必要があります。 多くのライブラリはMITライセンスや修正BSDライセンスで提供されていますが、それらのライブラリを使う場合、再配布時に元のライセンス条文を配布物のどこかに含めることが要求されています。 とは言え、アプリケーションに含めたライブラリのライセンスを確認して確実に配布物に含めていく作業というのはどうしても漏れがちで手間なものです。 そこでiOSで標準的に使われているパッケージ管理ツールであるCocoaPodsでは、ライブラリのインストール時に自動的に各ライブラリのライセンス表記を集約し1つのplistファイルにまとめてくれる機能を持っています。 あとはこのファイルをSettings.bundleの中に移動すれば設定アプリ
前回はビルド設定とスキーマにより本番環境とテスト環境を数クリックで切り替えられる仕組みを説明しました。 今回はTestFlightによるアプリ配布と、Jenkinsを組み合わせてアプリ開発者以外でもアプリ配布ができるようになる仕組みの構築について説明します。 はじめに 背景と問題点 私がRettyで仕事を始めたとき、アプリを配布する仕組みは特になく、アプリの評価が必要になるたびに実機を借りてインストールを行い、評価をしていました。その後、会社のメンバーやインターンの数が増えてくるにしたがって、以下のような問題が出てきました。 評価を行うメンバーの全端末にそれぞれインストールするのが煩雑になってきた 開発者の数は増えたがiOS開発者は増えなかったため、インストール依頼の負荷がiOS開発者にかかるようになった 開発者の増加にともない開発環境が増え、ビルド設定とスキーマでカバーしきれなくなってい
LINEとかチャット系アプリは大体踏襲しているアレです。 まとめて解説してるブログが見つからなかったので、必要最低限の部分だけメモっときたいと思います。 今回はメッセージ入力欄のみで、ポイントはこの二つ。 メッセージ入力欄・送信ボタンは下部固定(キーボード出現時は隠れないように移動) 入力テキストの行数によってメッセージ入力欄の高さが変わる 実現方法は色々だと思いますが、今回は StoryBoardでAutoLayout を使ってやります。 【完成イメージ】 StoryBoardでレイアウトを作成 まずは以下の構造で各種UIパーツをレイアウトします。 Constraintを設定 Constraintについてここでは詳しい説明はしませんが、View間の相対位置やサイズ等を定義するルールといったところです。 画面サイズが異なる端末でもそれぞれいい感じにレイアウトが組めるので便利です。 Stor
Nov 20, 2014 iOS, OSXで利用できるライブラリ管理ツールといえばCocoaPodsが有名ですが、 それとはまた違った方針のCarthageというライブラリ管理ツールがリリースされました。 GitHubのデベロッパーを中心としたチームで開発が進められているようです。 https://github.com/Carthage/Carthage インストール方法 Releasesからpkgをダウンロードして、インストーラーを実行します。 使い方 Cartfileを書く carthage updateを実行する Carthage.buildに作成された.frameworkをXcodeに追加する Cartfileではgithub, gitの2種類のキーワードが利用でき、以下のように書きます。 サポート対象 Carthageはdynamic frameworkのみをサポートするため、C
モバイルファースト室の三浦です。 みなさんはplayground使っていますか? Swiftにはplaygroundが用意されていて手軽にかつライブレンダリングでコーディングをすることができます。 CoreGraphicsの描画などを確認しながらコードを書くこともできてとても便利です。 早速Swiftで簡単なスケッチをしてみましょう! Xcodeでplaygoundファイルを新規作成します。次にUIKitをimportします。 import UIKit 次に表示のためのUIViewを生成します。 // ビューのサイズ let size = CGSize(width: 200, height: 200) // UIViewを生成 let view:UIView = UIView(frame: CGRect(origin: CGPointZero, size: size)) view.back
iPhone6,6Plus サポートとか LaunchScreen.xib とか Size Class とか考えると、もはや Autolayout は必須な感じになってきてます。 http://d.hatena.ne.jp/shu223/20141002/1412209257 で、Autolayout ✕ UIScrollView の例の問題(UIScrollView のサイズを superview との制約で動的に変えるときにその中身も動的に変えたい、ってやつ。こんな雑な説明でもハマったことある人にはわかっていただけるかと・・・)、Apple 公式でこんなドキュメントが出てますが、 Technical Note TN2154: UIScrollView And Autolayout "Mixed Approach" とかなんか筋が悪い感じだし、"Pure Auto Layout Appr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く