非エンジニアリング脳なデザイナーが新規アプリ開発の現場で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
2014年のWWDCでは、"Testing In Xcode 6"という講演で XCTestの変更点について、以下の通り説明されています。 * 互換性の向上 * 非同期テスト用APIの追加 * パフォーマンス評価用APIの追加 この記事では、非同期テスト用APIの追加・パフォーマンス評価用APIの追加について説明します。 非同期テスト用APIの追加 XCode6のXCTestでは、非同期テスト用のAPIが追加されました。 バックグラウンドで実行するような処理やネットワークのI/Oなど、非同期な振る舞いをテストするときに使えます。 書き方 非同期な処理を実行するときに、期待する処理が完了したタイミングでXCTestExpectationのfulfillを呼び出すよう実装します。 そのときにテストケース側ではwaitForExpectationsWithTimeout:を呼び出して、期待する処
TimeProfilerとはXcodeのInstrumentsに含まれているプロファイリング用のツールです。 Instrumentsユーザガイド XcodeでProfileビルドをすると、Instrumentsが立ち上がって選択できます。 TimeProfilerを立ち上げると、上部トレースデータが表示されていますが、今回の主役は下部にあるCall Treeです。 初期の設定だとシステムのメソッドなども混ざってとてもわかにくいので、上記の設定にチェックを入れておくと 作成したメソッドだけになるので見やすくなると思います。 TimeProfilerの使い方 | eラーニングをすべての人に!blog.eラーニング.co.jp これで、準備は出来たので後はアプリを触っていて重たい感じのするを見ていけば、Call Treeにメソッド毎の処理時間や処理の割合が表示されます。 例として、カレンダー画面
archiveのときだけ実行したい aggregateをtargetに追加する。(Editor > Add Target) 追加したaggregateのBuild Phasesにrun scriptを追加する schemaを変更してarchive時だけ、targetを実行する もともと、crashlyitcsのrun scriptをarchiveのときだけ実行したかったので、上のようにaggregateを作成して実装したけど、ダメだった。。理由は、build settingを見てcrashlyitcsのrun scriptは実行されるから。 buildsettingに関係なく実行するscriptで、archiveのときだけ実行したいならいいかもしれない configurationがReleaseの時だけ実行したい これでも毎回buildすることはなくなる releaseConfig="Re
こんにちは、@cutmailです. 365日Xcode触ってますか? はじめに Xcodeはそのまま使ってもいいですが、いくつかの便利なプラグインを入れてみるとより開発がしやすくなるかもしれません。 プラグインは入れ過ぎるとXcodeが重くなったりするかもしれませんので、必要なもののみインストールしたほうがよいかと思われます。 XVim Vimmerのための、XcodeでVimのキーバインドが使えるようになるプラグイン https://github.com/JugglerShu/XVim XTodo TODOや、FIXMEなどのコード内の注釈を抜き出して表示してくれるプラグイン https://github.com/trawor/XToDo XAlign コードを自動的に整列するプラグイン https://github.com/qfish/XAlign ShowInGitHub 選択した行
注意 この記事の内容は古くなってしまっています。 内容をアップデートした記事はこちらにあります。(2016/12/29 更新) はじめに 起動ディスクの空きスペースが10GBを下回っていたので、以下のページを参考にどのファイルがたくさんのディスク容量を使っているのかを調べてみました。 ハードディスクの空き容量が極端に少なくなる場合の対処方法 どうやらXcode関連のファイルがたくさんのディスク容量を使っているようだったので、以下の場所を確認してみました。 (実際にファイルを削除する場合は自己責任でお願いします。) Archives アプリ申請時や配布用のipa作成時などにProduct -> Archiveを実行しますが、その時に作成されるデータが以下の場所にあります。XcodeのOrganizerのArchivesタブからも確認できます。 ~/Library/Developer/Xcod
これからはベクターでアセットを管理!? Asset Catalog では、これまでビットマップ画像しか取り扱うことはできませんでしたが、Xcode 6 からは PDF 形式 と JPEG 形式 がサポートされました。特に新しいのが ベクターが扱えるようになったという点です! ベクターが扱えるようになったということは、いままでのように Retina や Non Retina で別々の画像を用意する必要がなくなったり、イメージを複数のサイズの View に配置したいときに1つのファイルだけ用意すれば良くなるということです。これはきっとプログラマーにとってもデザイナーにとっても嬉しいことですね! ということで使ってみました。 Asset Catalog でベクターを扱うには PDF 形式のアセットデータを用意する Asset Catalog でベクターとして認識できるのは PDF 形式のファイル
最近、Xcodeの静的解析機能が面白いので、iPhone開発時によく使うようになった。以前は別途インストールしたclang analyzerを使っていたけれど、今はXcodeの“Build and Analyze”メニューから呼び出せるので手軽だ。 Running the analyzer within Xcode この静的解析機能を使うと、興味深い指摘をしてくれるのでいろいろ試してみた。開発環境は下記の通り。 MacOS X 10.6.4 (Snow Leopard) Xcode 3.2.4 メモリリークの可能性 下記のコードを解析させると、「アナライザ結果」として"Potential leak of an object allocated on line ..."が指摘される。 - (NSString*)test1 { NSString *data = [[NSString alloc
※1 ログの表示はXcode版の方が見やすくなっています。 概要[Summary] テスト[Test] コミット[Commit] はほぼ一緒。アーカイブ[Archive]に関しては成功していないのでわからないが、多分そんなに使い勝手に差はないと思います。 ブラウザ版 - 生ログです Xcode版 - 整形されています ブラウザ版では Big Screen というビューがあります イメージ的にはちらっと見える位置にある、チームで共有している大きなモニターに常にテストとビルド状況が表示されているお洒落なサマリ。そんな感じです。これをワインを片手に眺めるのが iOS開発の新しいスタイルになりそうです。 まとめ ブラウザ版はXcode版の簡易版かと思ってましたが実はそうではなく、機能的にはむしろCIされているプロジェクト全体を見れる分、ブラウザ版の方が高機能でした。開発者はXcode版、コードは書
はじめに Xcode 5 から Bots という名前で CI (Continuous Integration) 機能が追加されました。CIといえば今まで Jenkins など Apple 以外のツールを使っていたケースも多いと思いますが、Apple 純正のツールが出てきた事で開発者にとっては気になる存在になると思います。 既存のツールを置き換えになるのか、又は併用できるのかも気になります。 まずは動作させるまでのセットアップをしてみます。 必要なもの Mac OS X Mavericks Mac OS X Server Xcode 5 Mac OS X Server 今回初めて触りましたが、使ったことある人は結構レアなんじゃないかと思ってます。 Mac OS X Serverという名前のOSかと思ってましたが、実際の形式はアプリケーションでした。Mac App Storeからイントール可能
まえおき 前回の記事でお伝えしたように、Xcode プラグインは Appleが公式でサポートしている機能ではありません。言い換えると、Xcode に関連するクラスの API が公開されていない上、いつ変更されるかわからない、ということになります。Xcode 4 のプラグインが Xcode 5 で動作しないのは、それが問題であることが多いです。 このように、Xcode プラグインを開発する上では、これらの公開されていない API を知る必要があります。 この記事では、Common Xcode4 Plugin Techniques » BlackDog Foundry を参考に、プラグイン開発の Tips や、Xcode で発行される通知や関連するクラスを把握する方法を解説します。 Xcode プラグインはシングルトンで作成する 既に公開されている Xcode プラグインでは、Xcode プラ
Xcode の便利プラグインまとめ はじめに Xcode 8 からのいわゆる Xcode Source Editor Extension ではなく、あくまで非公式のプラグインを掲載します。 インストール先は ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ Alcatraz などのパッケージマネージャを使うと管理が楽 Xcode の更新でプラグインが使えなくなる事もあるので注意 "DVTPlugInCompatibilityUUID" を追記する事で対応出来る場合もある(後述) 管理 Alcatraz Xcode プラグインや Color Scheme などを管理するパッケージマネージャ。これを入れておけばこの記事を見なくてもだいたいのプラグインは参照できます。 メニューバー > Window > Package
2014年9月22日追記 Xcode6の正式版がリリースされApp Storeからインストール可能になりました。 詳細は「Xcode6の正式版がリリースされApp Storeからダウンロードしインストール可能になりました。」をご覧ください。 今年もアップルの開発者イベントWWDC 2014(2014年6月2日〜6日)が開催されました。 もう2週間以上前ですね、確かにそんなお知らせのメールは来ていましたが・・・ ・「xcode 6 beta 3」からはApple Developerにさえ登録していればダウンロード可能となりました。 ・2014年9月10日から「Xcode 6 GM seed」がダウンロード可能となっていますのでこちらを利用したい方はXcode 6 GM seedのダウンロード先からダウンロード後にインストールしてください。 「アップル、新プログラミング言語Swiftを発表。レ
Mac Dev Center: Core Data Programming Guide: Core Data Performance この中の "Analyzing Fetch Behavior with SQLite" に、コマンドライン引数に次を指定すると CoreDataから SQLite へ発行される SQL をデバッグ出力できるとの記述があった。 -com.apple.CoreData.SQLDebug 1 やってみよう。 実行可能ファイルの設定を開く。 「起動時に渡される引数」に上記の引数を追加する。 実行する。以下、例。 2009-10-05 06:50:48.557 OneLiner[1202:207] CoreData: sql: SELECT COUNT(*) FROM ZMEMO t0 2009-10-05 06:50:48.558 OneLiner[1202:207
アプリを作っている途中で、クラス名・メソッド名・変数名を変えたくなることがあります。 以前は、手動でリネームしていたのですが、Xcode に自動リネーム機能(リファクタリング機能)があるのを知ってから、こちらを使用しています。 今回の記事では、そのリファクタリング機能の使い方を紹介します。 リファクタリング機能の使い方 任意のクラス名・メソッド名・変数名を範囲選択します。右クリック → [Refactor] → [Rename…] を選択します。 ダイアログが表示されます。置き換えたい名前を入力して、[Preview] を選択します。 リネームに影響のあるファイルが一覧で表示されます。よろしければ、[Save] を選択します。 もしプロジェクトが変になった時の場合、元に戻せるようにスナップショットを取るか確認がでるので、[Enable] を選択します。これで完了です。 Android Ar
今日は、iPhone開発ネタのうち、CoreDataのお話です。 CoreDataを用いたデータの永続化は、多くのアプリで行われていると思います。 しかし、一度テーブル定義を行ってから、その後テーブル定義変更を行い、その後アプリを 実行するとエラーが。そのエラーを発生させず、定義変更後にデータを移行する方法を 今日は書きたいと思います。 CoreDataのデータ移行(マイグレーション)の必要性 私がリリースしているiPhoneアプリの中に、出費管理を行う Pocket.Money.Managementがあります。 このアプリでは、出費情報(日付、内容、金額)をCoreDataを用いて保存して、参照するアプリです。 既にリリースしているのですが、このたびテーブルを一つ追加したいと思いました。 その際に、既に定義済みの定義ファイルを変更すると以下のようなエラーが発生します。 2012-05-0
きれいめ系iOSプログラマのためのモテXcode5コーデ術(Uncrustify, VVDocumenter)Objective-CiPhoneXcode こんにちは。haranicleです。 今回は、きれいなソースコードを生産したい「きれいめ系プログラマ」な皆さんのために、 コードフォーマッタの設定とコメントの記述を助けてくれるXcodeのプラグインを紹介します。 ※Xcode5.1で使用する場合は、以下のように設定してください。(2014/04/06追記) iOSモテコーデ術Xcode5.1対応 コードフォーマッタ 開発メンバが多かったり、期間が長いプロジェクトだとコードフォーマットがバラバラでイケてないソースコードが生産されがちです。 モテなソースコードを生産するために、コードフォーマットを決めて自動で整形してあげましょう。 今回は以下を実現します。 Xcode5でビルドに成功したタ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く