サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
labs.torques.jp
macOS Sierra (10.12.x)にしてから特に問題ないと思ってたけど、SSHを覚えてくれない問題があったので、問題の背景と対応をまとめておきます。 ssh-addの基本 何か作業する場合、ssh認証する度に毎回パスフレーズを入力するのは大変です。 そこで、ターミナルでssh認証する際に秘密鍵を使う場合、次のように入力してパスフレーズを入れておくと、そのターミナルを閉じるまではその鍵が有効になります。
iPhone 6、6 Plus の解像度と、デザインの話。 当初、ざっくり調べた感じで、だいたい、iPhone5と同じアスペクト比だから特に問題ないかな?と軽く考えていたのですが、実際は、ちょっと様子が違うようです。。 しかも、6とPlusの間で! PaintCodeブログより PaintCodeというアプリのブログによると、iPhone 6と、iPhone 6 Plusの間には大きな差があるようです! http://www.paintcodeapp.com/news/iphone-6-screens-demystified iPhone 6は、スケールファクタがx2のまま画面サイズが大きくなったのですが、iPhone 6 Plusは、スケールファクタがx3でレンダリングし、実際のデバイスサイズに縮小しているようです。。 要は、iPhone 6 Plusは、ドットバイドットで画像を指定する
今年のiPhone 日本時間の今朝2:00、事前の噂通り、大画面化したiPhoneが発表されました! しかも、新しい2機種ともこれまでと違う画面サイズ(iPhone 6: 750×1334、iPhone 6 Plus: 1080×1920)! アプリを作る開発者としては、一番気になるのはそのアスペクト比なのですが、アスペクト比を計算し、デザインについての考察をまとめました。 アスペクト比は変わらないがデザインは再検討必須! ちょっと前なら、rubyとかperlで書くようなコードですが、今ならXcodeのPlayground(Swift)ですよね! ソースコードはgistにアップしましたが、次節で説明します。 まずは結果を書いておきます。 iPhone 4 (S) : [640:960] => [2:3](0.666666686534882) iPhone 5 (C|S) : [640:11
このブログでは書いていませんでしたが、先月Raspberry Piを購入し、すでにディスプレイ、キーボード、マウスを繋いでNOOBS使ってOS入れたり、ちょこっと仕事に使ったりしていました。 ですが、ちょっとした作業のたびにモニタをラズパイに専有されるのがイヤだな〜(Macでメインに使っているし〜)と思っていたのです。 その解決方法が見つかったので、試してみました! しかも、SDカードへのOSのインストールから、ディスプレイ、モニタ、マウス無しでやってみます。 最終形と問題点 まず最初に、今回のエントリの最終形を図にしておきます。これで分かる人はこの後続く長いエントリは読まなくてOK! 接続の方法としては、Macの有線LANポートを作り、そこにインターネット共有を設定し、Raspberry Piに有線LANで繋いで、SSHで入る、という形になります。これならMacがWi-Fiでインターネッ
プログラミングにおいて例外が発生したときの対応はとても重要です。 しかし、iOS開発で例外が発生したとき、なんとなく例外が発生したコードの付近を眺めて原因を予測していたりしませんか? iOSがOSレベルで発生させる例外はきちんと原因表示ができるので、次の手順を覚えておくと、デバッグが容易に、そして確実になります! 例外を発生させるコード さて、例外発生時の対応を学ぶためにはまずは例外を発生させるコードが必要になります。 いちいちコードを書くのも面倒、という人のために、プロジェクトをまとめてGitHubにアップしておきました。その名も「GenerateException」というプロジェクトです。 GitHub – HiromichiYamada/GenerateException とてもシンプルに、ボタンを押したら例外が発生する仕組みになっています。 例外発生時に止める Xcodeでは、ブレ
先日、たまたま発見したのですが、XcodeのプロジェクトファイルをOmniGraffleで開くことが出来ます! 実は、たまたまファイルとアプリの関連付けがおかしく、意図せず開いてしまったので、開いている最中、なんでこんな関連付けになってしまったんだろー。と不思議に思っていました。 クラス図! ですが、開いて驚いたのですが、OmniGraffleはxcodeprojファイルを開く機能をきちんと備えており、なんと、クラス図を作ってくれるのです! もちろん、OmniGraffleのオブジェクトとして配置されているので、すべてを自由に編集可能です。 クラスの派生構造を階層構造として保持しているので、OmniGraffleの自由レイアウト機能にも対応しています! 使い道 使い道ですが、複雑化したプロジェクトのクラス構成を一覧するにはとても良いと思います。 もちろん、クラス図として使わなくても、画面遷
一見普通の通知系のライブラリですが、使い方次第では万能な通知ライブラリなので紹介したいと思います。 scalessec/Toast – github MITライセンスです。 ToastはUIViewのカテゴリ 本ライブラリの最大の特徴はUIViewのカテゴリとして実装されていることです。 // each makeToast method creates a view and displays it as toast - (void)makeToast:(NSString *)message; - (void)makeToast:(NSString *)message duration:(CGFloat)interval position:(id)position; - (void)makeToast:(NSString *)message duration:(CGFloat)interva
以前このブログでも書きましたがアプリ「Tweetie」で発明された「引っ張って更新」UIですが、iOS6ではOS標準のUIとして取り込まれました! このUIを使う手順をメモしておきます。 このUIの名前は“UIRefreshControl”です。オフィシャルリファレンスはこちら→UIRefreshControl Class Reference 使い方は洗練されていて、本当に簡単なのですが備忘録として、下記にサラッと解説を書いておきます。 生成、準備 まずは生成ですが、適当にallocし、保持しておきます。 次に、引っ張ったときのアクションを設定します。 あと、色も変えられるので、アプリに合わせて調整すると良いかもしれませんね。 - (void)viewDidLoad { // viewDidLoadなどで下記コードにて初期化し、viewDidUnloadでreleaseしてください. UI
Unityで作ったiOSゲームにバナーを表示させたいとき、UIWebViewを表示できるとほとんどのことは処理出来ます。 ところが、標準機能で用意されていません。 既にあるライブラリ そこで探してみると、一番有名な感じなのが、Unityの高橋啓治郎さんが作られたunity-webview-integrationです。 keijiro/unity-webview-integration · GitHub 次に有名なのが、GREEの坂本一樹さんが作られたunity-webview。 gree/unity-webview · GitHub これは前出のunity-webview-integrationを参考に作られたようです(情報ソース)。 欲しかったライブラリ 私が欲しかったのは、指定位置に指定URLを表示するだけのもの。 しかも、今回はiOSで動作すればよく、Webの中身は外部リンクが動作す
iOSのバージョンをチェックするにはいろいろな方法があるのですが、 “Check iPhone iOS Version – Stack Overflow” という質問スレッドの回答が素晴らしいので、今後これを使うことにしました! という短いメモ(ほとんどスニペット)です。 /* * System Versioning Preprocessor Macros */ #define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] comp
オープンソースで公開されているソースを修正し、本体に取り込んでもらうこと、これをソーシャルコーディングと言います。 GitHubでは、Pull Requestを送ることがそれにあたります。 ちょっと試しに使っていたライブラリにバグを見つけ、簡単に直せたので、トライしてみました。 今回の作業対象は次のリポジトリです。 JaviSoto/JSBadgeView · GitHub 1. Fork まず、ベースとなるライブラリをForkします。 GitHubウェブサイトで行います。 元になるライブラリのページを開き、右上にある『Fork』ボタンを押します。 しばらくすると、Forkが完了します。 2. clone 次に、Forkしたリポジトリをcloneします。 ターミナルで下記のように、自分側のリポジトリをcloneします。
XcodeでiOSアプリを開発していると、実行時に下記のようなメッセージが出て落ちることがあります。 APPNAME_XXX(6028,0x3cb6eb78) malloc: *** error for object 0x1e0aa9c0: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug 要約すると、「”malloc_error_break”にブレークポイントを設定して、問題がある場合の対応を検討してください」ということなのですが、その設定手順をメモしておきます。 シンボリックブレークポイントの設定手順 Xcodeの左側のパネルにある「Breakpoint Navigator」タブを選択します。 左下にある「+」ボタンから「Add Symbolic Break
最近cocos2dを使い始めたのですが、メモリ使用量などの情報表示について調べたので、その結果をまとめておきます。 メモリ情報表示コード ネット上でサクッと次の二つの情報を見つけることが出来ました。 cocos2dで残りメモリ表示 « なんかもう実験的 こちらは、標準のフレームレートを表示しているデバッグ情報のところに残りメモリ量を表示する仕組みを実現しています! 素晴らしい! iPhone-Labo: cocos2dでメモリ使用量をリアルタイムに表示する こちらは前述のサイトをベースに、「残り量」ではなくて「使用量」を表示するようにしています。 様々な環境で利用可能メモリ量は違うので、こちらのほうが有益ですね。 カテゴリがいいんじゃない!? さて、上記サイトの実装は素晴らしいのですが、こういう機能追加こそ、Objective-Cのカテゴリ機能を使うべきだと思ったので、カテゴリで実装しなお
JPEGminiというウェブサービス/ソフトを知ったのですが、ちょっとスゴイので紹介!(半年以上前には出ているようなので、遅い情報で、知っている人も多いとは思いますが) JPEGminiとは Jpegminiとは、JPEGファイルを見た目をあまり劣化させずにファイルサイズを削減してくれるというモノ。 JPEGmini – Your Photos on a Diet! ウェブサイトにJPEGをアップロードしたら変換してくれるサービスと、Webサーバにインストールするサービス(値段等は不明)と、あと、Macのアプリがあります。 ↑このアプリは1,700円ですが、1日20枚という機能限定がある無料版もあります。 本当にスゴイ! 大げさではなく、ファイルサイズを5、6割は減らしてくれます! ポイントは画質の良さ!ちょっと驚きのレベルなのです! 『JPEGファイルでって、結局、あのブロックノイズが出
SQLiteのDBファイルを暗号化したい、と思って調べ、SQLCipherを利用できるようにするまでのエントリです。 SQLiteの暗号化ライブラリ SQLiteには暗号化の手順は決められているのですが、オフィシャルの暗号化ライブラリ“SEE”がありました。 SQLite Encryption Extension しかし、なんと有償! The cost of a perpetual source code license for SEE is US $2000. ですって! エンタープライズな開発ならいいけど、個人の利用には、、ちょっと高いわー・・。 という感じで、他にもいくつか探してみました。 今回はiOSアプリで使いたかったのでその条件で絞りこまれたのが“SQLCipher”です。 SQLCipher – Open Source Full Database Encryption for
テキストエディタを探して三千里 Macのテキストエディタは、miとかCotEditorとかいろいろ試したり調整したりしていましたが、なかなかこれというものが見当たりませんでした。 miは各種フォーマットのハイライト設定とかカスタマイズできるというか、カスタマイズしないといけないのが問題。 CotEditorは、「別のプロセスによって変更されました。」というアラートが出まくるのが致命的。 チケットを投稿してみましたが、オープンソースプロジェクトゆえ、すぐに対応してもらえるわけではありません。(注:オープンソースプロジェクトではよくあることで、特にCotEditorの作者を責めているわけではありません。) しかし、その間もテキストエディタが安定しないことには全ての仕事の基礎が安定しないような気がして、昔から評判が高いJedit Xを購入してみました。 Jedit再び! Jeditって、Mac
「テーブルをグイッと引っ張ったらデータをリロード」…もう誰もが当たり前だと思っているこの操作をUITableViewControllerに追加してくれるのがPullToRefreshライブラリです。 商用利用にも安心のMITライセンス! プロジェクトに追加する leah/PullToRefresh · GitHub まずは、いつものように、Gitで取得。 次に必要な下記のファイルをコピーして、自分のプロジェクトに追加します。 PullRefreshTableViewController.h PullRefreshTableViewController.m arrow.png 最後に、必要なFrameworkとして、QuartzCore framework を追加します。 使い方、カスタマイズ 自分のプロジェクト内では、UITableViewControllerの派生クラスとして作られている
Objective-Cには「カテゴリ」という機能があり、それについて調べたときのメモをまとめました。 その名は「カテゴリ」 ネットに転がっているソースを見ていて、それまで見たことなかった書き方があったときにはそれをどうやって調べたらいいのか、なかなか手こずります。その書き方そのものの名を知らないからです。 今回の例で言うと「カテゴリ」という機能のことで、下記のような感じで書かれていたら、それはカテゴリ機能を使っているのです。 このカテゴリ機能を活用すると、既存のクラスをちょっと機能拡張したい時に無駄なクラスを作る必要がなくなります。 例えば、文字列を扱うクラス NSString をに機能を追加したいことはよくあるのですが、NSStringの中身に応じたハッシュ値(MD5)を出力できるようなメソッドを追加する、という例に説明してみます。 MD5の機能実装の参考にしたのはこちらのサイト。関数の
ちょっとNSMutableArrayの使い方でハマったのでメモです。 photo © 2008 Simon | more info (via: Wylio) やりたいこと:配列をヌルで埋めたい 大量のオブジェクトを管理したい その個数は決まっているので固定長で確保しておきたい まずnilで埋めておき、後で任意のインデックスのオブジェクトを置き換えたい という意図で次のようなコードを書くとエラーになります。 NSMutableArray* array = [NSMutableArray arrayWithCapacity:numMax]; for( int i=0; i<numMax; i++ ){ [array addObject:nil]; }
enchant.jsを使い始めているのですが、その基礎部分についてちょっと調べてみたメモです。 enchant.jsとは 本家サイトより引用。 enchant.js は HTML5 + JavaScript ベースのゲームエンジンです。わずか30KBのソースコードで、PC, Mac, iPhone, iPad, Android すべてで動作する クロスプラットフォームなアプリケーションを開発可能なスタンドアロンライブラリです。 ゲームに限らずあれこれ使えるので、既に色々調査を進めているところですが、ちょっと今日はその基礎部分が気になったので調べました。 enchant.jsのページ内の表示サイズについて、任意のサイズに収めたいと思って調べたのですが、あまりその辺りのドキュメントが見当たらなかったので、大したことではないのですが書いておきます。 HTMLとenchant.js enchant
Reachabilityは、私も過去に使ったことがあるライブラリですが、最近また別のアプリでも使ったので、メモしておきます。 Reachability – iOS Developer Library 本ブログ執筆時の最新バージョンであるバージョン2.2では、対応iOSは、「iOS4.0以降」となっています。 インストール ソースですが、上記ページ(iOS Developer Library内)にある [Download Sample Code]ボタン からダウンロード出来ます。 必要なのはこの中にあるReachability.hとReachability.m 。さらにプロジェクトには、SystemConfiguration.framework というフレームワークも追加しておく必要があるので、設定しておきましょう。 無事プロジェクトに追加できたら、下記のようなコードでネット接続状況を判別で
Macの特殊キーの記号ってなんかよく分からないと思い込んでしまっていて、なかなか覚えていなかった。が、ちょっと考えてみたら意味があるはずで、過去の経験から「物事の意味を理解すれば、それは大体覚えられるようになる」という知識があったので、ここでしっかり意味を調べてみて、ついでに記号をすぐ読めるように覚えてしまおうと思いました。 ⌘:コマンドキー (Command) Wikipedia – Command keyによると、もともとコマンドキーは、アップルのロゴを使う予定だったのだが、〆切まで2日前のこと、Jobsが「社ロゴの乱用になってしまうから変えよう」と言ったことで、社内デザイナー Susan Kareが新しく記号を探すことになったらしい。 そこで見つけたのがこのマーク[⌘]。 スカンジナビア半島で一般的に観光地のマークとして使用されているものらしいです。(実際の写真→Questions
rooとは、スプレッドシートをパース出来るRubyライブラリです。 Excel(.xls)やOpenOffice.orgのCalc(.ods)、さらに未検証ですが、Google DocumentsのSpreadSheetも操作できるようです! なかなか面白いライブラリだし、ちょっとしたツールとして便利ですよ! 参考サイト(2015-06-04更新) github roo-rb/roo roo オフィシャル (roo.rubyforge.org) pure ruby の各種フォーマット対応Spreadsheetパーサ(xlsx対応!): ひ日記 インストール手順 rooのインストールは、RubyGemsで楽勝です。 とりあえず、私は久しぶりのRubyGemsなので、アップデート確認から。
他アプリと連携 iOSアプリを作っていて、「他のアプリからドキュメント(データファイルや画像ファイル)を取り込めるようにしたい」と思って調べた内容のまとめです。 「自分のアプリ内のドキュメントを他のアプリで開く」というのは UIDocumentInteractionController あたりをキーワードに検索してみるといろいろ出てくると思います。 この辺りの、iOSでファイルを共有する概要や実装手順については、下記ページが分かりやすいです。 iPad SDK 3.2 Document Support ‹ ObjectGraph Blog 今回やりたかったのは、↑このページの、項目3. Accepting Incoming Documents (Document Reader)というのがそれで、「他のアプリからドキュメントを取り込む」仕組みです。 取り込みの概要 ファイル取り込みの仕組みは
修正BSDライセンス (New BSD License) 前回のエントリで紹介したSBJsonが適用している「修正BSDライセンス」についていろいろ再確認しておきたかったので、まとめてメモしておきます。 BSDライセンス – Wikipedia 特徴 「著作権表示、ライセンス条文、無保証の旨の三点をドキュメント等に記載さえしておけば、BSDライセンスのソースコードを他のプログラムに組み込み、しかも組み込み後のソースコードを非公開にできる」(Wikipediaより) さらに簡単に言うなら、例えば、iPhoneアプリ等で修正BSDライセンスのライブラリを使用したい場合、そのライブラリに付属しているライセンス条項部分をアプリのどこかに表示すればいいのだけなので、アプリのソースを公開する必要もなく、商用アプリを作る場合等にはとても使用しやすいのです。 GPLとの違い 何かと問題の多いライセンスGP
iOSアプリを開発するにあたって、Xcode付属のiOSシミュレータは超便利です! ほんとうに良く出来ているのですが、唯一大変なのが、マルチタッチ動作をテストする方法。 これはハードウェアの制限上しょうがないですね。 3本以上は出来ませんが、2本ならサポートされており、ピンチ操作も出来るというのは多くの方はご存知だと思います。 それでは、2本指でスワイプ、とか、画面の端の方にあるオブジェクト上でピンチ操作ってどうやればいいのでしょうか? 必要にかられて調べてみたら出来ることが分かりましたので、下記にメモしておきます。 Optionキーで2本指表示 まず、シミュレータ操作の基本で、画面中央にあるオブジェクトについてピンチ操作するのは簡単です。 Optionキーを押し下げるだけ! Optionキーを押すと、2つの円が出てきますので、2本指の操作をシミュレートできることがわかります。 そのままマ
FrameCamera (http://www.FrameCamera.com/) の操作デモを作ろうと思い立ち、トライしてみたら、3時間程度でYouTube にアップするところまで出来ました! ある程度わかっているともうちょっと早くできるかもしれないと思うので、次回の作業のための踏み台メモです。 完成動画 こちらが完成した動画です。 以下では、この動画制作をざっくりと説明していき ます。 やりたかったのは、MacBook ProにFirewireで接続したDVカメラから直でMacに取り込んで、それをiMovieで編集し、BGMはGarageBandで付ける、とい うことでした。 この作業で学んだ最も重要なポイントは、「まずiMovieで編集したあと、GarageBandから読み込み、最後の出力を行う」ということ。 私はFinalCut Proとか、Premiereとか使った経験で「最後の
Objective-C向けのJSONを扱うライブラリを探してみたのですが、JSONのページによるとJSON解析ライブラリはいくつかあるようです。 json-framework. MTJSON. JSONKit. yajl-objc. TouchJSON. json-frameworkというのがトップに紹介されており、また、ライセンスも修正BSDライセンスですので、これを使ってみることにしました。 現在は、SBJsonという名前に変わっているようです。 stig/json-framework – GitHub これで json-framework/ というディレクトリが作成され、その中にライブラリソースやサンプルソースがダウンロードされます。 (ちなみに、Mac OS XでGit環境を整えた時のメモはこちら→「Gitを使ってみた « TORQUES LABS」) 上記コマンドでダウンロードし
photo © 2008 Jason McHuff | more info (via: Wylio) iOS Static Libraries iOS Static LibrariesというiOSアプリ向けにビルドされた便利ライブラリ群があります。 ちょっと必要なライブラリが含まれていて、自分でビルドするよりも便利ですし、iOS SDKがバージョンアップされたらきちんと更新されているので便利に使わせてもらっています。 先日、iOS Static Librariesの、iOS SDK 4.3向けのビルドがリリースされました。 しかし、これがちょっと曲者で、現在iOSデバイスはARM V6かARM V7の二つがあり、今回のビルドバーションは、ARMアーキテクチャ向けに二つのビルドがなされているのです。 ARM V6というのはiPhone 3G以前で使われていたものなので、対応機種を3GS以降に
次のページ
このページを最初にブックマークしてみませんか?
『Torques Labs.』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く