iOS5の、popToViewControllerの挙動がおかしい [iOS5]

iOS5の、popToViewControllerの挙動がおかしい 。

状況:popToViewControllerを呼び出すViewControllerでModalViewControllerを利用。
ModalViewControllerの方からdelegateで、popToViewControllerを呼び出すViewControllerのpopToViewControllerを呼び出す。

popToViewController:すると、

1) popToを呼び出したviewController - viewWillAppear
2) popTo先のViewController -のviewWillAppear
3) popTo先のViewController -のviewDidAppear
4) popToを呼び出したviewController - viewDidppear

で遷移する。

iOS4では、1) と、4)はない。

対処方法:
popToを呼び出す前に、ModalViewControllerをdismissする。

UIWebViewでリンク拾ってるときに、iTunes storeへのリンクに反応してくれない。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
 

}

で、何かしている時に、特定のアプリなどのiTunes Storeへのリンクを押してもスルーされる。
itunesのリンクを押したときは、openURLでsafariを立ち上げるようにしとくくらいしか、解決策が見当たらない。

target="itunes_store" とか、itms-apps: とかやっても無駄。

MonoDevelop 実行エラー [Mac OSX Lion]

MonoDevelopでHellowWorldをビルドして、実行したら速攻でエラーがでた。

対処法は下記の通り。
http://blog.livedoor.jp/satoyansoft/archives/65455066.html

ターミナルで直接

mono  xxx.exe

としてやっても動く。

cocos2dでUIScrollView的なものを使いたいとき。

cocos2dでUIScrollView的なものを使いたいとき、
結論としては、

おとなしくそれっぽいLayerを作る。

がおすすめ。いろいろ探したけど、これというのは見つからず。
ので、CCLayerで作ってしまって、好きなようにするのが結局ラクな気が。

- (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event {  
 //背景の移動処理、タップしているのか、スライドなのか、ここでフラグ立てておく。
   //移動は、[touch previousLocationInView:touch.view];と現在のtouchの差分をとって、差分をspriteのpositionにcppAddするだけ。
}

-(void) ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
  //タップのときは、scrollView上にボタン(Sprite)がある場合などは、ここで、touchの座標と、spriteの座標を確認して処理する。
}

最低限、これだけあればいいのでそんなに手間でない。

*cocos2dと、UKit系のViewの混在はwindowにaddすれば可能。rotationがめんどくなったり、フレームレートが半端なく落ちたりするのがネック。

application executable is missing a required architecture

application executable is missing a required architecture
iPhone apps should include an armv6 architecture (current ARCHS = "armv7")

これはそのまま、Xcod4.2の
architecture が デフォルト armv7 だけなので、armv6とarmv7にすればOK。
Build Settings -> Architectures
でOthersを押して修正する。

TapJoyのgetTapPointsと、getUpdatedPoints [iOS]

TapJoyで最初に、

[TapjoyConnect requestTapjoyConnect:@"xxxx"  secretKey:@"xxx"];

したときにも、getTapPoints が呼ばれる。


したがって、requestのあとに、

 [TapjoyConnect getTapPoints];

を呼び出していると、重複する。

request 時にgetTapPointsを呼びたく無い場合は、

-(void)getUpdatedPoints:(NSNotification*)notifyObj

が呼ばれた後に、フラグ等で処理する。AppDelegateのときはとおさないー的な。

[TapjoyConnect requestTapjoyConnect:@"xxxx"  secretKey:@"xxx"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getUpdatedPoints:) name:TJC_TAP_POINTS_RESPONSE_NOTIFICATION object:nil];

ということで、この2つはペアでAppDelegateに入れておく。
getでそのまま、spendする場合は、TJC_SPEND_TAP_POINTS_RESPONSE_NOTIFICATION、も同じタイミングで登録したらいいさ。