酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

iPhone

Xamarin.iOSでUIImage型のバッファとbyte[]型とを相互に変換する

Xamarin.iOSでUIImage型のバッファとbyte型とを相互に変換してみましょう。 UIImage型とbyte型とでは相互に直接型の変換をおこなうことができません。一度、NSData型に変換した上で希望する型への変換をおこないます。 UIImageとbyteとを相互に変換する UIIm…

Xamarin.iOSでUnwind Segueを使って前の画面に戻る(Storyboard使用時/プログラム編)

iOSで表示された画面はスタック構造で履歴が管理されており、pushViewController:animated:メソッドやpopViewControllerAnimated:メソッドを使用することで、指定した画面へ遷移したり遷移元の画面に戻るということをしていました。 iOS 5でStoryboardが導入…

Xamarin.iOSでNSUserDefaultsにデータを保存する

iOSでアプリケーションの設定値などを永続的に保存するために使われる方法のひとつにNSUserDefaultsがあります。iOSには他にもCoreDataやファイルとして保存することができますがNSUserDefaultsはその中でも最も簡単な方法でしょう。 文字列をNSUserDefaults…

Appbank Network、AdMobのAdvertising SDKをバージョンアップしたときにリンクエラーが発生したのでその対策

iOS 8が正式に公開されて、広告関係のSDKを全てアップデートしました。今までのように上書きアップデートではリンクエラーが発生するようです。 nendSDK for iOS v2.5.4 Appbank NetworkのnendSDK for iOSのv2.5.4では、アニメーションGIF関連の対応が増えて…

千葉工大の休講情報アプリを起動するとクラッシュする不具合を修正しました

CIT休講情報アプリを起動すると、クラッシュする不具合が発生していることに気付きましたので修正しました。 原因としては夏休みに入り休講情報が存在しない状態になったため、サーバーからのレスポンスがnullになってしまい、JSONデータのパースに失敗しア…

ibisPaintを使ってでじこちゃんを描いた

2週間くらい前にぬまさんがTLにでじこちゃんの絵をアップロードしていました。 もうペンタブを処分して久しいので、iPhone用のお絵描きアプリをいくつかインストールして、試し書きをした結果「ibisPaint」というアプリが一番使い勝手がよいのがわかりました…

iPhone用2ch専ブラ「BB2C」でスレッド検索機能を復活させる方法

以前、「iPhone用2ch専ブラ「BB2C」で2ch.scなどの外部板を追加する方法 - 酢ろぐ!」にて、外部板で2ch.scの板を追加する方法を書きました。 最新版では、BB2Cのスレッド検索サーバーが機能しなくなってしまっているようです。 具体的には検索を開始すると…

NSTimerでblocksを処理する を書きました

久しぶりにiOSのネタを書きました。タイマーが満了したあとの処理をdelegate用に別メソッドで用意するほどではなかったのでblocksを使って処理させてみました。 NSTimerでblocksを処理する - iOSアプリ開発の逆引き辞典

千葉工業大学 休講情報 for iPhone をリリースしました

本日、iPhone(iOS 6.1〜)で千葉工業大学(CIT)の休講情報と学食のランチ情報を見るためのアプリをリリースしました。曜日タブを選択するとその曜日の休講情報が閲覧する事ができます。 おまけ機能のひとつですが、千葉工業大学の学食別のランチ情報もみること…

東京農業大学 休講情報アプリで休講情報が見れなくなっていた不具合を修正しました

たまたま今日アプリのレビューを見ていたら、今年になってから休講情報が表示されていないという書き込みをしている学生の方がいるのに気付きました。 調べてみたところ、どうやら今年度から休講情報のフォーマットが少し変わったようで、休講情報の取得に失…

文字列を表示するサイズを求めるsizeWithFont:メソッドがiOS 7から非推奨になっているのでワーニングが出ないように置き換える方法 を書きました

文字列を表示するサイズを求めるsizeWithFont:メソッドがiOS 7から非推奨になっているのでワーニングが出ないように置き換える方法を「iOSアプリ開発の逆引き辞典」に書きました。 文字列を表示するサイズを求めるsizeWithFont:メソッドがiOS 7から非推奨に…

iPhone用2ch専ブラ「BB2C」で2ch.scなどの外部板を追加する方法

なんだか2ch周辺が大変なことになっていますがどうなんでしょうか。日本史周りネットにあまり載っていない情報が集約されているイメージなので、ユーザーを分散させない形でまとまると良いなと思っています。 それはそうと、BB2Cで「2ch.netのとある板が見れ…

UITableViewのセクションインデックスの見た目をカスタマイズする方法 を書きました

UITableViewのセクションインデックスの見た目をカスタマイズする方法を「iOSアプリ開発の逆引き辞典」に書きました。 UITableViewのセクションインデックスの見た目をカスタマイズする - iOSアプリ開発の逆引き辞典 iOS 7でセクションインデックスを表示す…

iOSでカテゴリにプロパティを生やす

カテゴリにこんなプロパティを生やしたい。 @interface UIImageView () @property (strong,nonatomic) NSArray *currentAnimationImages; @end 実装側では下記のように実装する。objc_getAssociatedObjectの第2引数はキーです。 キーは中身の内容ではなくて…

「Windows Store App Logo Maker」でiOSやAndroidのスマートフォン向けのアイコンが作れるようになったぞ!

各プラットフォーム向けに同じアイコンを何回リサイズしないといけないんだ。アイコンを作るの面倒くさいと常々考えていました。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElem…

iOSで1色だけの空のUIImageを新しく作る

// 1色だけの空のUIImageを作る - (UIImage *)imageWithColor:(UIColor *)color rect:(CGRect)rect { UIImage *image = nil; // ビットマップ形式のグラフィックスコンテキストの生成 UIGraphicsBeginImageContext(rect.size); // 現在のグラフィックスコン…

iOSで任意の領域をクリッピング(トリミング)して新しいUIImageを作る

UIImage *srcImage = [UIImage imageNamed:@"test_image"]; UIImage *dstImage = nil; CGRect clipRect = CGRectMake(0, 0, 320, 400); // 指定された画像から指定された範囲の抜き出す CGImageRef cliped = CGImageCreateWithImageInRect(srcImage.CGImage,…

明日から爆弾低気圧が日本を襲うようですが、iOSで❄と☃の間に❄︎を入れると❄︎が消えてしまう現象をみつけました

iPhone 5s(iOS 7.0.4)で、Twitterをやっているときにたまたま見つけました。明日から爆弾低気圧が日本を襲うようなのでゆきで変換できる絵文字を並べた結果、文字が消えることを発見しました。 iOSで❄と☃の間に❄︎を入れると❄︎が消えてしまう現象をみつけまし…

iOSでナビゲーションバーやタブバーの色をまとめてカスタマイズする

あとで追加する。 ナビゲーションバー(UINavigationBar) ナビゲーションバーそのものの色を変更する // ナビゲーションバーのバーの色を変更 [UINavigationBar appearance].barTintColor = [UIColor colorWithRed:157.0/255 green:157.0/255 blue:157.0/255 …

iOSアプリでGoogle AdMobのバナー広告を実装して表示させようとするとクラッシュする問題に対応した

AdMob SDK v6.2.xの時にも発生していたような気もしますが、Xcode 5(iOS 7 SDK)とAdMob SDK v6.4.1の組み合わせでバナー広告を表示させようとしたところ、実行時に以下のようなエラーメッセージが出力されると共にアプリケーションがクラッシュしてしまいま…

Google AdMobのアカウントを作ってみよう

Google AdMobの広告を組み込む方法については「Google AdMobのバナー型広告を実装する」にて紹介しております。そちらをご覧ください。 まず表題のAdMobについて紹介しましょう。 AdMobはOmar Hamoui氏によって2006年に設立されたモバイル広告会社で、2009年…

Xcodeでerror: PCH file built from a different branch ((clang-425.0.27)) than the compiler ((clang-425.0.28)) が表示された時の対応方法

クリーンビルドしたら、エラーが直ります。

Xamarin.iOSで乱数を使う

乱数を取得するには、System名前空間のRandomクラスを使います。 乱数を取得する Random r = new Random(); var randomNumber = r.Next(); 0以上10未満の乱数を取得する Random r = new Random(); var randomNumber = r.Next(10); 5以上10未満の乱数を取得す…

Xamarin.iOSでUIAlertViewを使ってアラートを表示する

すみません。更新が長いこと空いてしまっていました。今日からまたXamarin Studioを使った開発Tipsを発信していきたいと思います。 Xamarin.iOSでアラートを表示させてみましょう。.NET Frameworkでアラート表示と言えばMessageBox.Showメソッドを使いますが…

Xamarin.iOSで現在時刻を取得する

Xamarin.iOSを使って現在時刻を取得します。 var currentTime = DateTime.UtcNow; Console.WriteLine ("Date/Time: " + currentTime); 関連記事 Xamarin.iOSを使ってアプリ開発する際に逆引きとしてお使いください。

Xamarin.iOSでバッググランド処理するスレッドを起動する

新しいスレッドを作ります。 var thread = new Thread(NewThreadMethod as ThreadStart); thread.Start(); 新しいスレッドが呼び出されるメソッドを作ります。 [Export("NewThreadMethod")] void NewThreadMethod() { using(var pool = new NSAutoreleasePoo…

Xamarin.iOSでバイブレーションとシステムサウンドの再生を鳴動させる

バイブレーションさせる SystemSound.Vibrate.PlaySystemSound(); cafファイルを再生する var sound = new SystemSound(new NSUrl("audioFile.caf")); sound.PlaySystemSound();

Xamarin.iOSでパラパラ画像を変えるアニメーションを実装する

Xamarin.iOSでパラパラアニメを実装します。 // パラパラアニメさせる画像の一覧をリストに追加する var images = new List<UIImage>(); images.Add(UIImage.FromFile("img1.png")); images.Add(UIImage.FromFile("img2.png")); images.Add(UIImage.FromFile("img3.pn</uiimage>…

iOS6からはカレンダーにアクセスする場合、ユーザーへアクセス許可を取る必要がある

カレンダー機能を使うアプリを新規申請出したときにリジェクトされたのでアレ?と思って調べてみた。どうやらカレンダー機能は、iOS6からユーザーのアクセス許可をもらわないといけなくなっていたようだ。 別のアプリではいままで通ってたやん!と思わなくも…

Xamarin.iOSでフォルダのパスを取得する

.NET FrameworkではEnvironment.GetFolderPathメソッドを使うことでフォルダパスを取得することができます。Xamarin.iOSをiPhoneシミュレータで実行した場合に取得できるフォルダパスを調べてみました。 string dir = string.Empty; dir = Environment.GetFo…