Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Web エンジニアだったはずがひょんなことから iOS アプリを書き始めてはや3ヶ月。ヘルスケア事業部の濱田です。 iOS アプリで画面遷移を実現するためには様々な方法があります。 コードのみを使う方法 xib を使う方法 storyboardを使う方法 etc. 初めはかなり混乱しましたが、最終的には storyboard と xib の合わせ技に落ち着きました。 今回はこの方法についてご紹介します。 storyboard を使うか、xib を使うか、それが問題だ アプリの UI 部品の配置は結構たいへんな作業です。とくに Autolayout の制約の設定などは、コードのみで設定するのは困難でしょう。Interface Builder の支援をなるべく活用したいところです。 そこで、storyboard もしくは xib ファイルを利用して ViewController(以下 VC)
Swift2の発表で活気付く中、Objective-Cもひっそり進化しています。 iOSアプリは何個か作ってきたけど、急にSwiftに移行するのは……という方! Xcode7で使えるようになったモダンな文法をちょっとだけ採用してみませんか? きっと手元のコードが美しく、保守しやすくなりますよ! 新しく使えるようになった文法 新しく使えるようになった……と、いっても2つだけです(´・ω・`) Generics Nullability Annotation Generics (1) ArrayやDictionaryに追加するオブジェクトの制限 特定クラスのインスタンスだけをArrayやDictionaryに追加したいケースで有益です。 今までのObjective-Cでは、こんなコードを書いてインスタンスの型チェックを行う必要がありました。 if ([[hoge class] isSubcla
はじめに iPhone開発の方法を人に教える時にどんな風に教えれば良いかをちょっと考えて、実践してみたのでその方法をここに残しておきます。 まだ教育方法が確立していない方の参考になればと思います。 また、現在の業務ではストーリーボードを使用しているコミュニケーション系のアプリを作ってますのでその観点での教育方法です。 (個人的にはストーリーボードはあまり好きでは無いが、現場の方針があるため仕方なく使ってます・・・) この記事はXCodeを使った事が無い新人〜3年目くらいの人に基礎的な概念を身につける事を目的としています。 SwiftでもObjective-cでも通じる教育方法です。 熟練者の方が新人教育して使用してもらえると嬉しいです。 解答は敢えて載せてませんので、熟練者の方が確認してあげてください。 1. ナビゲーションバー 課題 Single View Applicationでプロジ
こんにちは。VOYAGE GROUPのエンジニアのジャニーです。 サーバーサイド開発、iOSアプリ開発等に業務で携わっています。 今回は最近取り組みましたiOSアプリにおけるユニットテストについて書きたいと思います。 事前知識 Xcodeにはデフォルトでユニットテストを行うフレームワーク(XCTest)が組み込まれておりApple社からドキュメントも提供されています。 Xcodeユニットテストガイド テストをする上で困った事 テストが重要だと言うのは認識していても、テストをしやすい仕組みがなければコストも掛かるし気分も乗らないですよね。 そういった意味ですぐ欲しくなった仕組みを書いてみます。 Mock iOSアプリでのテスト問わず、シンプルにクラスのテストをしたい場合、非常に便利ですよね。 非同期処理のテスト Xcode6~ではデフォルト機能として非同期処理のテスト用APIが追加されていま
ある程度の規模になっているObjective-CベースのiOSアプリで、「よっしゃSwift導入や!」ってなっても、 「開発者が馴染んでいない言語を実戦投入したら、コーディングガイドラインもないし、コード品質が下がってしまう」みたいな懸念があると、きっと思います。 でも、やっぱりSwiftは触ってみたいし、少しずつ触っておきたい、みたいなケースはないでしょうか? なら、簡単な導入として、単体テストだけSwiftで書いてみればいいんじゃない?と思ってやってみたらすごく簡単だったのでその紹介です。 前提 Obj-Cで書いているアプリ 単体テストは既にある. (フレームワークはXCTest) Swiftのテストケースを追加 おもむろに "New File..." から Test Case Classesを選んで、新しいテストクラスを追加します。 LanguageはSwiftにします。 ファイルを
Xcode の便利プラグインまとめ はじめに Xcode 8 からのいわゆる Xcode Source Editor Extension ではなく、あくまで非公式のプラグインを掲載します。 インストール先は ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ Alcatraz などのパッケージマネージャを使うと管理が楽 Xcode の更新でプラグインが使えなくなる事もあるので注意 "DVTPlugInCompatibilityUUID" を追記する事で対応出来る場合もある(後述) 管理 Alcatraz Xcode プラグインや Color Scheme などを管理するパッケージマネージャ。これを入れておけばこの記事を見なくてもだいたいのプラグインは参照できます。 メニューバー > Window > Package
このページはAutoLayoutのレイアウトを実際にやってみる演習問題を集めたページです 動作環境はXcode6.1 を想定しています。 回答の詳細はサンプルプロジェクト(SampleProjects/AutoLayout/AutoLayoutDrill)をご覧ください 中央に配置 問題 下の図のように、200px四方のViewを画面中央に配置してください。 その際、違うサイズのシミュレータや回転しても正しく中央に配置されるようにしてください。 (シミュレータの回転は コマンド+矢印キー です) 回答 適当なViewを配置し、widthとheightのconstraintをそれぞれ200pxで設定します Horizontal Center in Container と Vertical Center in Container の制約を追加します 画面サイズに合わせる 問題 下の図のように、
はじめに 前回はSwift言語について解説しました。今回からは、実際にiOSアプリを開発していくために必要なことについて解説して行きます。 第3回の今回は、既存のObjective-CのプロジェクトをSwiftに移行したり、Objective-Cのライブラリを活用する方法を解説します。また、CocoaPodsをSwiftで活用する方法もご紹介します。 新しくSwiftのプロジェクトを作成する場合 新しくプロジェクト作る場合は、Product Nameなどを入力するダイアログの「Language」を「Swift」にします。それ以外はObjective-Cの場合と同じです。 図1 「Language」を「Swift」にする ファイル構成を見て見ましょう。 図2 ファイル構成 おなじみのAppDelegateやViewControllerがありますが、拡張子が「.swift」になっています。こ
by @mixiappwchr 最近開発してるとAutoLayoutが出てきてからアプリ開発を始めている方も多く、AutoResizeってなんなの?って聞かれたので、最近語られないAutoResizeの方に目を向けてみようと思います。 AutoLayoutしかやったことなく、苦しんでいる方に光明を与えられればと思います。 AutoResize概要 親のViewのサイズに合わせて * top,bottom,right,leftの位置を固定 or 自動調整 * width,heightの位置を固定 or 自動調整 これだけです。 これだけです!! これだけだと大したことできないんじゃないからAutoLayout使わないといけないんじゃないの?と思っている人もいると思いますので実際にAutoResizeでレイアウト何ができるか具体例を書いていきます。 サイズの自動調整 例えば上下50%ずつの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シミュレータでしかまだ利用で
xcode6になって 対応しなければならない画面サイズ(解像度の比率の種類)が5種類に増えました (iPhone4S,iPhone5(S),iPhone6(S),iPhone6 Plus(S)、iPad) デバイスの画面サイズの種類が増えたことで StoryboardやxibでAutoLayoutを使わないやり方でやると 1つのレイアウトファイルではマルチデバイスのサイズに 対応ができなくなってしまっています 自分は今までAutoLayoutを使って来なかったので苦戦したので 他の困っている人向けに備忘録として残しておきます XCode7以降でも基本的には同じです。 長いです まず、AutoLayoutを使わない方法もあります ViewControllerを選択して ・Use Auto Layout ・Use Size Classes のデフォルトチェックを外します。 すると、従来通りAu
2014年終盤、もしかしたら皆さんはObjective-Cなんて使わずにSwiftでアプリ開発をしているかもしれませんが、自分が利用しているコーディング時のガイドになるスタイルガイドを公開したいと思います。 新しくプロジェクトが始まった際など何かしらの議論のベースとなれば幸いです。 前提 あくまでスタイルガイドであってルールじゃない もしガイド通りでなくてもレビュー時に指摘するほどではない 複数ある方法を選ぶ際の参考にすればいい MUSTな項目はなくレビュー時に気づいたら気づいた誰かが直せばいい 項目それぞれに理由があるが、その理由が当てはまらなければ当然他の方法が適している 開発メンバーによってそれぞれ合う合わないがあるのは当然 プロジェクトによってガイドの内容は調整されてもいい スタイルガイドは言語仕様や開発環境の気付きになる場合が多く、それも目的としている Blocksを引数にとるメ
連載目次 前回の記事「開発者が知っておきたい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
こんにちは。モバイルファースト室の中村(@_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
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
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
とあるお仕事で、iPad をサポート(= Universal 化)してほしいという要望があり、せっかくなので iPhone 6 / 6 Plus (4.7 / 5.5 inch スクリーン)もサポートしようってことで、新しい Xcode 6 の新しい仕組みである Size Class を使って複数画面対応を行ないました。あと、同じく Xcode 6 から Asset Catalog でベクター形式がサポートされるようになったので、こちらもトライしてみました。 で、そのときに学んだ諸々の断片的なメモです。勘違いもあるかもしれないのでその際は優しくご指摘いただけますと幸いです。 ※ちなみに Size Class やベクター形式画像の使用は iOS 8 以上縛りではありません。単に Xcode 6 の新機能というだけなので。 Size Class の前提知識をつける 「Size Classsとは
WWDCでのアップルの発表によると、iOS 8 では4000以上もの API が追加されたとのことですが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりよくわかりません。やはり実際にコード書いて動かしてみるのが一番わかりやすい、ということで今年もつくりました、 iOS 8 新機能のサンプルコード寄せ集めアプリ『iOS8-Sampler』 ソースコードは GitHub に置いてあります。 https://github.com/shu223/iOS8-Sampler ※使い方は Xcode 6 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひ最寄りのエンジニアにビルドしてもらってください。 中身について 今回はデザイナー okazu 氏の協力により立派なアイコンやスプラッシュ画像が最初
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く