プログラミングノート

一からものを作ることが好きなエンジニアの開発ブログです。

iOS

様々な動画の加工が1本のアプリで完結できる『ビデオスミス』をリリースしました。

iOS

ビデオスミス/Video Smithは動画の回転、正方形トリミング、文字入れ、アフレコなどの動画加工がこれ1本で全てできる動画編集ツールアプリです。加工した動画はカメラロールに保存できるので、twitterやfacebook、instagramなど、各種SNSに投稿する前のちょ…

iOS7.xのバージョンシェアを調べてみました

iOS

毎年恒例となっているiOSのメジャーアップデートですが、今年もiOS9のリリースまであと1ヶ月程度となってきました。ゲーム開発も一段落したこともあり、先週辺りから自社アプリのiOS9対応に着手しているのですが、iOS7のサポートをどうしようかなというとこ…

新作ゲーム『あみだねこ』をリリースしました!

本日「あみだねこ」というあみだくじ風な脳トレパズルゲームをリリースしました!www.youtube.com ねこをゴールに連れて行こう、あみだくじ風な脳トレパズルあみだねこ! 遊び方は簡単、板を動かしてねこをタップするだけ。 簡単なようで難しい数々のステー…

Cocos2d-xにAdMob (インタースティシャル) を導入する方法 - iOS編

前回のバナー導入に引き続き今度はインタースティシャル編。AdMobバナーが表示出来ていれば、コードを追記していくだけで対応できる。まずは検証として、起動したらインタースティシャル広告がでるようにしてみるコードはこちら。(バナー関連のコードは削除…

Cocos2d-xにAdMob (バナー) を導入する方法 - iOS編

Androidに引き続きiOSでもAdMobを導入。サンプルプロジェクトを作成 $ cocos new HelloCocos -p com.appstair.HelloCocos -l cpp -d ~/project/cocos2d ライブラリの準備 こちらのページからiOSのGoogleMobileAdsSDKをダウンロードして、proj.ios_mac/libs …

Sketchを使ってApp Store用スクリーンショットを一括生成する方法

iOS

iPhone6, 6 Plusも加わって、これまで以上に準備するのが大変になったAppStoreのスクリーンショットですが、Sketch3を使ってお手軽に生成できるツールが公開されていたので使ってみました。 準備 Sketch3(9800円とちょっとお高め) clusterinc/SketchToAppS…

Aviary改めAdobeCreativeSDK Image Editing Componentの導入方法

iOS

写真, 動画系アプリを中心に開発しているため、長らく画像編集エディターとしてAviary SDKのお世話になっていたのですが、AviaryがAdobeに買収され、今後新しいアプリケーションでは利用できなくなってしまったため、AdobeCreativeSDK Image Editing Compone…

iOS開発時に揃えたい端末

iOS

Androidを書いたのでついでにiOSも。iOSも最近解像度が増えてきて色々と複雑にはなってきましたが、開発に必要な端末の選択という意味では特に迷うことはないのがいいところ。 対応すべきOSのバージョン 弊社では最新の2メジャーバージョンをサポートするこ…

iOSの解像度メモ

iOS

最近iPhone6/6 Plus対応をするためにちょくちょく参照していたのでメモ。 インチ デザイン時参照 コーディング時参照 端末 3.5 960x640 480x320 iphone4, 4s 4.0 1136x640 568x320 iphone5, 5s 4.7 1334x750 667x375 iphone6 5.5 2208x1242 (1920x1080) 736x…

自前ライブラリのCocoaPods対応メモ

iOS

git submoduleで管理している自前ライブラリ郡をそろそろCocoaPodsで管理してみたいなと思ったので試してみることに。まずは公式ドキュメントにあるPrivate Podsの通り、独自のリポジトリを作ったりしてみたのだけれどちょっと面倒くさかったので、ライブラ…

自由に着せ替えができる、iPhone,iPadのアルバムアプリ『iフォトアルバム』が50万ダウンロードを達成しました

弊社のiOSアプリ『iフォトアルバム』が、今年の3月に公開してから約半年間で50万ダウンロードを達成しました。当初3ヶ月で達成したいと思っていたので少し時間はかかってしまいましたが、折角の機会なので色々公開してみようと思います。 AppStore - iフォト…

もうすぐiOS6、ユーザーが利用しているiOSの端末とバージョンのシェア比較

iOS

いよいよiOS6が間近に迫ってきました!毎年この時期になると開発環境のバージョンアップもあり、古いOSの対応をどうして行くのかが悩みどころですよね。 これまではそら案内 for iOS のアクセス解析結果に見るiOSの世界など参考にさせて頂きつつ決めていたの…

静止画をAirPlayする方法について

iOS

使っている人は結構使っているAirPlay。 弊社アプリでも多数の要望があり、静止画/動画のAirPlay機能を提供しています。 もう随分前になりますが、iOS4.3から動画の配信がサポートされ、MPMoviePlayerControllerについてはallowsAirPlayというオプション1つ…

Crashlyticsでクラッシュを撲滅しよう!

iOS

アプリを運営していて一番困るのが、原因不明のクラッシュです。たまにユーザーレビューで〇〇すると落ちます、というようなレビューを見かけるのですが、実際に開発環境で試してみても再現することが出来ず、修正しても直ったかどうか分からないというケー…

Google Maps JavaScript APIを利用したジオコーディングの実装について

iOS

地名, 住所から緯度経度を検索したいと思い、まずはCoreLocation frameworkのCLGeocoderを利用してみました。 CLGeocoder *geocoder = [[[CLGeocoder alloc] init] autorelease]; [geocoder geocodeAddressString:@"東京タワー" completionHandler:^(NSArray…

Facebookに写真を投稿できるASFBPostControllerを公開しました。

iOS

弊社の写真アプリ(iフォトアルバム、FlickPics)で提供しているFacebook投稿機能を切り出して公開しました。 ASFBPostController https://github.com/ntaku/ASFBPostController

iPhoneアプリに特化したプロモーション講座に参加してきました

第2回iPhoneアプリに特化したプロモーション講座に参加。2時間で6本のプレゼンがありました。展開が早くてあまりメモをとれていないところも多いのですが、ウェブで見つけた資料と共にまとめました。

スマホ向けのFAQページジェネレータを作りました

アプリに対するお問い合わせを色々頂くのですが、共通する内容も多く、開発者にとっても、ユーザーさんにとってもあまりよろしくない状態が続くことがよくあります。UIを改善していけば解決する問題もあれば、そうでない問題もあり、困ったときにまず参照で…

GTM HTTP Fetcherを利用した通信方法まとめ

iOS

ASIHTTPRequestが開発終了ということで、最近はGoogleが開発しているGTMHTTPFetcherを利用しています。 Best Album、FlickPicsともに利用していますが、シンプルなNSURLConnectionのラッパーなのでとても扱いやすく、ソースもそこまで大きくないので必要に応…

そのUI, まずはCocoa Controlsで探してみよう

iOS

iOS Advent Calendar 9日目担当のntakuです。もし、iOS開発する上で一番大変なことはなんですか?と聞かれれば間違いなくUIの開発!と答えます。同じ価値や機能を提供するにしても、使っていて気持ちが良いUIであるかどうかでアプリの評価は大きく変わってく…

UIWebViewでWebとネイティブを相互連携させる方法について

iOS

特定のページのみUIWebViewを使ってWebページを表示することはよくあると思いますが、そのページでの処理終了したタイミングで、再びネイティブコードを実行したいというケースがあります。 PhoneGapではJSからネイティブコードを呼ぶ仕組みが実現されていま…

iTunes Connectのダウンロードレポートを解析するスクリプト

個人のアプリはappfiguresというサイトを使って管理しているのですが、会社で必要となったのでさくっと書いてみました。ウィークリーレポートのみですが、ちょっと直せば色々使えると思います。 こんな感じでダウンロード数、アップデート数が出力されます。…

Exifなどのメタデータを自由に操作するにはどうするか

iOS

Best Albumの開発でもっとも苦しめられたと言っても過言ではないのがExif操作。iOS4以降で自由にいじれるようになったとはいえ、あまりまとまった資料がなくて大変だったのでこれから作る人のために。(iOS4.2で動作確認をしています) ライブラリ ここでは下…

アプリケーションディレクトリの構造とアクセス方法

iOS

iOSではデータの保存場所として特定のディレクトリを利用することができます。 Best Albumではサムネイル画像、オリジナル画像を全てキャッシュディレクトリに保存しているのですが、パフォーマンス的に全く問題がなく、今後活用する機会も増えそうなのでま…

UIBarButtonItemの色を変更する方法

iOS

UIToolBarに設置するボタンの色を変更したい場合があるかと思います。色の変更はUINavigationBarなどと同様、tintColorでさくっとできるだろうと思いきやAPIにアクセスできません。 CustomViewで画像を利用したボタンを表示する方法などもありますが、下記の…

Picasaアプリ開発ノート

iOS

9月半ばからPicasaアプリを開発していたのですが、先日やっと申請できたので、参考にしたサイトなどまとめておきます。 gdata-objectivec-client GdataObjCIntroduction Performance 公式のWiki。 gdata-objectivec-clientを静的ライブラリとして組み込むに…

gdata-objectivec-clientを静的ライブラリとして組み込むには

iOS

Google Data APIに簡単にアクセスできるgdata-objectivec-clientライブラリの組み込み方法。次回やるときに確実に忘れてそうなのでメモ。 入れ方は色々あるのですが、今回はBuildingTheLibraryという公式のwikiに記載されているLinking to the iPhone Static…

非同期通信で画像をロードする方法について

iOS

UITableViewなどのスクロール系のViewでサムネイル画像を出す場合、下記のような記述ではメインスレッドで画像がロードされるため、ユーザーのUI操作に影響が出てしまいます。 NSURL *url = [NSURL URLWithString:@"URL"]; NSData *data = [NSData dataWithC…

iViewKitプロジェクトを始めました

iOS

iPhoneアプリを開発する際、いつも以前に作ったコードから調べたりして結構手間だったのですが、Xcodeのテンプレートを作ってしまえば解決しそうなので作ってみる事にしました。まだ始めたところなのであまり中身がないですが、iViewKitで公開しています。ダ…

iPhoneでバーコードを解析するにはどうするか

iOS

1次元バーコードを解析して、その場でAmazonのレビューとか引っ張ってこれると便利そうだとか思い、ここ数日色々試していたのですが、結構ムズイということが判明。現在詰まってるところなのですが、とりあえずメモとしてまとめておきます。 ZXing 携帯端末…

iPhoneのSafari対応について

iOS

Safari対応サイトを作った際にあまり調べていなかったので、ちょっと調べてみました。OS 3.0から使える機能も増えていて、簡単なアプリならネイティブアプリ作らなくても実現できますね。選択肢が増えるのは良いことです。 ブラウザの仕様 Web標準技術が使え…

CATransitionでトランジションエフェクトを実行する方法

iOS

レイヤのコンテンツ全体に作用するエフェクトを実行する場合は、Core Animation Transitionを利用するのが便利です。Core Animationは色々複雑なことが出来るようですが、今のところアニメーション関連はUIViewのクラスメソッドとこのCATransitionで事足りて…

iPhoneOS 3.0.1 での実機確認

iOS

久々に実機ビルドしようとしたらXcodeが対応しているバージョンではないというエラーが。どうしようか悩んでいたら、iPhone OS 3.0.1への実機ビルド対応についてで紹介されてたドキュメントで一発解決。リンク張るだけでよかった。Thanks!

OpenGL ESについて

iOS

昨日聞いたセッションで試してみたくなったので調べてみました。 OpenGL ESの概要 組込機器(Embedded System)用のOpenGL OpenGLのサブセットで対応するバージョンはそれぞれ下記の通り OpenGL ES 1.0 OpenGL 1.3 OpenGL ES 1.1 OpenGL 1.5 OpenGL ES 2.0 O…

iOS開発まとめ

iOS

iOS開発のまとめです。全てではないですが、エントリーに掲載しているコードはgithubからDownload出来ます。 IBを使わないサンプルコード集を作ったので公開 UIView UINavigationControllerの利用 UIViewControllerの利用 UIViewでスワイプを検出する方法 非…

UITabBarの背景を変える方法 その2

iOS

TabBarの背景に加えて、選択タブの背景も変更できるサンプルを作りました。OriginalTabBar UITabBarの背景を変える方法のようにカテゴリでは実現できなかったので、UITabBarを持つ独自のコントローラーを作りました。必要最低限のメソッドしか実装していませ…

静的解析ツールClang

iOS

最近、開発中のアプリを使っているとよく落ちるようになったので、静的解析ツールを試してみました。さくっと入るかなと思ったのですが、思いがけず色々はまったのでまとめておきます。 インストールから実行まで 1. LLVM/Clang Static Analyzerから最新版(c…

IBを使わないサンプルコード集を作ったので公開

iPhone開発を始めた当初、Interface Builderを利用せずに全てコードでUIを作っているサンプルが中々見つからずに苦労したので、今まで作ってきたコードを整理してgithubにまとめてみました。下記URLにアクセスしてdownloadを実行すれば一括で取得できます。 …

複数ボタンを配置する

iOS

しばらく触っていなかったのでちょっと忘れ気味なiPhoneです.. ボタンに限らず、複数の同じパーツを設置する場合によく使うのでメモ。 もっとこうした方がよいよみたいなことがあればつっこみお願いします。 まずはNSMutableArrayを用意します。 @interface …

SQLiteの利用2:DAOからのアクセス

iOS

前回のエントリーでSQLiteが使えるようになったので、DAOでアクセスできる形に整理してみました。ちょっと長いですが全コード掲載。最終的には下記のような構成になります。

UIViewでスワイプを検出する方法

iOS

スワイプ(ページをめくるような動作)を検出するコードです。あまりサンプルがなかったので、iPhoneデベロッパーズクックブックを参考に。速度も検出できるので、動作によって遅くor速くアニメーションを実行するなどの制御ができます。 MyView.h #import <UIKit/UIKit.h> </uikit/uikit.h>…

SQLiteを利用する方法

iOS

下記サイトを参考に自分でも試してみました。 超簡単にSqliteをつかう iPhone Programming Tutorial - Creating a ToDo List Using SQLite Part 1 利用手順 1. DBファイルとテーブルの作成 2. 必要なライブラリ(FMDB for iPhone, libsqlite3.0.dylib)を追加 …

GPSを利用する方法

iOS

GPS測位はどんな感じでできるのか試してみたのですが、下記の手順だけでよかったので簡単に測位できました。 1. CoreLocation.frameworkを追加します。 2. CLLocationManagerを生成して測位開始します。 LocationViewCtrl.h #import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> @interface Lo</corelocation/corelocation.h></uikit/uikit.h>…

UIViewで手軽にアニメーションを実行する方法

iOS

UIViewにはアニメーション関連メソッドが用意されているので、お手軽にアニメーションを実行することができます。ボタン、ラベル、画像などは全てUIViewを継承しているので基本的に全て同じ方法で実行可能です。 まずはUIViewの初期化メソッドでUIButtonを生…

UITabBarの背景を変える方法

iOS

UITabBarControllerで表示されるUITabBarの背景をデフォルトの黒からオリジナルの画像やカラーに変更する方法です。色々探していたところ、あまり情報はなかったのですがカテゴリを利用すれば出来そうという書き込みのもと、試してみると上手くできました。 …

UITableViewCellの利用

iOS

UITableViewでカスタムセルをコードで作成する方法です。UITableVIewの利用で作成したコードとの差分のみ掲載しています。完全なサンプルはこちらからどうぞ。 MyTableCell.h まずはUITableViewCellを継承したMyTableCellを追加します。 #import <UIKit/UIKit.h> // Identif</uikit/uikit.h>…

UITabBarControllerの利用

iOS

Interface Builderを使わずに作るシリーズ、今回はUITabBarControllerです。Window-Based Applicationのテンプレートを利用し、各タブの内容を管理するためのUIViewControllerを2つを追加して作成しています(Page1ControllerとPage2Controller)。サンプルコ…

UITableVIewの利用

iOS

Interface Builderを利用せずにUITableViewを利用する方法です。ソースコードはこちらから。Window-Based Applicationのテンプレートを利用し、UIViewController (MyViewController) を追加して作成しています。 MyViewController.h UIViewControllerを継承…

iPhone開発セミナー

今日はアップルのiPhone開発セミナーに参加。 内容は書けないので記録だけ。

UINavigationControllerの利用

iOS

Interface Builderを利用せずにナビゲーションメニューを実装します。今回はソースコードをアップしたので主要な箇所のみ載せてます。 まずはapplicationDidFinishLaunchingでUINavigationControllerを生成、スタイルを設定し、起動時に表示するUIViewContro…