関連資料はこちらからどうぞ。 http://www.dotapon.sakura.ne.jp/blog/?p=192Read less
関連資料はこちらからどうぞ。 http://www.dotapon.sakura.ne.jp/blog/?p=192Read less
iOSエンジニアの皆さん、ゴリゴリSwift書いていますか?サクサク書ける反面、コンパイルにやたら時間がかかってストレスフルですよね。今回は、激遅だったコンパイル時間が「ちょい遅」くらいまで改善したお話です。 あらすじ「ナウでヤングなiOSエンジニアはやっぱSwiftだよね!」ということで、半ば強引にSwiftを採用して直近のプロジェクトを進めていました。 補完機能が頻繁に落ちたり、ブレークポイントの位置がおかしかったり、変数の中身が見られなかったり、謎のエラーでビルドできなかったり、…などなど、まだまだバグはてんこ盛りですが、それらを見なかったことにできる程度にはいい感じです。型推論はそこそこ賢いし、何より簡潔に記述できます。ただの可変長配列のために、もうNSMutableArrayなんて長々と書かなくてもええんやで。 プロジェクトが進むにつれて見えてくる問題プロジェクトが進んでソースコ
最近、私たちは Swiftベースの新しいアプリ を発表しました。Appleによって派手に取り上げられ、非常に多くのユーザを獲得しています。この記事では、私たちの経験を共有し、この新しいプログラミング言語について一般的な考えを述べ、私たちのアプリをより強固なものにしてくれる、Swiftの長所をいくつか紹介したいと思います。 これはSwiftのチュートリアルではありません。この記事は、まだSwiftの経験が浅く、実際はどのように使われているのか興味を持っている開発者のために書かれています。技術的なコンセプトにも言及します。また、必要に応じて既存のチュートリアルやドキュメントへのリンクも含まれます。 まず、この新しいアプリの機能や、主な目的について簡単に説明します。 新しいアプリ 当社の主力アプリ Duolingo のことは既にご存じかもしれませんね。6,000万人以上のユーザ(2014年12月
連載目次 前回の記事「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も対応されています。 [ナビゲータ
今回から、実際にiPhoneアプリを開発する手順や方法について解説します。 Xcodeプロジェクトの作成 いよいよ、Xcodeを使ってiPhoneアプリを作成します。Xcodeを起動し、プロジェクトを作成しましょう。Xcodeのメニューから「ファイル」→「新規プロジェクト...」を選択します。 テンプレートの中から「View-Based Application」を選択 第2回と同様、ここでは「View-Based Application」を選びます。今回はApp Storeでも配布されている、価格を入れて割引率を 選ぶと自動的に割引後の金額を表示するアプリ「バーゲン教師」を作りますので、プロジェクト名は「BargainSale」としました。もちろん他の好きな名前でもかまいません。アプリ名はこれとは別に設定しますが、開発中はひとまずこの名前を使います。 保存が完了すると、選択したテンプ
きっかけ 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でのコメント そもそもソースコードにコメントを書いた方がいいかどうかは長い議論がありまして……。 コメントによりコードの理解は深まるので、あったほうがいいという意見もありますが、コメントを書いたあとにコードを変更してしまうと、コメントとコードの内容が違ってしまい、かえってバグを生んでしまうためコメントを強制するのは害悪だ、という考え方もあります。 また、適切な命名規則を守ればソースコードを読むだけで理解できるという考え方もあります。 実際には、プロジェクトのライ
定番テキストエディタのひとつ。 今はSublime Text 3を購入して使っているので個人的にはあまり出番がないですが、同じく定番のCotEditorに比べると、巨大なファイルも開きやすかったりとか、強力なDiff機能があったりだとかでこちらを選びました。 Diffに関しては、Xcode同梱のFileMergeというのもありますが、フォルダ単位での比較ができないし文字化けすることがあったりして使っていません。 TextWrangler カテゴリ: 開発ツール 価格: 無料 日本語が含まれるファイルをZip圧縮すると、Windowsで解凍した時に文字化けしてしまいます…。これは、Macの問題ではなくてWindows側でZip内のファイル名のエンコーディングがMSCP932(Shift_JIS)しか対応していないことに起因しています。 これを回避するために、WinArchiver Liteと
こんにちは。モバイルファースト室の中村(@_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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く