・・・いや、個人的なことじゃないですよ!
バスケです。バスケ!まぁ、バスケじゃそんな言い回しはないと言われそうですが、プロ野球間隔で言うところの「借金返済」です!(^^;
昨日の会長杯での勝利により、GT.BLEDSの通算成績が、
77戦38勝38敗1引分
となりました!いやー10年やってると77試合もしてるんですねー。
とは言え、次勝たないと即借金生活へ・・・必勝!!・・・祈願(^^;
2011年2月28日月曜日
2011年2月26日土曜日
SyntaxHighlighterをBlogでつかう
クリボウの Blogger Tips: コードをハイライトする「Blogger Syntax ...
これ参考に導入してみた。やり方はそのまんまなんだけど、MacのChromeでやるとうまくいかなかったので、メモ・・・
普通は↓の画面が出るんだけど、
バージョンによるかもしれんけど、MacのChromeだと・・・
こんな感じでバグって、一応Add to Bloggerボタンは押せるけど、コレで登録しても全然ハイライトが有効にならなくてチョットハマった・・・
一応Chromeのバージョンは・・・
でも、Objective-Cは対応してないんだね・・・
これ参考に導入してみた。やり方はそのまんまなんだけど、MacのChromeでやるとうまくいかなかったので、メモ・・・
普通は↓の画面が出るんだけど、
バージョンによるかもしれんけど、MacのChromeだと・・・
こんな感じでバグって、一応Add to Bloggerボタンは押せるけど、コレで登録しても全然ハイライトが有効にならなくてチョットハマった・・・
一応Chromeのバージョンは・・・
でも、Objective-Cは対応してないんだね・・・
2011年2月25日金曜日
iAdをメインにしてAdmobをバックアップとして設置
とりあえず、かなり前にiAdの勉強がてら、リリースしたShot Clock Timer Freeだけど、iAdってとりあえず日本ではまだ始まってないし、スタートしてるアメリカとかでも表示率が100%ではない。なので、AdmobもしくはAdmobとのハイブリッドが理想型らしいけど、当時はAdmobの設置方法はちんぷんかんぷんだったので、ほったらかしてた。
最近ちょっとづつ分かってきたので、いろんなとこ調べながら、やってみました。
http://yayacocoa.blogspot.com/2010/11/iadadmob.html
http://xcodenoobies.blogspot.com/2011/01/how-to-integrate-iad-for-os32-and-admob.html
ここら辺りを参考に始めたけど、お世話になってる寺子屋サルできにて、よくわかるソースを発見!
iAdはOS4だけで動作するのでビルド設定に注意
コレを参考に、微妙に修正して組み込んでみました!
とりあえず、Admobの登録して、SDKをダウンロードして、
を組み込み。AdMobフォルダは
だけでもいいみたいだけどよくわかんないんで全部ぶち込みました。そして、以下のフレームワークを追加。
iAdはOS3.xをターゲットにするならiAdをweklinkにする必要あり。
で、Admobのサイトでパブリッシャーidをコピッてきて、
ここの「publisher id」に置き換え。で行けるはず。
あと、
ここの「Device identifier」にXcodeオーガナイザで確認できるDevice identifierを入れると、実機でもテスト広告が出る。ただし、Admobのサイトのアプリ設定で、テストモードを無効化してると、意味はない。
後は、コンソールをみながら、
でiAdのテスト広告が表示されて、
でAdmobの広告がでればOK!・・・かと思われる。
うまくいけば暫く待てばfailしてくれるが、もしかしたらずっとloadしてるとAdmobの確認ができないかもしれない・・・
ちなみにオリジナルからいじった所は、viewDidLoadのAdmobの部分で、起動時には一旦、hiddenをYESにして、moveBannerViewOffScreenの部分でNOにしたところです。
iAdの読み込みには少し時間がかかるみたいで、起動時にiAdもAdmobも両方取得成功したときに、広告表示が、Admob->iAdとばたついて表示されるのを防ぐためです。
ただ、一時も広告の非表示時間を減らしたくない場合は得策でない場合がありますね。
また、Admobメインで考えるなら、逆にしたほうがいいでしょう。
「...」はアプリそれぞれのコードが入っていることを表しています。
↓以下サンプルソース
*.h
*.m
最近ちょっとづつ分かってきたので、いろんなとこ調べながら、やってみました。
http://yayacocoa.blogspot.com/2010/11/iadadmob.html
http://xcodenoobies.blogspot.com/2011/01/how-to-integrate-iad-for-os32-and-admob.html
ここら辺りを参考に始めたけど、お世話になってる寺子屋サルできにて、よくわかるソースを発見!
iAdはOS4だけで動作するのでビルド設定に注意
コレを参考に、微妙に修正して組み込んでみました!
とりあえず、Admobの登録して、SDKをダウンロードして、
- AdMob
- TouchJSON
を組み込み。AdMobフォルダは
- AdMobDelegateProtocol.h
- AdMobView.h
- libAdMob.a
だけでもいいみたいだけどよくわかんないんで全部ぶち込みました。そして、以下のフレームワークを追加。
- AudioToolbox
- CoreGraphics
- MediaPlayer
- MessageUI
- QuartzCore
- iAd
iAdはOS3.xをターゲットにするならiAdをweklinkにする必要あり。
で、Admobのサイトでパブリッシャーidをコピッてきて、
- //========================================================
- // publisher id
- //========================================================
- - (NSString *)publisherIdForAd:(AdMobView *)adView {
- return @"publisher id";
- }
//======================================================== // publisher id //======================================================== - (NSString *)publisherIdForAd:(AdMobView *)adView { return @"publisher id"; }
ここの「publisher id」に置き換え。で行けるはず。
あと、
- //========================================================
- // Admobテスト用設定 リリース時にはコメントアウト?
- //========================================================
- //*/
- - (NSArray *)testDevices {
- return [NSArray arrayWithObjects:
- ADMOB_SIMULATOR_ID, // Simulator
- @"Device identifier", // Xオーガナイザで確認
- nil];
- }
- ///*
//======================================================== // Admobテスト用設定 リリース時にはコメントアウト? //======================================================== //*/ - (NSArray *)testDevices { return [NSArray arrayWithObjects: ADMOB_SIMULATOR_ID, // Simulator @"Device identifier", // Xオーガナイザで確認 nil]; } ///*
ここの「Device identifier」にXcodeオーガナイザで確認できるDevice identifierを入れると、実機でもテスト広告が出る。ただし、Admobのサイトのアプリ設定で、テストモードを無効化してると、意味はない。
後は、コンソールをみながら、
iAd: Did load ad
でiAdのテスト広告が表示されて、
iAd: Did fail to receive ad
でAdmobの広告がでればOK!・・・かと思われる。
うまくいけば暫く待てばfailしてくれるが、もしかしたらずっとloadしてるとAdmobの確認ができないかもしれない・・・
ちなみにオリジナルからいじった所は、viewDidLoadのAdmobの部分で、起動時には一旦、hiddenをYESにして、moveBannerViewOffScreenの部分でNOにしたところです。
iAdの読み込みには少し時間がかかるみたいで、起動時にiAdもAdmobも両方取得成功したときに、広告表示が、Admob->iAdとばたついて表示されるのを防ぐためです。
ただ、一時も広告の非表示時間を減らしたくない場合は得策でない場合がありますね。
また、Admobメインで考えるなら、逆にしたほうがいいでしょう。
「...」はアプリそれぞれのコードが入っていることを表しています。
↓以下サンプルソース
*.h
- ...
- #import <iAd/iAd.h>
- #import "AdMobDelegateProtocol.h"
- ...
- @interface viewController :UiViewController < ... , ADBannerViewDelegate, AdMobDelegate>{
- ...
- AdMobView *adMobAd;
- ADBannerView *bannerView;
- ...
- }
- ...
- - (void) moveBannerViewOnScreen;
- - (void) moveBannerViewOffScreen;
- ...
- @end
... #import <iAd/iAd.h> #import "AdMobDelegateProtocol.h" ... @interface viewController :UiViewController < ... , ADBannerViewDelegate, AdMobDelegate>{ ... AdMobView *adMobAd; ADBannerView *bannerView; ... } ... - (void) moveBannerViewOnScreen; - (void) moveBannerViewOffScreen; ... @end
*.m
- #import "viewController.h"
- #import "AdMobView.h"
- @implementation:viewController
- ...
- //========================================================
- // 起動時設定
- //========================================================
- - (void)viewDidLoad {
- ...
- //iAd(OS4.0以上)
- if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) {
- bannerView = [[ADBannerView alloc] init];
- bannerView.delegate = self;
- [self.view addSubview:bannerView];
- [self moveBannerViewOffScreen];
- }
- //Admob
- adMobAd = [AdMobView requestAdWithDelegate:self];
- [adMobAd retain];
- adMobAd.hidden = YES;
- ...
- }
- //========================================================
- // メモリ解放
- //========================================================
- - (void)dealloc {
- ...
- //Admob
- [adMobAd release];
- //iAd
- bannerView.delegate = nil;
- [bannerView release];
- ...
- }
- ...
- ...
- ...
- ...
- #pragma mark iAd,Admob
- //**********************************************************
- // iAd⇔Admob切り替え
- //**********************************************************
- //========================================================
- // iAd広告表示
- //========================================================
- - (void) moveBannerViewOnScreen {
- //Admob広告を隠す
- if (adMobAd != nil) {
- if (adMobAd.frame.origin.y == self.view.frame.size.height -48) {
- CGRect frame = self.view.frame;
- adMobAd.frame = CGRectMake(0, frame.size.height, frame.size.width, 48);
- }
- }
- //iAd広告を表示
- CGRect newBannerView = self.view.frame;
- newBannerView.origin.y = self.view.frame.size.height - bannerView.frame.size.height;
- [UIView beginAnimations:@"BannerViewIntro" context:NULL];
- bannerView.frame = newBannerView;
- [UIView commitAnimations];
- }
- //========================================================
- // iAd広告非表示
- //========================================================
- - (void) moveBannerViewOffScreen {
- //iAd広告を隠す
- CGRect newBannerView = self.view.frame;
- newBannerView.origin.y = self.view.frame.size.height;
- bannerView.frame = newBannerView;
- //Admob広告を表示
- adMobAd.hidden = NO;
- if (adMobAd != nil) {
- if (adMobAd.frame.origin.y == self.view.frame.size.height) {
- CGRect frame = self.view.frame;
- [UIView beginAnimations:@"AdMobBanner" context:NULL];
- adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);
- [UIView commitAnimations];
- }
- }
- }
- //**********************************************************
- // iAd関連
- //**********************************************************
- //========================================================
- // iAD広告取得成功時
- //========================================================
- - (void)bannerViewDidLoadAd:(ADBannerView *)banner{
- NSLog(@"iAd: Did load ad");
- //Admob広告非表示->iAd広告表示
- [self moveBannerViewOnScreen];
- }
- //========================================================
- // iAD広告取得失敗時
- //========================================================
- - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
- NSLog(@"iAd: Did fail to receive ad");
- //iAd広告非表示->Admob広告表示
- [self moveBannerViewOffScreen] ;
- }
- //**********************************************************
- // Admob関連
- //**********************************************************
- //========================================================
- // publisher id
- //========================================================
- - (NSString *)publisherIdForAd:(AdMobView *)adView {
- return @"publisher id";
- }
- //========================================================
- // current view controller
- //========================================================
- - (UIViewController *)currentViewControllerForAd:(AdMobView *)adView {
- return self;
- }
- //========================================================
- // Admob広告取得成功時
- //========================================================
- - (void)didReceiveAd:(AdMobView *)adView {
- NSLog(@"Admob: Did receive ad");
- CGRect frame = self.view.frame;
- adMobAd.frame = CGRectMake(0, frame.size.height, frame.size.width, 48);
- [self.view addSubview:adMobAd];
- [UIView beginAnimations:@"AdMobBannerstart" context:NULL];
- adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);
- [UIView commitAnimations];
- }
- //========================================================
- // Admob広告取得失敗時
- //========================================================
- - (void)didFailToReceiveAd:(AdMobView *)adView {
- NSLog(@"Admob: Did fail receive ad");
- [adMobAd removeFromSuperview];
- [adMobAd release];
- adMobAd = nil;
- }
- //========================================================
- // Admobテスト用設定 リリース時にはコメントアウト?
- //========================================================
- //*/
- - (NSArray *)testDevices {
- return [NSArray arrayWithObjects:
- ADMOB_SIMULATOR_ID, // Simulator
- //@"Device identifier", // Xオーガナイザで確認
- nil];
- }
- ///*
- ...
- ...
- ...
- ...
- @end
#import "viewController.h" #import "AdMobView.h" @implementation:viewController ... //======================================================== // 起動時設定 //======================================================== - (void)viewDidLoad { ... //iAd(OS4.0以上) if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) { bannerView = [[ADBannerView alloc] init]; bannerView.delegate = self; [self.view addSubview:bannerView]; [self moveBannerViewOffScreen]; } //Admob adMobAd = [AdMobView requestAdWithDelegate:self]; [adMobAd retain]; adMobAd.hidden = YES; ... } //======================================================== // メモリ解放 //======================================================== - (void)dealloc { ... //Admob [adMobAd release]; //iAd bannerView.delegate = nil; [bannerView release]; ... } ... ... ... ... #pragma mark iAd,Admob //********************************************************** // iAd⇔Admob切り替え //********************************************************** //======================================================== // iAd広告表示 //======================================================== - (void) moveBannerViewOnScreen { //Admob広告を隠す if (adMobAd != nil) { if (adMobAd.frame.origin.y == self.view.frame.size.height -48) { CGRect frame = self.view.frame; adMobAd.frame = CGRectMake(0, frame.size.height, frame.size.width, 48); } } //iAd広告を表示 CGRect newBannerView = self.view.frame; newBannerView.origin.y = self.view.frame.size.height - bannerView.frame.size.height; [UIView beginAnimations:@"BannerViewIntro" context:NULL]; bannerView.frame = newBannerView; [UIView commitAnimations]; } //======================================================== // iAd広告非表示 //======================================================== - (void) moveBannerViewOffScreen { //iAd広告を隠す CGRect newBannerView = self.view.frame; newBannerView.origin.y = self.view.frame.size.height; bannerView.frame = newBannerView; //Admob広告を表示 adMobAd.hidden = NO; if (adMobAd != nil) { if (adMobAd.frame.origin.y == self.view.frame.size.height) { CGRect frame = self.view.frame; [UIView beginAnimations:@"AdMobBanner" context:NULL]; adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48); [UIView commitAnimations]; } } } //********************************************************** // iAd関連 //********************************************************** //======================================================== // iAD広告取得成功時 //======================================================== - (void)bannerViewDidLoadAd:(ADBannerView *)banner{ NSLog(@"iAd: Did load ad"); //Admob広告非表示->iAd広告表示 [self moveBannerViewOnScreen]; } //======================================================== // iAD広告取得失敗時 //======================================================== - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{ NSLog(@"iAd: Did fail to receive ad"); //iAd広告非表示->Admob広告表示 [self moveBannerViewOffScreen] ; } //********************************************************** // Admob関連 //********************************************************** //======================================================== // publisher id //======================================================== - (NSString *)publisherIdForAd:(AdMobView *)adView { return @"publisher id"; } //======================================================== // current view controller //======================================================== - (UIViewController *)currentViewControllerForAd:(AdMobView *)adView { return self; } //======================================================== // Admob広告取得成功時 //======================================================== - (void)didReceiveAd:(AdMobView *)adView { NSLog(@"Admob: Did receive ad"); CGRect frame = self.view.frame; adMobAd.frame = CGRectMake(0, frame.size.height, frame.size.width, 48); [self.view addSubview:adMobAd]; [UIView beginAnimations:@"AdMobBannerstart" context:NULL]; adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48); [UIView commitAnimations]; } //======================================================== // Admob広告取得失敗時 //======================================================== - (void)didFailToReceiveAd:(AdMobView *)adView { NSLog(@"Admob: Did fail receive ad"); [adMobAd removeFromSuperview]; [adMobAd release]; adMobAd = nil; } //======================================================== // Admobテスト用設定 リリース時にはコメントアウト? //======================================================== //*/ - (NSArray *)testDevices { return [NSArray arrayWithObjects: ADMOB_SIMULATOR_ID, // Simulator //@"Device identifier", // Xオーガナイザで確認 nil]; } ///* ... ... ... ... @end
iMacかMacBookか・・・
いや、別に買わないですよ。。。でも、前のMacデビュー機のMacBook(early 2008)からもうすぐ3年。ボチボチと考えちゃうわけですよ。前のは入門機的に勝ったんで、そろそろね・・・
でもって、今日発表されましたよね!これ。

うーん。素敵・・・・
ただ、iMacの新しいのももうすぐって噂もあるし、そうなると、デスクトップか・・・ノートか・・・
スペック的にはもちろんiMacとなるんでしょう。画面の大きさを始め、その他も・・・(現時点ではMacBook Proの方がスペック上かも知れんけど、次のは併せてくるでしょ?クァッドコアとか)
で、圧倒的に持ち出す事なんて少ないし、MacBookが余ってくるんだから、いざとなったら引っ張り出せばいい。って事でiMacなのかな・・・ただ、MacBook Proかっこいい・・・
iMacとAirで20弱か・・・イヤイヤ。
でもって、今日発表されましたよね!これ。
うーん。素敵・・・・
ただ、iMacの新しいのももうすぐって噂もあるし、そうなると、デスクトップか・・・ノートか・・・
スペック的にはもちろんiMacとなるんでしょう。画面の大きさを始め、その他も・・・(現時点ではMacBook Proの方がスペック上かも知れんけど、次のは併せてくるでしょ?クァッドコアとか)
で、圧倒的に持ち出す事なんて少ないし、MacBookが余ってくるんだから、いざとなったら引っ張り出せばいい。って事でiMacなのかな・・・ただ、MacBook Proかっこいい・・・
iMacとAirで20弱か・・・イヤイヤ。
2011年2月22日火曜日
B-Ball Score Book iPadでのバグ修正版はもうすぐ
B-Ball Score Bookにて、iPadで試合結果を送信した後にフリーズするバグの報告をメールで貰った。ありがたい・・・
日曜日に申請だしたので、今週中には公開されるはず!
当現象がでてる方、ご迷惑をおかけしますが、もう少し我慢を・・・
2/25 追記
修正版が公開されました!!
日曜日に申請だしたので、今週中には公開されるはず!
当現象がでてる方、ご迷惑をおかけしますが、もう少し我慢を・・・
2/25 追記
修正版が公開されました!!
2011年2月21日月曜日
サルできさんにて公認もらいました!
【サルでき公認アプリ】GT.BLEDS3作品 リリース!
独自の切り口で、iPhoneアプリの開発を応援してくれているサイトにて、私の作ったアプリを紹介してもらいました!少し恥ずかしいですが・・・
サルにもできるiPhoneアプリの作り方
独自の切り口で、iPhoneアプリの開発を応援してくれているサイトにて、私の作ったアプリを紹介してもらいました!少し恥ずかしいですが・・・
サルにもできるiPhoneアプリの作り方
登録:
投稿 (Atom)