サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.hirano-dept.com
みなさん、iPhone5買いましたか? アプリ開発者の方はiOS6と画面サイズが変わったiPhone5への対応をしなくてはいけないですね。 僕なりにiOS6&iPhone5対応で変更が必要だった箇所をメモしておきます。(見つけ次第どんどん追記していきます。) Default-568h@2x.pngが必要 iPhone5用の画面サイズに対応するためには、Default-568h@2x.png(640px x 1136px)という起動画面用のファイルを追加する必要があります。このファイルを追加すると、縦長に対応するというトリガーになるようです。 iPhone5用の画像の振り分け 画像ファイルに"ファイル名-568h@2x.png"とやると、勝手に画面解像度に合わせてファイルを使い分けてくれるという情報がネット上にちらほら見かけますが、僕は上手くいきませんでしたw ですので、自前で判定を入れまし
アプリのサポートサイトを作って、Retina対応が気になったので調べました。 今回作ったサイトはこんな感じ hiranodept apps 以前はCSSで切り替えをやっていたのですが、JSの方が楽ですね。 img要素をとってきて、Retinaの場合はプレフィックス(@2x)を付けるのが簡単かなと思いました。 以下が元ネタです。 Retinaディスプレイ時に読み込む画像を切り替えるjQueryその2 <img src="images/grey.png" data-original="images/logo.png" alt="" width="50" height="50" /> srcにはダミー画像のパスを入れておきます。 data-originalに画像のパスを入れておきます。 こうすることで、無駄な画像を読み込まなくて済むようです。 $(function(){ $('img').eac
ちょっとした気づき。 UIImageViewへUIImageの配列を渡すと、コマアニメしてくる。animationImagesプロパティ。 あまり高速ではないけど。 NSArray *imgset =[NSArray arrayWithObjects:img1,img2,img3,nil]; UIImageView *imgView = [UIImageView alloc]init]; imgView.animationImages = imgset; imgView.animationDuration = 2.0; とすると、2秒でimgset配列の3枚の画像を再生してくれる。 各画像の秒数を細かく設定はできないみたい。 [imgView startAnimating]; でアニメスタート [imgView stopAnimating]; でアニメ停止 imgView.animatio
iOS5専用のアプリを作っていて、 今まで通り、info-plistにIcon already includes gloss effect を 追加してYESにしていたのだけど、一向に光沢が消えなかった。 info-plistをよく見てみると、Icon filesとIcon files(iOS5)という2つの項目があったw iOS5でアイコンの光沢を消すには、 Icon files(iOS5) > Primary Icon > Icon already includes gloss effect をYESにする。 Tweet
Home > iPad > | iPhone > Icon specified in the Info.plist not found under the top level app wrapper: Newer Older "Icon specified in the Info.plist not found under the top level app wrapper:"でむっちゃ悩みました。 iOS4時代では、info.plistのIcon filesに記載した文字が、大文字にしていない、とか、スペルミスが原因でこのエラーが出ていたみたいですが、 iOS5ではIcon files(iOS5)に問題が隠されていました。 というか気付かなかった。数時間悩みましたよ。ほんと。 対処法は、 Icon files(iOS5) > Primary Icon > Icon files のitem
Home > iPad > | iPhone > ハマッた。Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011) Newer Older ハマッた。Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011) 今日のハマりどころ。 iOS5の話。解決に丸一日かかったw Application failed codesign verification. T
新しいiMac買いました。メモリも安いので買いました。 でも雪豹のまま使うことにしますw さて、UIScrollViewは便利で良く使っています。 UIScrollView.pagingEnabled = YESにすれば、ページ毎にきちっとスナップしてスクロールしてくれます。でも、画面サイズ(W:320px)より小さい要素、例えば画像(W:150px)などをページングするところでハマりました。iPhoneのサファリのタブのようにしたいのです。 ポイントは、ページングはframeのサイズではなくてboundsのサイズということ。 それと、scroll.clipsToBounds = NOにすること。NOにしないと、1枚しか見えない。 なるほど! 例えば、横は150pxの画像とマージンを取ったサイズを1ページとした場合。 UIScrollView *scroll = [[UIScrollVie
アプリ起動中に端末の空きメモリを表示するクラスを作ったので一応アップしておきます。 元ネタのまま利用させてもらいました。 #include < mach/host_info.h > #include < mach/mach_init.h > #include < mach/mach_host.h > //MBで返す -(float)freeSize { struct vm_statistics a_vm_info; mach_msg_type_number_t a_count = HOST_VM_INFO_COUNT; host_statistics( mach_host_self(), HOST_VM_INFO, (host_info_t)&a_vm_info ,&a_count); return ((a_vm_info.free_count * vm_page_size)/1024.0
やっと、@protocolを自前で実装するやり方が分かったのでメモ。初歩的ですが。 今までというか、protocolを使う前は、初期化の時にdelegateととして呼び出し元のインスタンスを渡していました。 例えば、こんな感じ。 id delegate;(.hで変数宣言) -(id)intWithDelegate:(id)del; それでインスタンスを作成する時に object *obj = [object alloc] initWithDelegate:self]; とやっておいて、呼び出し元へアクセスするときは、 performSelectorを使っていました。 [delegate performSelector:@selector(imgDidFinish:) withObject:data]; これでもいいとは思うのですが、スマートではないのかもしれません。 そこで、protoco
iPhoneアプリからYouTubeへの動画アップを実装しました。 その際、かなりつまずいたので解決策をメモしておきます。 つまづいたポイント YouTubeアカウント ID&PWが通らない アップロード中、エラーで中断する まず、gdata-objectivec-client ライブラリは下記からDLしてください。 http://code.google.com/p/gdata-objectivec-client/ ビルドするのにかなりつまづきました。 ビルドは下記を参考にしました。 Google Data API クライアントライブラリのビルド その他、基本的なことはgdata-objectivec-client に入っている。 Examples/YouTubeSampleを参照してください。 1.YouTubeアカウント ID&PWが通らない ある特定のYouTubeアカウントだとなぜ
iPhoneをXcodeにつないでいない時にのみ起きる不思議クラッシュ現象。 なぜかシミュレータでの操作や、Xcodeから実機に直接「ビルドと実行」してデバッグを行ってもクラッシュは起きない。実機にインストール後、アプリを起動した場合のみクラッシュする現象に遭遇しました。(まぁ通常はこの状態で動作するのが正常な訳ですが。。。) XcodeのデバッグコンソールからNSZombeが出すメッセージもなく、クラッシュするので困っていました。オーガナイザには当然クラッシュログは残っているのですが、 1 myapp 0x00020d80 0x1000 + 130432 とこんな感じなのでどこが問題なのか正確に理解できない。 stackoverflowに良い解決法が載っていました! Crashing app when device not connected to Xcode やり方は、ターミナルを使っ
UILabelに量が可変するテキストを流し込む時など、 - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode を使うと高さが分かるので便利です。 TEXT_SIZE に使用するフォントサイズ TEXT_WIDTH にUILabelの横幅 を設定しておけば、文字列を渡せば高さが帰ってきます。 #define TEXT_SIZE 14.0 #define TEXT_WIDTH 230.0 -(float)textHeight:(NSString*)text{ CGSize boundingSize = CGSizeMake(TEXT_WIDTH, CGFLOAT_MAX); //文字の横幅から高さを算出 CGSize la
やっと念願のiPhone開発です。しかもいきなり実践ですから、そりゃ恐ろしい。。。けど嬉しいという複雑な気持ちです。 リファレンス見たり、ネットで調べたりと、本当慣れるまで大変です。。。助けて〜 そんな中、ネットの情報には助けられているので、自分も基本的な開発Tipsをアウトプットしていきたいと思います。(自分用に) 今日やったこと。 ・画像のアップロード(POST送信) ・アップロードした画像をダウンロード まず画像のアップロード。 UIImagePickerController でPhotoLibraryから画像を取得します。 次にpickerで取得した画像をUIImageで取得。 UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; ここまでは書籍等に書いてありますね。 取得したUIIma
自分で書いたブログが役に立った日! やっぱりログを取っておくべきですね。久々に更新します。 今日はadHocで配信してみましたよ〜。やり方教わりながらだからできたけど、もう一度自分でゼロからやるには大変そう。いずれログにします。 今日はiPhoneで超簡単スレッドの巻。 そもそも自分はスレッドの意味があまり分かっていないのだけど、画像処理している間、フリーズ状態になるので、Active indicatorを出したいな〜と思っていたら、やはり別スレッドで処理しないといけないとのこと。で、グーグル先生に聞いてみると、超簡単なやり方を教えてもらいました。 ※追記:detachNewThreadSelector:toTarget:withObject:だとメモリリーク起きてました。。。 [NSThread detachNewThreadSelector:@selector(メソッド) toTarg
今日はiPhone関連で2つためになったこと。 まず、UIImageの合成。 下記は参考サイトです。下記はUIImageViewを使っています。 create one UIImage from two UIImageView. image1 は下になる画像です。 image2 はアルファチャネルを持った画像です。 それら2つを合成してresultingImageという合成画像を作ります。 ちなみに両方の画像サイズは一緒のものを想定しています。 imageViewはUIImageView で合成した画像を表示する。 UIGraphicsBeginImageContext(image1.size); CGRect rect = CGRectMake(0, 0, image1.size.width, image1.size.height); [image1 drawInRect:rect]; [
今日の実装 ・画像のトリミング ・xml読み込み -> xmlパース ・mp3のストリーミング再生(Core Audio本のクラス使用) Audio File Stream Servicesを使いこなすようになるには今のスキルでは無理そう・・・ 今日は画像トリミングについて まずimagePickerControllerで取得した画像をリサイズしてから使う方が何かと便利かも。 -(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info ピッカーで画像選択後、infoにNSDictionary型で画像データが格納されているので、 UIImage *image = [info objectForKey:UIImagePickerCo
久しぶりにiPhoneネタです。 UITextFieldはいろいろ気が利いていて使いやすのですが、 複数行の入力には対応していないみたいです。(残念) 複数行となると、UITextViewを使います。 UITextViewですと、UITextFieldのようにReturnKeyで入力完了を受け取ることができないので、ナビゲーションバーに「完了」ボタン等を付けていました。UITextFieldと同じ動きがクライアントの要求だったのでとても困っていたのですが、すてきな記事を見つけました。 How to Dismiss the Keyboard when using a UITextView ポイントは、UITextViewDelegateの - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)rang
UIColorで色を設定するには、デフォルトで定義されている[UIColor whiteColor]とかを使うか、 initWithRed:green:blue:alpha:でRGBAを設定します。 ここで、使う数値は0.0〜1.0。 0〜255ではないし、0xffとか16進法 色指定でもない。 RGBの場合だと255で割って少数点第3以下は切り捨てればいいけどね。 そんな時、グーグル先生に聞いたら、素敵なサイトがありました。 http://weblog.101proc.com/2009/02/273_rgb-to-uicolor/?wscr=1680x1050 今回、ボタンクリックで色を変化させるコンテンツだったので、 16進法で色指定して配列に持たせておきました。 (CGColorはよく分からない) サイトでは、下記を定義しておいて、 #define HEXCOLOR(c) [UICo
おやこで対戦 おもさくらべシーソーゲーム どうぶつシーソー 〜おもさでドン〜 をリリースしました。 今回はCocos2d-xというゲーム用のFrameworkを使って、iPhone&iPad/Android対応のアプリが1つのコードで作れちゃうという優れものです。 iPhone&iPad版
アプリ起動時に、ムービーを表示していて、タッチしてスキップさせる方法がやっと分かりましたのでメモしておきます。 そもそも、MPMoviePlayerController の movieControlMode = YES にしておけばコントローラが出て「完了」ボタンを押せばよい話ですが、このコントローラを出したくないとき(movieControlMode = NO)に使えるのではないでしょうか。 参考にした書籍:iPhoneSDK開発のレシピ 今回はMPMoviePlayerController の上にUIViewを貼付けて、UIViewでタッチイベントを拾うようにします。 まず、起動時にムービーを表示させるのは、下記等を参考にしてください。 [iPhone] メディアプレイヤーで動画再生 ポイントは、keyWindowを取得して、それにUIViewをaddSubviewすることでした。 こ
UITabBarControllerでタブをクリックせずにプログラムで表示内容を変えようという話。 要望としては、TabBarController内で表示しているviewControllerをフリックでもページ切り替えたいというのがあったの調べてみた。 まず、TabBarを作るのは、表示させるviewControllerを配列にいれる。 (ここではtab1とかがviewControllerね) NSArray *controllers = [NSArray arrayWithObjects:tab1, tab2, tab3, tab4, tab5, nil]; それをsetViewControllers:でセットする。 [self setViewControllers:controllers animated:NO]; selectedIndexで現在表示しているviewControlle
今日気がついたこと。 通常は、ナビゲーションバーを黒くする時、 navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque; とやらずに、 navigationController.navigationBar.tintColor = [UIColor blackColor]; とすると、navigationBarにつけたUIBarButtonItem がクリックしても反転しない。UISegmentedControllはどちらが選択されているかが分からなくなる。色付けると駄目ぽい。 でも、クリック判定は受け付ける。謎。 ※toolbarを上に持っていった方が使い勝手が良いよとアドバイスもらいました。 さて、UIViewにUITableViewを貼付けるというのに挑戦しました。 あるUIView内にリストを表示しようと
今日MacBookPro届いたよ。整備品だけど。 なぜかDVDの読み込みエラーになる時がある。整備品だからかと疑いたくなる。 あぁぁぁ、ほんとう情報が少ない。。Core Animation。ハマりまくり。 CABasicAnimation で使ってフラッシュでいうTweenerみたいなことをしたいと思っていて。 単純に、1つの動作をさせることは簡単に分かったのですが(例えば、拡大だけとか、回転だけとか)。 でも、拡大しながら回転させたい時はどうするんだよっと。公式ドキュメントやら読んでみたけど、意味不明でした。2つ並べても1つしかアニメされないし。。。 でも、洋書のCore Animationに書いてありました。あっさりと。買っておいて良かった。。。 Core Animation: Simplified Animation Techniques for Mac and iPhone Dev
UIBarButtonItemのボタンの色を変えたいときのメモ。 backgroundColorとかtintColorとか試したのですが駄目でした。 下記を参考にしました。 Color image on a UIBarButtonItem on a UIToolBar? 参考サイトのとおり、発想を変えてカスタムUIButtonを貼付ければ良いということです。 //ボタンの画像を用意 UIImage *buttonImage = [UIImage imageNamed:@"someImage.png"]; //画像からボタンを作成 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setImage:buttonImage forState:UIControlStateNormal]; //大きさを
月間アドベンチャーゲーム最高ランキング 2位を獲得!(9/20) 月間ゲーム総合最高ランキング 9位を獲得!(9/20) 月間総合最高ランキング 19位を獲得!(9/20) 12万ダウンロード達成!(10/5) とある屋敷に閉じ込められた忍者の其方 仕掛けられた数々の謎を解いてこの屋敷から脱出せよ! 操作方法は、怪しい場所をTAPしてください。 移動 アイテムを調べる 障子を開ける メニューのアイテムを選択する よくある静止画中心の脱出ゲームとは違い、Unityを使用して3D空間を移動できるように設計しました。一風変わった脱出ゲームに仕上がっています。 ※※※ 音感をもっと鍛えたい方にオススメ ※※※ みゅートレ イヤートレニングはお手軽に音感を鍛えるアプリです。1タップ操作で繰返し問題を解いていくことで音感を鍛え、さらに音楽理論も自然と身についていきます。楽器を手にできない通勤時間など空
このページを最初にブックマークしてみませんか?
『hiranodept app|平野百貨店』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く