Building Objective-C static libraries with categoriesQ: How do I fix "selector not recognized" runtime exceptions when trying to use category methods from a static library? A: If you're seeing a "selector not recognized" runtime exception when calling a category method that is implemented in a static library, you are hitting the link-time build issue described here, and need to add the -ObjC linke
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
本記事ではDevelopers.IO 2016 セッションB-3でRealm 岸川克己氏に発表いただきましたSwiftで書かれたコードのパフォーマンス・チューニングのレポートをお届けします。 はじめに 今回しない最適化の話 アルゴリズム メモリ 言語機能をつかった最適化の話をします。 自己紹介 Realmで働いています。 是非この後もRealmについて聞きに来てください。 SQLiteより高速で使いやすいです。 最適化の前に 早すぎる最適化は諸悪の根源である(Knuth先生: Art of computer Programming の著者) 最適化の前に計測する 可読性とのトレードオフ UITableViewとかでキャッシュをクリアするとかもあるある ソフトウェア 80 / 20 ルール (20%の実行コードが80%の実行時間を占めている) ありとあらゆるところを最適化しても効果は得られな
iOS9からのアプリ最適化の仕組みAppThinningのため、Xcode7 betaからはアプリへのbitcodeの埋め込みがデフォルトで有効になりました。 https://developer.apple.com/library/prerelease/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html http://qiita.com/usagimaru/items/cb19f283db4ac0cd8bd6 bitcodeとは何かを感じ取るためのエントリです。 続き Xcode7でのembed-bitcodeオプション http://qiita.com/gamako/items/4ebfd048c5aed4f68595 bitcodeとは LLVMのビルドフローは、ざっくり
I'm the author of popular Open Source Repositories "iOS7-Sampler" and "iOS8-Sampler". It gathered over 5,000 Stars on GitHub. Today, I've created watchOS-2-Sampler. It's including following 20 examples: Accelerometer Gyroscope Hand drawing with Core Graphics Audio Recording and Playback PickerStyles Taptic Engine Showing Alert Animations with Digital Crown etc...
View in English WWDC24 WWDC24 Special Events WWDC24 Special Events 104:04 Keynote WWDC24 104:04 Keynote (ASL) WWDC24 66:31 Platforms State of the Union WWDC24 66:31 Platforms State of the Union (ASL) WWDC24 2:43 18 things from WWDC24 WWDC24 More videos View the WWDC23 collection View the WWDC22 collection View the WWDC21 collection View the WWDC20 collection View the WWDC19 collection View the WWD
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Xcode6からSizeClassesという概念が加わったのと、AutoLayoutも微妙に変更されていて謎のMarginが出るようなので調査した結果をまとめました。 SizeClassesとは Xcode6からAutoLayoutに加え、SizeClassesという概念が加わりました。 Xcode5では、Universalアプリを作るには、iPhone向けとiPad向けのStoryboardをそれぞれ用意していましたが、Xcode6/iOS8からは、一つのStoryboard(あるいはXib)で対応させてしまおう、というのがSizeC
iQONのiOSアプリはまだ全てObjective-Cで記述されています。 Swiftへの移行については「たいしてパフォーマンスが上がるわけでもないし…」と思って渋っていました。 そんな中、オフィスの移転をきっかけに来客の受付システムをiPadアプリで作ることになりました。 スクラッチでアプリを作るのならSwiftで、ということでSwiftで作りました。 今回は、受付システムの社員...iQONのiOSアプリはまだ全てObjective-Cで記述されています。 Swiftへの移行については「たいしてパフォーマンスが上がるわけでもないし…」と思って渋っていました。 そんな中、オフィスの移転をきっかけに来客の受付システムをiPadアプリで作ることになりました。 スクラッチでアプリを作るのならSwiftで、ということでSwiftで作りました。 今回は、受付システムの社員を呼び出すデータ通
レスポンスはキャッシュされる NSURLConnectionでもAFNetworkingでも、レスポンスは設定によってはキャッシュされます httpのレスポンスコードを正しく返す必要があります。 サーバーからのjsonのレスポンス、画像のキャッシュの設定をしっかりみる必要があります 特に、普段返さないエラーページやメンテナンスページの設定を確認する必要あり バージョンコントロール 下位バージョンをサポートしないことで、インストールがかなり落ちます。 一度間違えて、7.1のときに7.0以降でなく7.1以降という設定でリリースして3割ほどインストールが落ちました cocoapodを利用している場合は、Podfileに書いているバージョンとprojectのバージョンに違いがあるかも注意する必要があります。 特定の7.0.2だけviewが崩れる問題などもありました iOSの細かい設定の違い カレン
「そんなん簡単やろ」と思いますよね。 たとえば、「UITextField 文字数制限」でググれば山のようにブログ記事やらコードが出てくるし、Stack Overflow に載ってるコードのコピペ一発で解決しそうに思えませんか? 実は文字数制限をつけたテキストフィールドはそんなに簡単な話ではないのです。 shouldChangeCharactersInRange:replacementString: は使えない子 今回はこれに尽きます。 UITextField や UITextView のデリゲートで呼ばれる textField:shouldChangeCharactersInRange:replacementString: やtextView:shouldChangeCharactersInRange:replacementString: は使ってはいけません。 より正確に言うと、使うとき
先日 Go MemoというiOSアプリをリリースしました。 「あとで行く」ためのアプリ、Go Memoをリリースしました Go Memoは週末4日間くらいで作ってリリースしたアプリなのですが、こうしてスピードを出せたのは便利なライブラリのおかげです。 この記事ではGo Memoで使ったライブラリを紹介しようと思います。 便利なiOSライブラリ AFNetworking 言わずとしれた定番ライブラリ。作者の mattt さんも非常に有名です。サーバーとのHTTP通信はほとんどこれに頼っていて、NSURLSession とか自分で書いてないです。 Go Memoでは foursquare API をたたく所で利用しています。 NSDictionary *params = ...; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOp
Objc-dependency-visualizerというOSSツールを使うと、アプリ内で使用している Objective-C クラスの依存関係をビジュアライズしてくれます。 試しに "iOS7 Sampler" でやってみると、こんな感じのを生成してくれました。 実行するのはrubyスクリプトで、依存関係だけが記述されているだけのシンプルなjsファイルが生成されます。 で、閲覧時にはリポジトリに同梱されている index.html 内のJavaScriptから、生成したjsファイルとビジュアライゼーション用 JavaScript ライブラリ「D3.js」を使用してビジュアライズされます。 そんなわけで、引っ張ったり特定の箇所にフォーカスしたり表示をいろいろカスタマイズしたりできます。 (SVProgressHUDにフォーカスした図) 使い方 GitHubからcloneしてきます。 git
こちらを参考にAVFoundationを使ったカメラを実装したのですが、このやり方だとどうもメモリを圧迫するということがわかりました。 iOSのカメラ機能を使う方法まとめ【13日目】 | Developers.IO カメラ機能を使うビューに移動→戻る、を繰り返すとだんだんと移動が重くなっていきます。1分以上反応しなかったりとか。Xcodeでモニタリングしているメモリ使用量も増え続けます。 調べてみると、viewDidLoadでセットアップを行ったAVFoundation系のオブジェクトを開放をしていないのが原因のようです。 先の記事ではセットアップメソッドsetupAVCaptureをviewDidLoadで呼んでいます。ビューの移動、戻るを繰り返すとviewDidLoadでひたすらsetupAVCaptureが呼ばれ続けるわけですね。多分ARCで開放してくれるんでしょうけど、実用上は自前
iOSのテストってぶっちゃけおざなりだったわけですが、サーバサイドはちゃんとテスト書いてるのにクライアントサイドだけ書かないとだんだん品質が不安になってくるわけです。 これまでも多少なりとも努力してきたつもりですが、iOSの場合、テスト書いといて良かったみたいなケースがこれまでまるでなくて、むしろAPIの動作確認のため書くみたいな。個人的に非常にしょぼい状況だったわけです。 ただXcode5でTest周りが強化され、かつ個人的にしっくり来るテストフレームワークの組み合わせが見つかったので、これでテンション上がってバリバリテスト書ける気がしてきたのでまとめてみました。 テンション上がらないと何にもできないっすもんね! KIFって あのカード決済のSquareが自社向けに作ったテストフレームワークです。 https://github.com/kif-framework/KIF 特徴としては以下
『iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿(※)を 20 個ほど紹介します。 (※) Facebook ページの insights にある「クチコミ度」で判断しました アプリ実行中にコードを修正してそのまま実行中のアプリに反映させる アプリ実行中にコードを修正してそのまま実行中のアプリに反映させることができるXcodeプラグイン。 実機でもシミュレータでも使用可能とのこと。実機での動作検証中に修正して再インストールは時間かかるので、超ありがたいかも。 Injection for Xcode 投稿:2013/2/4 「PCのwebブラウザからiPhoneのカメラロールにアクセスできるようにするアプリ」のしくみ アプリ側でURLを発行している画面キャプチャがあるので、アプリにHTTPサーバ機能をもたせて(古いけどCocoaH
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く