My unit test environment for Objective-C. - The test for asynchronous processes - Matcher - CUI & Guard - Coverage

Conference With Developers 2 | Peatix 自分はiOSデベロッパーとして大した経験や実績があるわけではないのですが、 公開しているライブラリの数はかなり多い方のなので、そこで得られた知識を話そうと思いました。 トーク中は聴いている人のリアクションを気にする余裕もなかったのですが、 あとからTwitterのタイムラインを読んでみると、良い反応をしてくれている方もいたようで嬉しかったです。 今回の発表ではどのトピックも詳細に立ち入ることが難しかったので、いつか文章でしっかりとまとめられるといいなと思いました。 トークの準備 大勢の前で45分も話し続けるのは初めてだったので、どうやって準備したらいいものか悩みました。 スライドをつくりながらトークの内容を練るのは難しそうだったので、はじめはmarkdownで適当な文章を書いて、 そこからの大事な単語や文を拾ってき
iOSシミュレータの日本語フォントが変になっちゃったときの対処法 – らっこのじゆうちょう こちらの記事にある通り、日本語よりも中国語が優先されていると日本語のフォントがおかしくなってしまうのですが、設定画面から日本語に設定し直すのはちょっとだけ面倒です。 Arguments Passes On Launchに以下の値を設定しておくと、必ず日本語に設定された状態でアプリが立ち上がるので、付き合いが長いプロジェクトでは設定しておくと楽かもしれません。 1 -AppleLanguages (ja) 参考: iOS – Launch Arguments を使った一つ上の NSLocalizedString – Qiita
FMDBを使ってSQLiteをさわろうと思って色々と調べてたら次のメソッドを発見。 kvcMagic!!! なんとも怪しげな名前ではないですか。 実はこのメソッド、 Cocoa の Key-Value Coding を利用して SQL実行結果を、引数で渡したオブジェクトに突っ込んでくれるのです。 - (void)kvcMagic:(id)object { int columnCount = sqlite3_column_count([_statement statement]); int columnIdx = 0; for (columnIdx = 0; columnIdx < columnCount; columnIdx++) { const char *c = (const char *)sqlite3_column_text([_statement statement], colu
Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門:iOSアプリ開発でもCI/継続的デリバリしようぜ(2)(1/4 ページ) 現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。今回は、iOSアプリの機能の振る舞いをテストするテスティングフレームワークの特長とインストールの仕方、主な使い方を解説します。 前回の「iOSアプリ開発でCI/継続的デリバリ環境を始めるための4種の神器」では、CI/継続的デリバリ環境を構築するために必要なツール・サービスを紹介しました。 今回はiOSアプリのためのテスティングフレームワークの1つである「Kiwi(キウィ)」を使った振る舞いテストの書き方について解説します。 振る舞いをテストするテスティングフレームワーク「Kiwi」とは KiwiはiOSアプリケーションの機能の振る
About the security content of iOS 7.1 This document describes the security content of iOS 7.1. For the protection of our customers, Apple does not disclose, discuss, or confirm security issues until a full investigation has occurred and any necessary patches or releases are available. To learn more about Apple Product Security, see the Apple Product Security website. For information about the Appl
iOSへプッシュ通知の情報は認証鍵を作ったり、鯖側の処理だったりが多いのでiPhoneに通知が送られてきた後の処理についてかこうかと思います。 認証鍵の開発環境、本番環境もDeveloperCenterのUI変更等でちょっとわかりづらい部分が増えてきたんで時間があればそっちも後日まとめます。 ひとまず、認証鍵の作成等はこちらのブログを参考にしてください。 phpでiphoneのpush通知&APNS鍵作成 Push Notificationの実装方法 今回はデバイストークンの取得が終了し、サーバからのPush通知が送られてきている前提で話を進めます。 やりたい事はプッシュ通知からアプリに入った場合 ・ロック画面でのプッシュ通知スライドによるアプリの起動後の処理 ・起動中プッシュ通知タップでのアプリ起動後の処理 等のSNSアプリでよくある、プッシュ起動後の画面遷移とかホップアップ表示の方法で
Appleが提供しているプログラミングガイドは全部読んだほうがいいなーと思っています。 目下、興味のあるところから順次読み込み中。 今回は[PDF] Core Animationプログラミングガイドを読んだので、覚えておいたほうがいいところとかをピックアップし、自分なりの考察なんかを加えて書いています。 UIView/CALayerの基本構造 画面になにかを表示しようとした時、使うのはUIViewかそのサブクラスを使うのが通常です。 addSubview:メソッドなど使って階層構造を成して構築していきますね。 普通はUIViewを使えば問題ありませんが、描画のパフォーマンスやちょっとした細かい演出などをしたい場合はCALayerを利用します。 やはりどういう構造になって画面に表示されているか、を知るのは大事なことですね。 UIViewは通常、レンダリング周りを担当するCALayerクラスを
by @mixiappwchr iOSで開発する上で見ておくべきサービスやツールをまとめてみました。 ほかにもたくさんあると思いますが、基本的なやつを集めました。 アプリ配布 depolygate https://deploygate.com/?locale=ja 旧TestFlightがオワコンのため、今ではDeployGateを使うしかありません! まだTestFlight使ってたの?急げ!終了目前のTestFlightから,今すぐにiOSもDeployGateに移行しよう!移行パターンも紹介するよ。 CI Circle CI https://circleci.com/ iOS対応されアプリもクラウドでCI クラッシュログ Crittercism https://www.crittercism.com/ ユーザービリティテスト Repro https://repro.io/ リモートで
画像を表示しようとしたら遅いよ! 外部データを取ってきて表示するときにまずはまるのが画像の処理だと思います。非同期で必ず処理しましょう。 画像の非同期ロードはライブラリを使った方が早いと思います。 ヘッダーやフッタをつけたいよ! tableView.tableHeaderView tableView.tableFooterView に突っ込む方法を書いてあるのが多いんですが、今回はもっと簡単な方法としてStoryboardなどでこれらのビューを直接突っ込んで管理できるのでおすすめ。 テーブルビューの上や下にUIViewをドラッグすると UIViewをIB上で直接追加できます。 後はIBでレイアウトをくめばok 使用するクラス、フレームワーク、ライブラリ ビュー UITableViewController https://developer.apple.com/library/ios/doc
Androidアプリ配布プラットフォームのDeployGateが、ついにiOSアプリ配布対応されました! 早速使ってみたのでその流れをメモしておきます。 まずはDeployGateのページでアカウント作成。 Githubアカウントでアカウント作成できるのがcoolでgeekですね。 ログインするとダッシュボード画面が表示されるので、左下の「アップロード」ボタンからおもむろにipaファイルをアップロードします。 アップロードボタンはAndroid版と共通なのですね。 すると、登録したメールアドレスにメールが届くので、開発端末でメールを開きます。 メールの中にリンクがあるので、このリンクをsafariで開くと、アプリのインストール画面が開きます。 この時、端末とアプリの配布管理のための構成プロファイルがインストールされていないのでインストールされます。 構成プロファイルインストール後、このリン
米FireEyeは、iOS 7に不正アプリを使ってユーザーの端末操作を監視できる脆弱性があると同社公式ブログで発表した。脆弱性を悪用されると、ユーザーの入力した情報が流出する恐れがある。 同社は脆弱性を検証するために、iOS 7搭載のiPhone 5s内にユーザーが入力した情報をバックグラウンドで監視するアプリを作成した。検証用のデモでは、不正アプリを使ってタッチパネル、ホームボタン、音量ボタンなどの操作を記録し、外部サーバーに送信できることを確認した。 今回検証を行ったのは、iOS 7.0.4を搭載したiPhone 5sだが、iOS 7.0.5/7.0.6、iOS 6.1.xを搭載したiPhoneにも同様の脆弱性があるという。同社は、これらの脆弱性を悪用されると、ユーザーの情報が流出する恐れがあるとしている。 脆弱性に対する対処法として、同社は「iOS タスクマネージャー」を使ってバック
前回は、クラスを表す型Classが、obc_class構造体であることを説明した。今回は、実際にこの構造体の中身を触ってみることにしよう。Objective-Cというプログラミング言語は、ランタイムの記述言語であるC言語を完全に含んでいるため、簡単に自分の中身にアクセスすることができる。 Class型を取得する まず、Class型を取り出すことから始めよう。ランタイムにまで目を向けたおかげで、Class型もいろいろな方法で取り出すことができるようになる。 Objective-cでは、これまで説明してきたように、Classメソッドを使ってClass型を取得する。Classメソッドは、ルートクラスであるNSObjectで定義されているメソッドであり、すべてのインスタンスオブジェクトからClass型を取り出すことができる。また、クラスオブジェクトから取り出す、クラスメソッドとしてのClassもあ
ヤフー vs クラスメソッド「iOS 炎の7番勝負」でXcode プラグインについて話しました この記事は、ヤフー vs クラスメソッド「iOS 炎の7番勝負」で話した「Xcodeプラグインで快適な開発ライフを」の補足記事になります。 まえおき IDEとプラグイン プラグインって聞くと Eclipse を連想される方が多いかと思います。Eclipse だとそもそも言語用のプラグインやらバージョン管理(git、SVN)やら開発に最低限必要なものがプラグインとして提供されています。なので、Eclipse にとってプラグインはなくてはならない存在と言えます。 Xcodeとプラグイン Xcode は非常に優秀な IDE で、プラグインを入れなくても iOS 開発に最低限必要なものはほとんど揃っています。なので Xcode では、Eclipse のようにプラグインを入れる必要はありません(決して E
アプリによってはユーザーの入力値をバリデーションする必要がある場合があります。今回はバリデーションを行うタイミングについて書きたいと思います。 今回は以下のようなアカウント情報入力画面を考えてみます。 UITextField が画面に表示されている NavigationBar には「保存」ボタンが設置されている 入力値が「カラ」もしくは「空白文字」以外の場合を正常な入力とする UITextField への入力値が不正な値の場合には「保存」ボタンを無効化する UITextField のデリゲートでは不十分? UISearchBarDelegate には以下のような入力後に呼ばれるデリゲートメソッドがあります。 - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText しかし、UITextFi
In Part 1 of this tutorial series looking at iOS 7 best practices, you set up your project with Cocoapods, added views to the controller and laid them out, and finally built models to reflect the weather data you will be fetching. In the second and final part of this tutorial series, you’ll fill out the rest of the app to fetch data from the weather API and then wire up the UI. You’ll be exposed t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く