ぽんぽこ日記

プログラミング、読書、日々の生活

iOS

MENTAはじめました

MENTAに登録してメンティー募集しています。iOSアプリ開発のご相談に乗ります。

【製作実績】オンラインサロン「シナプス」のiOSアプリの開発を担当しました

【製作実績】オンラインサロン「シナプス」のiOSアプリを担当しました。

【製作実績】グループ通話アプリVoiceLink®を開発しました

この半年間、開発を担当したVoiceLink®というアプリがリリースされました。 VoiceLink®とは? VoiceLink®は多人数の音声グループ通話が出来るスマートフォンアプリです。 facebookアカウントを持っている人なら誰でも無料で使えます。

iOSシミュレータを複数起動できるfbsimctlでデバッグがはかどる件

fbsimctlを使ったiOSシミュレータの複数起動。テスト・デバッグの効率化。

Prott風にタップ可能な部分をハイライトする方法

前回のエントリーで、Storyboardを使ったプロトタイピングをオススメしたのですが、一部コードを書いている処理があります。 ponpoko1968.hatenablog.com プロトタイプ共有サービスのProttでは、作ったプロトタイプをプレビューするとき、画面をタップすると…

StoryBoardを使ったBtoBアプリのプロトタイピングのススメ 〜まだエクセル方眼紙で消耗してるの?〜

Storyboardを使ってiOSアプリをプロトタイピングするメリットについて。

神戸市長会見で拙作「AEDマップ」を紹介してもらいました

拙作AEDマップ神戸が神戸市長定例会見で紹介されました。

Swift言語用Emacs自動補完機能を公開しました

sourcekittenをバックエンドに使って、Emacsのauto-complteでSwiftの自動補完が出来るようになりました。

神戸市内にあるAEDの場所を閲覧するアプリ「神戸AEDマップ」をリリースしました

オープンデータを活用して神戸市内のAED設置場所を閲覧するアプリを作りました。

命日カレンダーがapple watchに対応しました

約一年半前に、「命日カレンダー」というiOSアプリをリリースしました。 ponpoko1968.hatenablog.com 今回これをapple watchに対応させました。グランスで個人の肖像画が表示され、タップしてアプリを起動すると、職業・肩書き付きで表示されます。 命日カレ…

【iOS8】 WKWebView内の画面遷移をフックする

iOS8で導入されたWKWebViewでページ遷移を制御する方法について

新アプリ「命日カレンダー」をリリースしました

iOS

職場のデザイナーさんが著名な文化人・歴史上の人物の命日の肖像画を日めくりカレンダーにしました。 http://www.creema.jp/exhibits/show/id/264009 これ、アプリにしてもおもしろそう、ということで、私がiOSのプログラミングを担当し、リリースの運びとな…

UIWebView内の画面遷移をフックする 応用編

iOS

当ブログのアクセスログを見ていると、shouldStartLoadWithRequestについて書いた「UIWebView内の画面遷移をフックする」が圧倒的に人気コンテンツであるようです。 そこで、応用編として、アプリ内のUIWebView画面で、webサイト上のファイルへのダウンロー…

[iOS]iPhoneアプリをペーパープロトタイピングする

iOS

「日経ソフトウェア」2012年6月号で、iOS開発の世界では有名なfladdictこと深津貴之氏が、ポストイットを使った、紙ベースでiPhoneアプリをデザインする方法を紹介しています。市販されているポストイットのうち、5cm x 7.5cmのものが、iPhone画面の実サイズ…

iPhone開発についてのFAQ

職場の技術発表会でiOS開発関連で発表したところ、Objective-Cでの開発に対して高いハードルを感じている人が多いようだったので、少しでもiOS開発に興味を持ってもらえるようFAQを書いてみました。 Original Update by nickcastonguay Q. 何が必要? Xcode…

iOSアプリのバージョン番号を表示する

iOSアプリを作っていて、実行中のアプリのバージョンを知りたいことがあります。他人からの不具合報告なんかを聞いた場合にはまずバージョンを知りたいと思います。 そういった都合から、「このアプリについて」のような画面を用意することが多いと思います…

クリップリーダーポケットをリリースしました

iOS

iPhone用PDF/Zip/Rarリーダアプリ「クリップリーダーポケット」をリリースしました。 姉妹品であるiPad版「クリップリーダー」の特徴である、 ・ページをクリップする ・Evernote連携 ・余白の切り取り・拡大 ・長押し拡大 に加え、 ・コントラスト調整 ・白…

iPadアプリ「らくらくリーダー」がブログで紹介されました。

iOS

らくらくリーダーがブログに紹介されました!電子書籍を切り取ってEvernoteにらくらく保存出来るiPadアプリ登場美麗なスクリーンショット満載のわかりやすい解説まで付けていただいて、感謝感激です。 いろいろリクエストも頂戴したので、今後の機能追加の参…

iPadアプリ「らくらくリーダー」をリリースしました

iPad用PDFリーダアプリ、「らくらくリーダー」をリリースしました。 筆者は以前より、いわゆる「自炊」で古いIT雑誌や小説・新書をPDF化していました。iPadがリリースされたときも早速購入してこれまで「積ん読」していた本を読もうとしたのですが、今ひと…

携帯WebページをiPhoneで表示する

当ブログのアクセスを解析していると、「UIWebView内の画面遷移をフックする」がよく閲覧されているようです。今回もUIWebView関連で少し書いてみます。携帯Webページをサーバ側の変更なしiPhone/iPadで読みやすく表示したいということはよくあるかと思いま…

clangを使ったCのコード補完

私は、iOS/Objective-Cのコーディングには専らEmacsを使っています。下記ブログのおかげでかなり快適なObjective-Cのコーディング環境が手に入りました。(1) Emacs で iPhone アプリ開発を快適にするための設定ただ若干気になるところとして、auto-complete-…

UITableViewのヘッダーへのタッチでセルを折りたたむ方法

先日見かけたアプリで、UITableViewのヘッダ部分をタッチすると、そのヘッダに属するセルが伸び縮みするという動作がありました。 どうやってやるのか調べてみて、どうやら下の動画のような動きを実装できたので、共有します。 https://dl.dropboxuserconten…

PDFの文書構造を取り出す

今回は、PDF文書の目次情報を取得する方法について記します。アウトラインそのものはPDFカタログの「Outlines」から取得できます。このエントリは木構造になっているので、深さ優先で、「First」項目をスキャンし、木をスキャンし終わったら「Next」項目をス…

アジア言語圏のPDFのテキスト抽出 3

フォント情報から文字コードを得る方法です。まず、Font情報はそのフォントを使用するページのResourceとして登録されているので、その情報を取り出します。 CGPDFPageRef page; // page ページオブジェクトを取得。。。 CGPDFDictionaryRef pageDict = CGPD…

アジア言語圏のPDFのテキスト抽出 - 2

前回の続きです。ponpoko1968.hatenablog.com PDFの文字列描画命令は、TJ、Tj演算子のオペランド文字列のエンコードとキャラクタセットは、先だって実行されたTmオペレータのフォントの指定に従っています。 たとえば、 /C2_0 1 Tf 0 Tc 4.093 0 Td <0DFA0F6…

iPhoneシミュレータでOCUnitを実行する

前回のエントリで、XCodeのデバッガ上でOCUnitのテストを実行したいと書いたが、UIが絡まないようなロジックテストであれば思いの外簡単に実現できたので共有。まず、新規ターゲットとしてCocoa Touchアプリケーションを追加。 ターゲットを右クリック「情報…

OCUnitでテストメソッドを選択的に実行する

小ネタですが。。本来のユニットテストの趣旨とはことなるが、動作がよくわからないクラスやAPIを試してみるときなど、試行錯誤しながらコードを書いていくときに、テストプログラムを書いて試してみては、書き換えてまた別の方法を試したりと、選択的にテス…

プリレンダリングした画像イメージを圧縮形式でキャッシュする方法

意外と日本語のエントリが少ないのでメモ。PDFページの表示など、レンダリングして画像イメージを生成するのに非常に時間がかかってユーザビリティを損ねる場合、あらかじめプリレンダリングした画像イメージをキャッシュとして置いておきたい。しかしiOSデ…

アジア言語圏のPDFのテキスト抽出

この手のアプリ作っている人には既知のことなんだろうけど、このあたりでアジア言語圏で作られたPDFから抽出したテキストが文字化けするという話題があって、下記の方法で一応解決できたぽいのでメモ。 "TJ"や"Tj"のオペレータコールバックから、 static voi…

あるディレクトリ下の特定拡張子のファイルを探す

よく使いそうだけどたぶん毎回忘れるので、snippetメモ。 // ドキュメントフォルダのパス文字列を取得 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *aDirectory = [paths objectAtIndex:0…