xcode

CoreData のオブジェクトを lldb の print-object で見てみた

参考にしたのはこのサイト。 furbo.org · Debugging Core Data Objects とりあえず適当にブレークポイントを置いて lldb のコマンドラインへ。 今回はあり気なこんなコードの所に置いてみた。 NSManagedObject *mobj = [self.fetchedResultsController objec…

UITabBar を隠すコードを自分のアプリに実装してみる

画面の回転時に TabBar を消したいので、自分は - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration にこのコードを入れることにした。 willAnimateRotationToInterfaceOr…

まずは「UITabBar 隠す」で検索してみる

とりあえず検索して見つけたのはこの情報。 頭と尻尾はくれてやる! タブバーを隠す方法 で、上記ページが参考にしているのがこのページ。 Hide UITabBarController/UITabBar with animation. - Notes of a Developer コードを見てみると、tabBarController …

実機で NSDateを NSLogで表示してみる

で、同じコードを実機で実行してみた。iPhoneの「設定」の「言語環境」は「日本語」「日本」「西暦」になってる。(シミュレータの最初の例と同じ) 2012-05-06 22:27:23.472 test[3040:707] Date set to: 2012-05-06 15:00:00 +0000表示されるのはこれだけ…

シミュレータで NSDateを NSLogで表示してみる

シミュレータで実行するとこんな感じ。 2012-05-06 19:32:08.861 test[34748:17903] Date set to: 2012-05-06 15:00:00 +0000 2012-05-06 19:32:08.862 test[34748:17903] Date with locale: 2012年5月7日月曜日 0時00分00秒 日本標準時シミュレータの「設定…

新しい Mac の Xcode に Provisioning Profiles を読み込む

次は新しい Mac での作業です。 インストールしたての Xcode を起動し Organizer を開きます。 「LIBRARY」の「Provisioning Profiles」を選択しても、まだ何も Provisioning Profile をインストールしていないので画面には何も表示されないはずです。 この…

Validation エラーの回避方法

この問題を回避するには、Application Loader の最新版をインストールすれば OK です。 以下、私が実際に行った手順です。 1.Application Loader の最新版をダウンロードしてインストール 最新版の Application Loader 2.Xcode で問題のあるプロジェクト…

MacOS X 10.7.3 のアップデートが iOS アプリの Validation を破壊する?

これはどうやら既知の問題らしいです。 Twitter を見ていたらたまたまこの情報を見つけました。 MacOSX 10.7.3 Update Breaks iOS App Validation 私の場合は Archive をしようとしたらワーニングが出たのでおかしいな?と思ったのですが、この後 Organizer …

plistで保存するには?

JSONデータを受け取ると、Dictionary や Array になるのだけど、これらはそのまんま plist にして保存ができる。 dataSets が Dictionary か Array で、保存先へのパスが dataSetsSavepath だとこんな感じ。 [dataSets writeToFile:dataSetsSavePath atomica…

NSJSONSerializationの簡単な使い方

NSJSONSerialization のリファレンスを見るとわかるけどクラスメソッドが全部で5つあるだけ! JSON オブジェクトを作る方法が2つ、JSON データを作る方法が2つ。それぞれストリームおよびデータを使う方法がある。 そして最後の1つは JSON オブジェクトを J…

SBJson で実際にパースをしてみる

コード内で SBJson を使ってパースするには、SBJson.h をインポートして、パーサを作ってパースをするだけです。こんな感じで使えます。(Mac の Web共有をオンにして自分で作った JSON データ(jsonReplySample.json)を読み込んでパースしてコンソールに表…

SBJson を Xcode 4.2 のプロジェクトに加える

ダウンロードした SBJson_v3.0.4.zip ファイルを展開するとこんな感じ。 で、この Classes フォルダの中を全部、JSON を使いたい Xcode のプロジェクトに加えれば OK! 自分は SBJson3.0.4というグループを作ってその中にファイルを全部入れました。 これで …

SBJson をダウンロードしてくる。

とりあえず Google 先生に iPhone で使える JSON のフレームワークを聞いてみると、どうも json-framework というものが多く使われているらしい。(そう言えば、AdMob のライブラリに入ってた気がする。と、思ったら昔入ってたのは TouchJSON だった。) で…

開発者がβテスターの iOS デバイスを開発機材として登録して Xcode 4.2 でビルドする

チームにβテスターが登録されたら、それぞれのテスターの iOS デバイスを開発機材として登録します。 1.開発者が「Team Management」画面でβテスターを選択して「Export」をクリック 招待メールで「Accept」したβテスターは「Pending」の場所から「All Tea…

タッチした所で露出を合わせる方法

AVCaptureExposureModeContinuousAutoExposure で露出を合わせて、key-value observe を使って adjustingExposure が NO(合わせ終わった!)になるのを検出して AVCaptureExposureModeLocked にしろと。 結局こんな感じで露出合わせを始めて if( [device is…

Provisioning profile を決めてるファイルがある!

App ID が * な Provisioning profile、最初にたくさん作っちゃってとりあえず * は1つ有れば良いじゃんって思って適当なの1つ残した。その残した1つで Development(Debug) 全部を賄いたいんだけどこのアプリだけはどうにもならない。 なんていうか Xcode の…

どうしても Code Sign error が出るよ!

そのアプリは一番最初に作ったアプリで、App ID は何もわからずに * にしちゃったもの。 なぜか、このアプリは実機で動作させようとすると「Code Sign error: Provisioning profile "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" can't be found」が出る。 その P…

Architectures に armv6 を加える

実際に Architectures に armv6 を加えるには… 1.「Architectures」の「Standard (armv7)」のあたりをクリック 2.出てきたメニューで「Other…」を選択 3.「+」をクリック 4.「armv6」と入力して「Done」をクリック 5.「armv6」が加わったよ! こ…

まずは Architecture を確認

早速その「Architectures」が「Build Settings」にあるのでどうなってるのか?を確認してみる。 確かに「Standard(armv7)」となっていて「armv6」は入ってない。

ちゃんと動作しました

というわけで、新しい GoogleAdMobAdsSDK に入れ替えるだけで、既存のコードを変更する事なく動作しました。 この辺は GoogleAdMobAdsSDK 偉いな〜と思う。 AdMaker だとこうはいかない…。

変更点は?

ダウンロードしたファイルを展開すると、内容物はこんな感じ。 ファイルの数やファイル名は前のバージョンと変わらないけど…。日付は変わってる。 いつものパターンだな。 前のバージョン(4.0.2?)から今回のバージョン(5.0.3)への変更点を明記してあると…

GoogleAdMobAdsSDKのダウンロード

GoogleAdMobAdsSDK のダウンロードは以下の2通りの方法で可能 AdMob のページにログインしてから「更新」ボタンでダウンロード Google code のページからダウンロード

得られる時刻が15分間隔でない

で、見つけたのが UIDatePicker の動作のちょっと不思議な部分。(というか自分の思い込み?) これは minuteInterval を 15分毎に設定した UIDatePicker に maximumDate を設定したという2つの設定が重なると起きる動作。 UIDatePicker に maximumDate を設…

UIDatePicker を時刻の入力に使用していた

minuteInterval を 15にして 0分、15分、30分、45分のどれかを入力するようにしている。 更に、必ず今よりも古い時刻を入力することになるので、maximumDate を [NSDate date] として現在の時刻が最大値となるようにしていた。 基本的に今までこの状態で動い…

CPTPlotDataSource プロトコル対応

ScatterPlot 用に CPTScatterPlotField が定義されているので、それに対応する必要がある。 typedef enum _CPTScatterPlotField { CPTScatterPlotFieldX, CPTScatterPlotFieldY } CPTScatterPlotField;で、実際のコードはこんな感じ。 -(NSNumber *)numberFo…

PlotSpaceとXYAxisとPlot

英語の読解力の無さとグラフの知識の無さで、なかなか理解できなかったのだけど、なんとなくこんなことだろうな〜と。 グラフにはいくつもプロットスペース、軸、プロットを乗せられる。 プロットスペースは XY軸のスケールを決めてる。 軸(XYAxis)は軸を…

X軸を日付にするための設定

まずは最終的なグラフはこんな感じ 横軸を 31日分の日付にして、2週間毎にラベルで日付を書いてる。 各レコードの値は適当に計算してリニアに増える様にしてある。 viewDidLoad の昨日までのコードとの違い // Graph data prepare NSDate *refDate = [NSDate…

CPTPlotDataSource プロトコル対応

CPTPlotDataSource プロトコルに対応するには、まずこれが必ず必要 (NSUInteger) - numberOfRecordsForPlot:この部分は今回はこんな感じ。 -(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot { return 5; }単純にグラフには何個レコードがありますか?と…

プロットを設定する

Core-Plot では、棒グラフの棒や線グラフの線などのグラフの中身は CPTPlot というクラスになる。で、棒グラフや線グラフ用に専用のクラスが用意されてる。 棒グラフ 円グラフ 線グラフ CPTBarPlot CPTPieChart CPTScatterPlot 範囲グラフ? 売買グラフ? CP…

グラフのタイトルを描く

最後にグラフのタイトルを描いて今日の分はお終い。 // Graph title graph.title = @"Graph Title\nBar Graph"; CPTMutableTextStyle *textStyle = [CPTTextStyle textStyle]; textStyle.color = [CPTColor cyanColor]; textStyle.fontSize = 16.0f; textSty…