非エンジニアリング脳なデザイナーが新規アプリ開発の現場でXcodeを使用することがどのような影響を与えたか。について、自身の経験を元にまとめました。Read less
![デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き](https://cdn-ak-scissors.b.st-hatena.com/image/square/65d0e019b4d27d70d3220eafdf27357be2b6237f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fdesignerxcodefix-151011101545-lva1-app6891-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
非エンジニアリング脳なデザイナーが新規アプリ開発の現場でXcodeを使用することがどのような影響を与えたか。について、自身の経験を元にまとめました。Read less
Swift3移行時に、ビルドする度沸いて出て来るエラー。 それを直したと思って再度ビルドしても またでてくる…。 そんな時に、、ちょびちょびではなくて一気にエラーの箇所を出して修正していきたい場合は、Xcodeの設定を少し変えるだけでよくなります。 Xcodeの設定画面を開く 「cmd + ,(カンマ)」で設定画面を開き、「Continue building after errors」の項目にチェックを付けます。 これで、ビルドしてエラーが出たとしても、全体を通してビルドが終わるまで続けてくれます。 ただ、普段使う時は、エラーがある時点でビルドが止まるほうが良いので、使う必要がなくなったらチェックを外しましょう。
iOSDC2016というiOSに関してのカンファレンスが2016年8月19日と20日にありました。 参加してみて、とても楽しく、ためになる発表がたくさんありましたので、いち早くシェアすべく、ここに発表資料などをまとめました。 資料は随時更新します。編集リクエストをいただければ、すぐに反映します。 動画 前夜祭 Track A 前夜祭 Track B Track A Track B 発表資料 ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方 https://speakerdeck.com/shoby/yuzanishou-keru-rerare-wen-ti-woqi-kosiduraida-gui-mo-riniyuarufalsejin-mefang http://niwatako.hatenablog.jp/entry/2016/08/19/181554 Swift
Xcode7からテストツールの機能が追加されたのですが、今回はUIの自動テストの使い方のまとめです。 プロジェクトのtargetに「iOS UI Testing Bundle」を追加 テストコードを実装する XCTestCaseのテストクラスが追加されるので、ここにテストケースを実装する Xcode下部のレコード機能で画面操作を記録する 今回はこの機能を使って、UIのテストコードを作成します。 この機能は画面で操作した内容をそのままXCTestCaseのコードに落とし込みます。 今回は以下のような画面構成のアプリで簡単なUIテストを実施します。 確認する動作は以下の通りです。 Fisrtの画面でNextをタップ Secondの画面でナビゲーションバーのバックボタンをタップ Fisrtの画面でNextをタップ Secondの画面でNextをタップ Finishの画面でナビゲーションバーのバッ
Make a note of it: Web tech, montaineering, and so on. 2月中旬からiPhoneアプリ作ってました。 アプリ自体が初めてなので右も左も判りませんでしたが、SwiftはJavaSciptに似てるので取っつきやすかったと思います。 良くあるTableView + WebViewのニュース系アプリですが、1人で実装して3月末には公開申請出せたんで、まあ入りやすいんじゃないですかね(申請通ったとは言ってない)。 UIパーツの配置はStoryBoardで行う JSONを取得してTableViewCellに流し入れる データの保存にCoreDataを使用する TableViewCellからWebViewに遷移する NavigationBarとTabBarを共存させる 通信中を示すインディケーターと、通信失敗時のエラー表示 無限スクロールによる逐次読
テーマ Swiftで気持ち良く開発をするためには FiNCさんによるご挨拶 ■会社紹介 一生に一度のかけがえのない人生の成功をサポートする。 ■サービス紹介 FiNCプラス 法人向け ダイエット家庭教師 個人向け パーソナルカラダサポート ■iOS開発環境 Swift100%、Swift2.2 slack / github / JIRA を使っている ゲストスピーカー発表 @kishikawakatsumiさん ■Swiftらしいコードとは 一概に言えるものではないし、同じことをやるにもいろいろな表現と、それに伴うメリット・デメリットがある。ゆえに、それぞれの適性を理解した上で書けるようにすべき。Swiftらしさに拘って盲目的に使うべきではない。 ■Protocolについて Dependency Injection with the Cake Pattern in Swiftのエッセンスを
気をつけろ!NSUserDefaultは消えるぞ! – Qiita という記事が Qiita に上がっていました。 私も iOS 9.3 beta 3 の時からこの現象に悩まされていましたので、重い腰を上げて筆を取りました。 詳しい内容については私のポートフォリオ的サイトに書きましたので、そちらをご覧頂ければと思います。 NSUserDefaults についてやっと書きます | treastrain Press iOS 9.3.2 の NSUserDefaults | treastrain Press さて、この記事には NSUserDefaults で保存したデータが消えるバグがいつ発生するかについてのみ書いておきますね。 Xcode が怪しい 私の長い iOS 9.3.x 付き合いの経験から言うと、「Xcode で開発中のアプリを Run した後」もしくは「Run している最中」にかな
2017/10/15 更新 とりあえず、入れておくと便利なXcodeのプラグインをまとめてみました。 汎用性のあるものを重視して、厳選しています。 プラグイン初心者向けに有名なものも含まれています。 主に Swift 向けです。 Xcode7.3.1 (一部 Xcode9.0) で動作確認しています。 Xcode 9.0で動作確認済みのものには 、Xcode8.3で動作確認済みのものには を付けています。 Xcode 9 / 8 2017/10/15追記 Xcode9や8でこれらのプラグインを使用するためには、各プラグインにUUIDを追加する必要があります。 追加を一括で行ってくれるツールがこちらです。 インストールして、実行後、Xcodeを再起動することで、Alcatrazを含むいくつかのプラグインが使用可能になります。 環境にもよりますが、プラグインのインストール後、Xcodeを起動す
はじめに こんばんは!タミー・トッキーこと田宮です! Facebook で以下の記事を知り、イングリッシュネームつけてみました!!(都元ダイスケさんありがとうございます!) 日本人も英語名(イングリッシュネーム)を持ってみよう、色々と捗るぞ - せまひろかん さて、Xcode 7 から無料で実機にアプリをインストール出来るようになりました。 Apple Developer Program に加入している方は特に使わない機能であり、iOS 開発者は普段なかなかこの機能に触れる機会が無いと思います。 一方で、アプリの開発をこれから始めようとしている人にとって、実機で動かす = お金を払うだと敷居が高かった気がします。そうした人たちにとっては朗報だと思います。 周りでそうした人がいたら、これからご紹介する方法で実際に iPhone や iPad 上でアプリが動いている感動を伝えてあげることができ
弊社のレポートは以下になります try! Swift 最速レポート 1日目午後 try! Swift 最速レポート 2日目午前 try! Swift 最速レポート 2日目午後 try! Swift 最速レポート 3日目午前 try! Swift 最速レポート 3日目午後 try! Swift 最速レポート 1日目午前 こんにちは!加藤 潤です。 今日はSwift開発者たちの大規模なカンファレンスであるtry! Swiftにやって来ました!!このイベントは世界中のSwiftデベロッパーが一堂に会し、知識や技術を互いに共有し高め合うことを目的としています。今日から3日間の開催となりますが、Developers.IOではこの模様を随時お届けしていきます! では、さっそくいってみましょう! 目次 朝食 開会の挨拶 Swiftのエコシステムに飛び込む 実践的クロスプラットフォームSwift コードリ
iOSのカンファレンス「try! Swift」がいよいよ昨日から始まりました。恥をさらすようですが、半分ぐらいのセッションでリアルタイムについていけませんでした。。 ので既に上がっている発表資料やレポート記事を参照しつつ復習をしていこうかと。(WWDCもリアルタイムでは理解できないのでいつもスライドpdfが出てから自分のペースで手を動かしながら勉強する、というスタイルでやってます) オーバービュー的な話、考え方的な話はありがたく参考にさせていただきつつ、ここでは主に実装面のセッションについて復習していきたいと思います。 実践的クロスプラットフォームSwift / Practical Cross-Platform Swift Realm の JP Simard さんの話。 SwiftはApple以外のプラットフォームでも利用できるようになりました。iOSアプリ以外でも好きなようにSwiftを
2018/04/10 追記 一部コードが古くなっています。 Xcode 9.3, Swift 4.1 の環境では以下のコードで動作します。 import PlaygroundSupport let vc = UIViewController() vc.view.frame = CGRect(x: 0, y: 0, width: 320, height: 480) vc.view.backgroundColor = .lightGray PlaygroundPage.current.needsIndefiniteExecution = true PlaygroundPage.current.liveView = vc.view Xcode の Playground を久しぶりに使ってみて、UIの実装とかこれでやると便利だな、と思ったのでやり方をまとめてみます。 やりたい完成系はこんな感じ:
今まで色々なプロジェクトに携わってきましたが、 Targetsによる管理が適切でないケースでTargetsを追加されると、保守が辛いなーと思ったのでシェア。 Targetsを増やすべきケース そもそも、どういったケースでTargetsを増やすべきなのでしょうか。 Xcode Conceptsには、A target defines a single productとの記載があります。 つまり、以下のようなケースではTargetsによる管理が適切と考えられます。 同じアプリの有料版と無料版を管理する場合 基本的なロジックは同じだが、画像などの素材だけ差し替えて別アプリとしてリリースする場合 Targetsを増やすべきでないケース では、逆にTargetsを増やすべきでないケースはどのようなものでしょうか。 開発版・ステージング版・リリース版をTargetsで管理しているケースをよく見ますが、こ
やること Swiftでコマンドラインツールを作る プロジェクト構成などがCarthageとだいたい同じものを作る 依存管理にCarthageを使用する やらないこと 自分で作ったコマンドをbrew install出来るようにする Github 大体同じ手順で作業してcommitしたので、多少参考になるかもしれない。 XcodeでProjectを作る 最初に作るのはCocoa Applicationです。 今回は凄いツールを作ります。適宜自分が作るプロジェクトに置き換えて下さい。 Cocoa FrameworkのTargetを追加する Frameworkの名前はプロジェクト名にKitを付けたやつにします。適宜変更したりいろいろして下さい。 作ったTargetのschemeを共有設定にする 方法は適宜ぐぐって下さい。 全てをまとめるWorkspaceを作る さっき作ったxcodeprojを一旦
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
はじめに 加藤 潤です。 今回はSwiftの静的コード解析ツールであるTailorをご紹介します。 Tailorとは Swift用の静的コード解析ツールで下記のような特徴を持っています。 クロスプラットフォーム(Mac OS X、Linux、Windows) CLIで解析を実行し、解析結果のレベルに応じてカラーリング表示 Xcodeのビルド時に解析を実行し、Issue Navigatorに結果を表示 MITライセンスで公開されている また、コーディングスタイルガイドラインとしては下記が採用されています。 The Swift Programming Language GitHub Ray Wenderlich Coursera インストール Java 8をインストール Tailorを使うにはJava 8以上が必要です。 インストールされていない場合はこちらからインストールしてください。 筆者
目的 Swiftも2.0になり、使う機会が増えてきました。 複数人で書くことも増えてくると、コードフォーマットの統一を図りたくなってきます。 realm/SwiftLintを利用したら、github/swift-style-guideベースのチェックが出来そうです。 ローカルでやる場合は、Xcodeに設定しておけば保存などのタイミングでチェックしてくれるのですが、担当者によっては無視してしまう可能性があります。 また、SwiftLintも日々チェック項目が追加されているので、開発者のローカルのSwiftLintが古く、チェックしきれてない可能性もあります。 Androidのコードを自動で解析し、GitHubのpull requestにコメントするみたいにしておけば、CircleCI→GitHubのコメントをしてくれ、Slackと連携しておけば違反が可視化しやすそうです。 実現すること Ci
はじめに deselectRowAtIndexPath(indexPath: NSIndexPath, animated: Bool) UITableView上にあるセルの選択状態を解除するときに使うメソッドですが、 呼び場所を替えるだけでUXを大幅に改善することが出来ます。 経緯 アプリによってはセル押下後に画面遷移するにもかかわらず、 押下直後にdeselectRowAtIndexPathを呼ぶような挙動になっていたりします。 これは悪いことではないですが、画面遷移から戻ってきた時に セルの選択状態を解除してあげたほうがどのセルを押したのか ユーザーに視覚的に伝えることが出来るのでUX的に良いと思ったからです。 例 セル押下直後に解除 この方法だとどのセルを押したのかをユーザーは思い出さなければいけません。 遷移から戻ってきた時に解除 こちらはどのセルを押したのか視覚からはっきりと分か
海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 XcodeにはInterface Builderと呼ばれる、リッチなGUIを持ったデザインツールが付属しており、これを用いて画面のレイアウトを構成することが主流となっています。弊社ブログでも、iOS開発でstoryboardとxibをうまく使い分けるプラクティス等の記事で、GUIベースのレイアウトについて触れています。しかし、現在私が担当しているプロジェクトでは、Interface Builderを用いずに、レイアウトの大半をコードで記述しています。 今回は、コードベースのレイアウトを実装していく中で得た知見を、以下の3つの部分に分けて共有したいと思います。 Interface Builderを用いたレイアウトとコードベースの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く