サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
paraches.hatenadiary.org
iOS 6 対応しようと思い、Xcode 4.5 を使って CorePlot を使ったアプリケーションをビルドしようとしたらリンカでエラーが出た…。 ld: file is universal (2 slices) but does not contain a(n) armv7s slice: /Users/.../CorePlot/libCorePlot-CocoaTouch.a for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)armv7s 用のコードが入ってないって…。 Xcode 4.5 から出てきた新しいアーキテクチャの armv7s 用のコードは、Xcode 4.5 がリリースされる前に出ていた CorePlot のライブラ
iOS 6以前の「ねむスタ」ではこんな感じで各タブのビューを回転させるかさせないかを決めていた。 MyTabBarController.m - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { if (self.tabBarController.selectedIndex==1) { return YES; } return NO; }仕様としては、左から2番目のタブだけ回転対応で、それ以外は回転しない。 なので、タブの selectedIndex が 1 の時だけ YES を返していた。 ここでは全部の”向き”について YES を返しているけど、回転できる”向き”は Info.plist(Xcode の TARGETS の Summary タブにある
CentOS 6 で Ricty フォントを作成してみたら面倒なことになったのでメモ。 前回の CentOS 5.6 では、yum でインストールできないので FontForge を自分でビルドしなければならなかったけど、今回は yum で一発インストールできて楽チン! [paraches@localhost myTest]$ sudo yum install fontforge <省略> Installed: fontforge.x86_64 0:20090622-2.1.el6 Dependency Installed: ImageMagick.x86_64 0:6.5.4.7-5.el6 autotrace.x86_64 0:0.31.1-25.el6 libuninameslist.x86_64 0:20080409-3.1.el6 Complete! [paraches@loca
方法はココにある方法をほぼそのまま使って、ボタンのハイライトなんかもそれらしく設定。 ボタンはクラス変数で持って、キーボードが隠れる時の処理に UIKeyboardWillHideNotification を使ってみた。 あと、アニメーションはブロックにして completion でボタンを Superview から剥がしてる。 とにかく肝なのはボタンをどのウィンドウのどの位置に貼るか?って事で、それは前出のページでしっかり調べられているので楽チンだった。 それぞれのコードはこんな感じ。 interface部 @interface ViewController : UIViewController { IBOutlet UITextField *textField; UIButton *doneButton; } @endNotification の登録 - (void)viewWillA
Xcodeでブレークポイント置いてデバッガに入って変数の中身を確認したりしてみたのでメモ。 こんな簡単なことでもすぐに忘れちゃうから…。 参考にしたのはこのサイト。 furbo.org · Debugging Core Data Objects とりあえず適当にブレークポイントを置いて lldb のコマンドラインへ。 今回はあり気なこんなコードの所に置いてみた。 NSManagedObject *mobj = [self.fetchedResultsController objectAtIndexPath:indexPath];で、このオブジェクトの中身だけど、lldb のコマンドラインでこんな感じでサックリ中身が見られる。 (lldb) po mobj (NSManagedObject *) $10 = 0x087900e0 <DaySleep: 0x87900e0> (entity:
昨日で X,Y軸とかグラフの外枠の部分はできた。 今日はグラフの中身を作って最初のサンプルは終了。 Core-Plot では、棒グラフの棒や線グラフの線などのグラフの中身は CPTPlot というクラスになる。で、棒グラフや線グラフ用に専用のクラスが用意されてる。 棒グラフ 円グラフ 線グラフ CPTBarPlot CPTPieChart CPTScatterPlot 範囲グラフ? 売買グラフ? CPTRangePlot CPTTradingRangePlot 範囲グラフ?と売買グラフ?は日本語でなんて言うのか知らないのだけど、まぁ上記5種類が用意されている。 線グラフは線を引かなければ散布図になるし、これら5種類で大体のグラフは描けると思う。 今回は棒グラフなので CPTBarPlot を使う。 特に何も設定しないとこんな感じ。 // First bar plot CPTBarPlot
iOS アプリケーション開発する際に、iOS シミュレータが欠かせない存在になっている人は多いと思います。 自分もまずは iOS シミュレータで動作させてみて、それから実機に持っていくタイプです。 しかし、ネットワークにアクセスするアプリケーションの場合、iOS シミュレータのネットワーク速度が速過ぎて動作確認に支障を来す場合があります。 そんな時には MacOS X 用にリリースされている「SpeedLimit」システム環境設定を使って、Mac のネットワーク速度そのものを遅くしてしまうという方法で iOS シミュレータのネットワーク速度を遅くすることができます。 SpeedLimit は下記のページからダウンロードできます。 machrag@github 上記ページにアクセス後、Download をクリックして SpeedLimit.prePane.zip をダウンロード。 ダウンロー
まずは Mac OS X Lion に最新の Mercurial をインストールするところから。 Mercurialの本家から今だと v2.2.1 がダウンロードできる。 ダウンロードしたら Mercurial-2.2.1-py2.7-macosx10.7.zip をダブルクリックして展開。 フォルダの中の mercurial-2.2.1+20120504-py2.7-macosx10.7.mpkg をダブルクリックしてインストーラを起動する。 後はインストーラの手順に従えば OK。 ターミナルで確認するとこんな感じ。 paraches-no-Mac:~ paraches$ hg Mercurial - 分散構成管理ツール 基本コマンド: add 指定ファイルの追加登録予約 annotate ファイル行毎のリビジョン情報表示 clone 既存リポジトリの複製 commit 指定ファイルない
今まで動いていた Django 1.3.1 での settings.py の Middleware の部分はこんな感じ。 MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfResponseMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', )確か「dj
NSDateFormatter を使って現在の時間を 24時間表記の文字列で欲しいと思った。 で、こんなコードにしてみた。 NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; [formatter setDateFormat:@"HH mm ss"]; NSString *todayString = [formatter stringFromDate:[NSDate date]];普段、自分の iPhone は「設定」-「一般」-「日付と時刻」の「24時間表示」を「オン」にして使っているので、上記のコードで返ってきたのは例えば 12時34分56秒なら「12 34 56」という文字列。 だけ
iPhoneアプリの開発をするのに面倒なのが証明書関係。 キーチェーンであれこれ、iOS Provisioning Portal に行ってあれこれ、頭がこんがらがりそう! 前までは MobileMe がキーチェーンのシンクもやってくれていたので、特に問題なくできていたのに!!! というわけで、既にメインマシンでの開発はできていて、2台目以降の Mac で開発を行う場合の手順を、Xcode 4.3.1 を使って説明。(というか自分用のメモ。) まずは既に開発に使っている Mac で秘密鍵を準備します。 アプリケーションのユーティリティフォルダにある「キーチェーン」を起動して、左の分類リストから「証明書」を選択。 下記の2つの証明書から秘密鍵を書き出します。 iPhone Developer:xxxxxx iPhone Distribution:xxxxxx xxxxxx はアカウント名(だと
NSJSONSerialization のリファレンスを見るとわかるけどクラスメソッドが全部で5つあるだけ! JSON オブジェクトを作る方法が2つ、JSON データを作る方法が2つ。それぞれストリームおよびデータを使う方法がある。 そして最後の1つは JSON オブジェクトを JSON データに変換できるかどうかを確認してくれる。 昨日のコードを NSJSONSerialization で書き直すとこんな感じ。 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.11.3/jsonReplySample.json"]]; NSData *json_data = [NSURLConnection sendSynchronousRequest:request re
新しいサイトを作ろうと思ったのだけど、折角だからなにか新しいことしてみたいと。 そんなわけで今回は nginx と Wordpress を使ってみることにした。 で、これは VMWareFusion 上の CentOS でインストール手順の確認をしてみた記録。 基本、やってることはココの内容そのまま。 記事が書かれてから半年で nginx と nginx_cache のバージョンが上がっていて、ビルド時に自分でやらなければならないことがあったので忘れないようにメモしておく。 今回は VMWareFusion 4 上の CentOS 5.7 を使って手順の確認をした。 VMWareFusion 4 への CentOS 5.7 のインストールについては下記を参照。CentOS 5.6 での説明だけど、そのままインストールして update すれば CentOS 5.7 になる。 VMWare
今回は www.example.com/ にアクセスすると django のアプリケーションが起動するようにする。 流れはこんな感じ 1.www.example.com/ へのアクセスを nginx が受け取る 2.nginx がそれを 127.0.0.1:9090 で待ってる uwsgi へ渡す 3.uwsgi は起動時に指定されている django のハンドラを呼ぶ これで django が起動してレスポンスが返される。 まずは nginx の nginx.conf の http 部分はこんな感じ。 http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request
ffmpeg のインストールも終わったので、次は mediatomb をインストール。 これもせっかくだからソースコードからインストールをしてみた。 最終的にサムネイルの表示ができて、トランスコードも ffmpeg を使ってできている。 libexif と libexif-devel のインストール (libexif のページ ) [paraches@localhost ~]$ sudo yum install libexif, libexif-develyum でさっくり終了。 cmake のインストール (cmake のページ) cmake は taglib をビルドするのに使用する。 標準のリポジトリにないので、前回設定した rpmforge からインストールする。 [paraches@localhost ~]$ sudo yum install cmake --enablerepo
先日、開発マシンを MacOS X Lion 10.7.3 にアップデートして、特に問題なく使えているな〜と思っていたらまんまとハマっていました…。 warning: iPhone/iPod Touch: Icon.png: icon dimensions (0 x 0) don't meet the size requirements. The icon file must be 57x57 pixels, in .png format (-19014) Unable to validate your application. - (null)icon ファイルは何も変更していないのに急におかしなワーニングが出てきました。 この時点では「アイコンファイルが壊れたかな?後で新しいのをコピーしておこう。」程度に考えていたのですが…。 これはどうやら既知の問題らしいです。 Twitter を見
昨日は JSON を扱うのに SBJson というフレームワークを使ってみた。 けど iOS 5 以降で使うならわざわざ他所からフレームワークを持って来なくても、Foundation の中に NSJSONSerialization が入ってる。 今作っているアプリケーションは iOS 4.3以降をサポート予定なので NSJSONSerialization は使えないのだけど、NSJSONSerialization をちょっと触ってみたらすっごく簡単に使えたのでメモ。 NSJSONSerialization のリファレンスを見るとわかるけどクラスメソッドが全部で5つあるだけ! JSON オブジェクトを作る方法が2つ、JSON データを作る方法が2つ。それぞれストリームおよびデータを使う方法がある。 そして最後の1つは JSON オブジェクトを JSON データに変換できるかどうかを確認してく
今作っている iPhone アプリでは、サーバとのやり取りの際サーバからの戻り値が JSON で返ってくる。 というわけで JSON のフレームワークを探して使ってみたのでメモ。 [2012/01/15 update] iOS 5以降のサポートで良ければ NSJSONSerialization も使えるよ! iOS 5から使えるNSJSONSerializationでJSONを使ってみる とりあえず Google 先生に iPhone で使える JSON のフレームワークを聞いてみると、どうも json-framework というものが多く使われているらしい。(そう言えば、AdMob のライブラリに入ってた気がする。と、思ったら昔入ってたのは TouchJSON だった。) で、調べてみるとこの json-framework という名前は古くて、今は SBJson という名前だそうで gi
TestFlight は AppStore にリリースする前のアプリケーションを、手元に無い iPhone/iPad/iPod にインストールしてくれる Web サービスです。 今までは自分一人でアプリケーションを作っていたのですが、今回は依頼を受けてアプリケーションを作ったので、機能の確認等をリリース前に行う為に TestFlight を使ってみました。 以下、その時に試行錯誤した TestFlight の使い方の覚え書きです。 かなり長くなったので 3日に分けてアップロードします。 すっごく簡単に言うと、テストユーザの iOS デバイスを開発者のテスト機材として Provisioning Portal で登録して、テスト機材を登録した Provisioning Profile でアプリケーションをビルド後、TestFlight 経由でテストユーザの iOS デバイスにインストールする仕
以前、OpenCV 2.1 を使って MacBook Air で顔認識してみたりしていたけど、iOS 5 になって CIDetector というクラスを使って画像の顔認識ができるようになった。 面白そうだったので拙作「ぼっちカメラ」で使ってみたのだけど、もううろ覚え状態になっているので忘れないうちにメモしておく。 とりあえず使うだけなら CIDetector オブジェクトを作って画像を渡せば結果が返ってくる。簡単! まず、CIDetector オブジェクトの作成は以下のクラスメソッドで + (CIDetector *)detectorOfType:(NSString *)type context:(CIContext *)context options:(NSDictionary *)options最初の detectorType では何を認識するのか指定する。けど、今現在は顔認識(CID
netatalk のバージョンが 2.2.1 になっていた。 大量のバグフィックスってあるし、せっかくだからまだ netatalk 2.2.0 を入れていなかった古い(CentOS 5.6)サーバーに入れてみようと思った。 そしたらちょこっとハマったのでメモ。 まずは前に netatalk 2.2.0 をインストールした時のメモを見て準備。 このサーバーには avahi-devel が入っていなかったのでインストールした。 [paraches@raphael myTest]$ yum list installed | grep avahi avahi.i386 0.6.16-10.el5_6 installed avahi.x86_64 0.6.16-10.el5_6 installed avahi-compat-libdns_sd.x86_64 0.6.16-10.el5_6 insta
とりあえず使うだけなら CIDetector オブジェクトを作って画像を渡せば結果が返ってくる。簡単! まず、CIDetector オブジェクトの作成は以下のクラスメソッドで + (CIDetector *)detectorOfType:(NSString *)type context:(CIContext *)context options:(NSDictionary *)options最初の detectorType では何を認識するのか指定する。けど、今現在は顔認識(CIDetectorTypeFace)しかできません。 次にオプションの設定。これも今現在は精度(CIDetectorAccuracy)しか設定できない。しかも指定できるのは CIDetectorAccuracyLow と CIDetectorAccuracyHigh の二つだけ! コードにするとこんな感じ。 NSDic
Xcode 4.2になって Storyboard とか見た目も変わってる部分があるけど、そうでない部分もやっぱり変わってる。 Xcode 3.2 の頃からのプロジェクトを Xcode 4.2 でビルドしようとしたらワーニング出た! warning: iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033) Unable to validate your application. - (null)だそうです。 で、これを修正するにはどうするか?って話。 早速その「Architectures」が「Build Settings」にあるのでどうなっ
先日、「iOS 5への Twitterアカウントの登録とアプリからのアクセス」という iOS 5から Twitter アカウントをアクセスする方法と iOS 5の設定の話を書いた。 で、今回は実際に取得したアカウントを使ってツイートしてみるまで。 とりあえず Apple のサンプル「Tweeting」にある sendCustomTweet の部分を元に、Twitter アカウントを選択できるように変更してみた。 動かしてみたサンプルは bitbucket に置いておいたので動かしてみたい人はどうぞ。 サンプル 以下、サンプルの簡単な解説。 [2013/06/12 Update] Twitter API 1.0 終了に伴い API 1.1 を使うように変更が必要になります。 TwitterAPI1.1になったらiOSのTwitter.Frameworkでエラーが出る ざっくりこんな感じで。
iOS 5になって Twitter が iOSに統合された。 iPhoneアプリ「ねむスタ」でも iOS 5の Twitter機能を使ってツイートできるようにしてみたので、アプリの使い方の一環として「iOS 5に Twitterアカウントを登録する方法」というページを作った。 まだ Twitterアカウントを持っていない場合でも、iOS の「設定」アプリから Twitterアカウントを取得できる辺が「統合」されている感があって良い感じ。「設定」アプリで Twitterアカウントを登録する際に 1度サインインすれば、その後はツイートの度にサインインしたりする必要がないので楽チン。 もちろん、実際のコードの中でも自分で Twitter と認証のプロセスを組む必要はなくて、Accounts.framework がよろしくやってくれる。これ、すっごく楽チン。 - (void)getTwitterA
AVCaptureExposureModeContinuousAutoExposure で露出を合わせて、key-value observe を使って adjustingExposure が NO(合わせ終わった!)になるのを検出して AVCaptureExposureModeLocked にしろと。 結局こんな感じで露出合わせを始めて if( [device isExposurePointOfInterestSupported] && [device isExposureModeSupported:AVCaptureExposureModeContinuousAutoExposure]) { NSError *error; if ([device lockForConfiguration:&error]) { [device addObserver:self forKeyPath:@"a
先日メモった iTunes 10.5 にアップデートしたら mt-daapd(FireFly) の曲リストが表示されなくなってしまった問題。 色々と報告やなんかがされていた Apple Support Communities のページにパッチの情報を発見! 早速試して問題解決したのでメモ。 Apple Support Communities のページにパッチへのリンクがある。 これをブラウザでクリックするとテキストファイルなので表示されちゃうけど、右クリックで「リンク先のファイルをダウンロード」とかなんとかで保存。 日本で mt-daapd(FireFly) を使っている人は日本語化とかなんとか色々とやっているのかもしれないけど、自分は素の svn-1696 で困ってないのでこれを使ってる。 なので普通にパッチを当てれば良いのだろうけど iTunes 10 になった時のパッチを既に当ててあ
[Update:20120920] Xcode 4.5 になって CorePlot 1.0 のライブラリがそのまま使えなくなった。 iOS 6 対応の為に CorePlot を armv7s 対応してビルドする Core-Plot は前にインストールして Web サイトで見つけたサンプルを動かしてみた。 その後、自分でグラフを作ってみたのだけど、色々と英語を読まなければならなかったので忘れないうちにメモ。 これは WiKi にある HighLevelDesignOverview で確認できる。 このページの AnatomyOfGraph で凡そのグラフの構成要素がわかる。 大きな括りでの「グラフ」があって、その中にx,y軸、プロットエリア、そしてプロットエリアの中に個々のデータ群のプロットがある。 その下にある Class Diagram と Objects and Layers で各構成
前回の続きで、CentOS 5.6 に Django 1.3 をインストールして、mod_wsgi 3.3 を使って動作する様に設定してみたのでメモ Python 2.7.1 と mod_wsgi 3.3 は既にインストールしてあるので、後は Django をインストールして設定をすれば OK。 インストールそのものは簡単。 前に DJango をインストールした時と同様に easy_install で一発。 [paraches@localhost myTest]$ sudo easy_install Djangoこんだけ。 一応、確認。 [paraches@localhost myTest]$ python Python 2.7.1 (r271:86832, Apr 19 2011, 01:31:25) [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on
次のページ
このページを最初にブックマークしてみませんか?
『Debian GNU/Linux 3.1 on PowerMac G4』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く