まったく未知の読書体験をしてみよう | fladdict上の記事で紹介されている読書体験をいつか試そうと思ったまま試さずに2ヶ月以上経ってしまったのだが、先ほどiBooksでEPUB形式のO'ReillyのeBooksを読んでいるときに、ふと思いつきでテーマを「夜間」にして…
Xcodeに標準でついてくるNetwork Link Conditionerという帯域制限アプリが次の記事で紹介されていたので試してみた。 標準で付いてくる開発用ネットワーク帯域制限アプリ | Cocoaの日々情報局 導入方法 /Developer/Applications/Utilities/Network Link Cond…
Xcodeをv4.3.1に更新した後あたりで気がついたのだが、デバッグ中にbreakpointで停止すると、該当箇所のソースコードではなくアセンブリコードが必ず表示されるようになってしまっていた。一応breakpointを設定したあたりで停止しているようなのだが、ステッ…
Mac App StoreでiOS 5.1に対応したXcode v4.3.1が公開されたので、さっそくインストールしてみた。 アップデート手順 Mac App Storeの「アップデート」タブからXcodeのアップデートを開始。アップデート完了後、Xcodeを起動すると初回起動時には「Xcode Comp…
実機やシミュレータでiOS Appのデバッグをしようとすると、Appの起動前に次のようなエラーメッセージが出てAppが実行できないことがある。 Couldn't register App Identifier with the bootstrap server. Error: unknown error code. This generally means t…
カテゴリの定義を含むStatic Libraryを使用すると、そのカテゴリで定義しているメソッドを呼び出すところで例外が発生してプログラムがクラッシュしてしまうことがあった。原因を調べてみたところ、まさに次の記事で説明している通り、リンカフラグに "-ObjC…
Xcode v4.3からXcode.appのパスが変わった*1ため、xcodebuildコマンドでエラーが発生することがある。このときには、xcode-selectコマンドでXcode.appのパスを指定するとよいとのこと。 参考 xcodebuildにXcodeの場所が変わったことを教える - Hello, world!…
Xcode v4.3がMac App Storeで公開されたので、v4.2.1からv4.3に更新することにした。*1Mac App StoreでXcode*2についての「無料」ボタンを押下するとボタンの表示が「Appをインストール」に変化する。この状態のボタンをさらに押下すると(認証が行われてい…
アドレス帳情報にアクセスする前にユーザに許可を求め、許可が得られたらハッシュ化した連絡先情報を使用する。MITライセンス。crossforward/HashedContacts · GitHub
NSFetchRequestクラスのインスタンスメソッドexecuteFetchRequest:error:によってフェッチ処理を行うことができる。フェッチ結果は配列(NSArrayオブジェクト)形式で得られる。この配列の各要素はデフォルトではNSManagedObjectオブジェクトだが、フェッチ…
Xcode 4.2でBTServerのCPU使用率が非常に高くなる問題 以前、Mac OS X 10.6.8 + Xcode 4.2の環境下でBTServerのCPU使用率が非常に高くなる件について記事を書いた。 Xcode 4.2付属のiOSシミュレータを起動し続けるとBTServerのCPU使用率が非常に高くなる(追…
iOS Appが通話履歴情報にアクセスする方法がないか調べてみたら、このような情報を発見。 Accessing iPhone Call History | Bushra Shahid's iOS stuff ios - How to get call history from iphone? - Stack Overflow iOS5より前のバージョンのiOSでは次のフ…
Managed Object Contextはスレッドセーフではない Core Dataを利用するiOS Appの処理の一部をマルチスレッド実行するように修正したところ、実行時エラーが発生して強制終了するようになってしまった。このときデバッグコンソールには次のようなメッセージが…
あけましておめでとうございます。本年もよろしくお願いいたします。一年の計は元旦にありというけれど、今年の抱負を語る前に、自分が昨年の年始にどのようなことを言っていたのかを振り返ってみることにする。その時点での考えとその後の1年の流れをふまえ…
普段はiOS Appばかり書いているのだけれど、たまにMac Appを書く機会がある。iOS Libraryとは勝手が違う部分のあるMac OS X Libraryに少々戸惑いつつも、本を読んだりネットで調べ物をしたりしながら書く。先日、参考にしていたソースコードでNSLogで出力す…
Snow LeopardからLionにアップデートしてXcode 4.2.1がインストール可能に 本日、ようやくMac OS XをSnow LeopardからLionにアップデート。Snow Leopard時代には既にXcode 4.2をインストールして使用していたのだが、Xcodeはバージョン4.2.1からSnow Leopard…
ツイート機能の実装が容易になった iOS5でiOS SDKに追加されたTwitter Frameworkを使うと、Twitter APIを利用するiOS Appを簡単に作成することができる。従来はTwitter社にxAuth利用申請を行うなどの事前準備が必要だったが、このTwitter Frameworkを使用す…
Storyboardを使用することによって、1つのファイルで複数のViewの内部構成や各View間の遷移する様子を設計することができる。ところが、Viewの数が多いプロジェクトでは、1つのStoryboardでそれらのViewを一括管理しようとすると、従来のXibファイルを用いた…
Appの通信機能が正しく実装されているかを確認上では、通信速度が著しく低い場合や、通信が途中で途切れる場合の対処までもを確認しなければならない。ところが、確認のために理想の通信状況を用意しなければならないので、実機で確認することは難しい。App…
iOS 5.0より前のバージョンのiOS SDKではUI要素の外見をカスタマイズするためには、 各オブジェクトごとにプロパティの変更等の個別設定を行う サブクラス化してdrawRect:をオーバーライドする などの方法をとらなければらななかったが、iOS 5.0では各種UI要…
Xcodeでビルドと実行した際に立ち上げたiOSシミュレータをそのまま起動しっぱなしにしておくと、BTServerというプロセスのCPU使用率が100%近くに達してMacのファンがうなりをあげる。発生した環境は次のとおり。 Mac OS X 10.6.8 Xcode 4.2 (Build 4C199)*…
iOS 5 SDKで「Storyboard」が新登場した。新規プロジェクト作成の際に「Use Storyboard」というラベルのついたチェックボックスが表示される。ここにチェックを入れてプロジェクトを作成すると、そのプロジェクトにはデフォルトで「MainStoryboard.storyboar…
iOS 5.0ではUIActivityIndicatorViewが表示されなくなることがある UIActivityIndicatorViewを使用しているプロジェクトをXcode 4.1以前で作成し、そのプロジェクトをXcode 4.2でiOS 5.0向けにビルド・実行すると、UIActivityIndicatorViewが表示されないこ…
半年に1度くらいしてしまうミス。二度としないと誓いながらメモ。Localizable.stirngsを編集した後でビルドすると、次のようなエラーが出ることがある。 error: validation failed: The data couldn’t be read because it has been corrupted. ファイルが壊…
エラー内容 Xcode*1でBuilding SettingsのCode Signingを変更した後で実機(iPod touch / iPhone / iPad)を対象として「ビルドと実行」をすると、ビルドに成功しデバイスにAppがインストールされたところで次のようなエラーダイアログが表示され、Xcode経由…
Xcodeのプロジェクトにファイルを追加した後でビルドを行うと、次のような警告が大量に出てしまうことがあった。*1 Check dependencies [WARN]Warning: Multiple build commands for output file /Users/____/Library/Developer/Xcode/DerivedData/____/Buil…
Quartz 2Dの関数、CGContextTransformCTM, CGContextRotateCTM, CGContextScaleCTMなどに含まれる「CTM」とは一体何なのだろうか。調べてみると、Quartz 2Dで描画する上で前提となる2つの座標系(デバイス空間/ユーザ空間)やユーザ空間の変換の話に行き着く…
XcodeでXibファイルのローカライズを行う方法。*1Xcodeでローカライズ対象のXibファイルを選択してアクティブにしている状態で、File Inspactorの「Localization」セクションにある「+」および「-」ボタンを押下することにより、ローカライズを行うことがで…
UIWebViewを使用する上での簡単な注意点をいくつか。 UIWebViewオブジェクトはリリース前にdelegateにnilを設定しておくこと リリース前にdelegateにnilを設定しておく必要があるのは、次のページで詳細に説明されているように、UIWebViewのロード処理が別ス…
Xcode*1でビルドして実行しようとしたとき、Appが立ち上がる直前くらいのタイミングで「putpkt: write failed: Broken pipe」というエラーダイアログが表示され、Appが実行できなくなることがあった。デバイス側でいったんAppを削除したり、Xcode側でクリー…