タグ

ブックマーク / glassonion.hatenablog.com (13)

  • Mac が立ち上がらなくなった時の対処方法 - A Day In The Life

    昨日、家の iMac が突然立ち上がらなくなりました。結構苦労しましたが最終的に fsck_hfs コマンドで修復できました。その時の対処方法をまとめました。 症状 電源ボタンを押すとアップルマークとインジケータが表示されインジケータの途中で Mac の電源が落ち何度試しても立ち上がらない。 セーフモードで立ち上げる セーフモードで起動を試してみました。Mac をセーフモードで立ち上げるには電源ボタン押下後アップルマークが表示されるまでキーボードの「shift」キーを押しっぱなしにします。 軽い症状であればだいたいはこれで修復するようですがうちの iMac は立ち上がりませんでした。 Mac OS X:セーフモードで起動する ディスクユーティリティで修復 セーフモードがだめだったので Mac OS X のインストールディスクから Mac を起動しディスクユーティリティで修復を試してみました

    Mac が立ち上がらなくなった時の対処方法 - A Day In The Life
  • 失敗しない iOS In-App Purchase プログラミング - A Day In The Life

    最近、無料アプリや無料ゲームにアプリ内課金を設置してユーザにアイテムを購入してもらうタイプのものが増えています。App Store トップセールスのうち半数以上がこの無料 + アプリ内課金で占められています。今後アプリ内課金は iPhone/iPad アプリで儲けるための必須の機能になると言っても過言ではありません。 今回はアプリ内課金(In-App Purchase)のプログラミングについて StoreKit フレームワークの基的な使い方から失敗しないためのポイントまで説明していきます。 販売できるアイテムの種類は5種類 アプリ内課金で販売できるアイテムの種類は5種類あります。 Consumable 消費アイテム。ユーザがアイテムを使うと無くなる。例えばシューティングゲームの弾丸やコイン落としゲームのコインなど。同じアイテムを何回でも購入可能 Non-Consumable 非消費アイテ

    失敗しない iOS In-App Purchase プログラミング - A Day In The Life
  • サルでもわかる Core Data 入門【実装編】 - A Day In The Life

    サルでもわかる Core Data 入門【概念編】の続きです。今回は実際に Core Data を使ったプログラムを作成します。 サンプルアプリの概要 アドレス帳アプリを作りながら Core Data の使い方を説明していきます。 以下はサンプルアプリの画面構成です。 連絡先一覧画面と連絡先詳細画面の2画面構成になっています。 サンプルアプリのソースコードはこちらで公開しています。 AddressBook 開発の流れ サンプルアプリの開発の流れは以下のようになります。 プロジェクトの作成 モデルクラスの作成 エンティティの定義とエンティティとモデルクラスの関連付け ストーリーボード(Storyboard)を使ってビューコントローラの遷移と画面デザインを作成する 連絡先詳細画面の開発 連絡先一覧画面の開発 プロジェクトの作成 それでは初めにプロジェクトを作成しましょう。プロジェクトの作成手順

    サルでもわかる Core Data 入門【実装編】 - A Day In The Life
  • UIWebViewにJSのライブラリを動的に読み込ませる方法 - A Day In The Life

    UIWebView で表示している HTML ページに Javascript ライブラリを動的に読み込ませる方法です。 使う場面はそうないと思いますが、興味位で試してみたらできたので記事にしました。Google Libraries API という Javascript のライブラリを使うと簡単に出来ます。 下記は Google Maps のライブラリを動的に読み込んで位置情報を取得するサンプルコードです。 @interface SmapleViewController { UIWebView *webView; } @property (retain, nonatomic)IBOutlet UIWebView *webView; @end @implements SmapleViewController @synthesize webView; - (void)webViewDidFin

    UIWebViewにJSのライブラリを動的に読み込ませる方法 - A Day In The Life
    tokorom
    tokorom 2011/10/14
  • iOS でプロパティリストを使ったデータの保存方法 - A Day In The Life

    iOS でオブジェクトをシリアライズする方法に続き今回もデータ永続化方法の紹介です。 iOS にはプロパティリストと呼ばれるファイル形式があります。プロパティリストは NSArray や NSDictionary クラスを使って簡単にデータの読み書きができます。 ここではプロパティリストを使った基的なデータの保存方法から自作クラスのオブジェクトを保存する方法まで説明します。 プロパティリストって何? プロパティリストは Mac OS X や iOS で利用することができるデータ永続化のためのファイル形式です。Mac OS X ではもっぱらユーザの情報を設定するのに使われる事が多く Windows のレジストリのような使われ方をしています。iOS では Info.plist のようにアプリの情報を設定するのに使われることが多いです。 またプロパティリストはファイルの拡張子が .plist

    iOS でプロパティリストを使ったデータの保存方法 - A Day In The Life
  • iOS 組み込みの効果音を鳴らしてみる - A Day In The Life

    iOSにはいくつか組み込みの効果音が用意されていて AudioToolbox フレームワークを使うと簡単に鳴らすことが出来ます。 手順 プロジェクトに AudioToolbox.framework を追加します。 AudioServices.h をインポートします。 AudioServicesPlaySystemSound 関数を実行します。引数にはサウンド ID を渡します。 #import "RootViewController.h" #import <AudioToolbox/AudioServices.h> @implementation RootViewController - (IBAction)onClick:(id)sender { AudioServicesPlaySystemSound(1000); } @end 音の種類 サウンド ID は1000から1017まで全部

    iOS 組み込みの効果音を鳴らしてみる - A Day In The Life
  • NSOperationQueue スレッドと処理の関係 - A Day In The Life

    iOS4 になって NSOperationQueue クラスの仕様に追加がありました。以前は並列処理しか出来なかったのですが mainQueue メソッドが追加になり逐次処理も出来るようになりました。変更点も含めて NSOperationQueue の使い方をまとめてみます。 NSOperationQueue クラスの使い方をきちんと理解していると NSOperation クラスの非並列実行モードと並列実行モードの使い方を間違えることも少ないと思います。 NSOperation クラスについては以下の記事で詳しく説明しています。 NSOperation 非並列実行モードと並列実行モードの使い分け NSOperationQueue と NSOperation の関係 NSOperationQueue と NSOperation を使うと、バックグラウンドで何か処理をしたい場合に一連の処理をま

    NSOperationQueue スレッドと処理の関係 - A Day In The Life
  • Javascript 関数の戻り値を Android から取得する方法 - A Day In The Life

    Android の WebView を使って Javascript 関数を呼び出すには WebView#loadUrl メソッドを使います。ただしこの方法だと関数の戻り値を取得することができません。 一番簡単で手軽な方法として Javascript の alert 関数を使って WebChromeClient クラスの onJsAlert メソッドから戻り値を受け取る方法がありますが、この方法だと alert 関数が使えなくなりデバッグするときにとても不便だったり、関数の種類が増えると戻り値の文字列解析が必要になったりとイマイチ使えませんでした。 javaからjavascriptを実行した場合の返り値の受け取り そこで JavascriptInterface を使って Javascript 関数の戻り値を取得するプログラムを作成してみました。 今回作成したプログラムの特徴は以下になります。

  • マルチタスキング対応後のアプリのイベントフローをまとめてみた - A Day In The Life

    ※iOS 5の登場でこの記事の内容は古くなりました。最新の情報は以下の記事をご覧ください。 iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する iOS4で導入されたマルチタスキングですが便利な反面イベントの発生順序が大幅に変更され複雑化しました。イベントの発生順序をきちんと把握しておかないと思わぬところでメモリをったりバッテリに負担をかけてしまうのでまとめてみました。 下図で色の変わっているメソッドはiOS4で追加されたメソッドです。 2010/7/1:図を修正 deallocメソッドを削除しました。アプリ終了時UIApplicationDelegateのdeallocメソッドは呼び出されません。システム側でリークも含めてメモリ領域を解放してくれます。paellaさんご指摘ありがとうございました。 applicationWillResignActiv

    マルチタスキング対応後のアプリのイベントフローをまとめてみた - A Day In The Life
  • iPhone の地図上に簡単に図形を書く方法 - A Day In The Life

    以前は MKMapView 上に線を引いたり四角形を書いたりするのに自前で View を作成しないといけませんでしたが iOS4 になって地図上に図形を書くためのクラスが追加されました。使い方がわりと簡単なので紹介したいと思います。 地図に線を引く 地図に線を引くには MKPolyline クラスと MKPolylineView クラスを使います。山手線の渋谷駅から新宿駅に線を引く例をもとに説明します。 手順は以下の通りです。 プロジェクトMapKit.framework を追加 UIViewController のサブクラスを作成し MKMapViewDelegate プロトコルの実装を宣言する viewDidLoad メソッドで MKPolyline オブジェクトを生成し MKMapView の addOverlay メソッドを使ってオーバーレイを追加する mapView:view

    iPhone の地図上に簡単に図形を書く方法 - A Day In The Life
  • メソッドの引数はオペランドのみにする原則(メソッドの引数がクラス設計に影響する) - A Day In The Life

    前回に続きメイヤー著「オブジェクト指向入門 第2版 方法論・実践」で面白い原則があったのでまとめてみました(コード例はJavaで書きました)。 前提 メソッドの引数は2種類ある オペランド メソッドの操作対象であるオブジェクト オプション 操作のモード オペランドとオプションの見分け方 引数にデフォルト値を設定しておけば呼び出し側で特に指定しなくてよい引数はオプションである クラスが進化する過程においてオペランド引数は変わらないがオプションは増えたり減ったりする ※メソッド呼び出し時に引数にデフォルト値があると便利だと感じた場合やある呼び出しでは引数の指定が必要ないと感じた場合その引数はオプションである可能性が高いです。 メソッドの引数はオペランドのみにする コピー機を表す以下のクラスがあった場合。printメソッドの引数printingSize,color,numberOfCopiesは

    メソッドの引数はオペランドのみにする原則(メソッドの引数がクラス設計に影響する) - A Day In The Life
    tokorom
    tokorom 2010/03/18
  • iPhoneアプリの販促活動に関してまとめてみた - A Day In The Life

    ビジュアル英英辞書アプリLinkedWordをリリースして1週間ほど経ちました。色々と販売促進(プロモーション)活動をしてみましたがむやみやたらと告知をしても効果が出るわけではありませんでした。 次から効率よく販促できるように今回行った販促活動とその効果についてまとめてみました。 Googleサイトを使って紹介ページを作成 iPhoneアプリが完成したらまずはアプリの紹介ページを作成します。アップルにアプリを申請するときにサポートサイトがないと審査が通らないので作成します。ブログにアプリ紹介記事を書いて代用することもできますが、開発したアプリを海外でも売りたいのであればブログはおすすめできません(ブログで2言語対応は無理があるので)。 アプリ紹介のためにわざわざレンタルサーバ借りてホームページ用意してとかやってると費用も時間もかかります。そこでGoogleサイトというサービスを使ってアプリ

    iPhoneアプリの販促活動に関してまとめてみた - A Day In The Life
  • AndroidとiPhoneの加速度計アプリの実装方法を比較してみる - A Day In The Life

    大きな違いとしてはiPhoneの場合加速度計のみ管理しているのに対してAndroidは他のセンサー(温度計や磁気センサーなど)と一括りにして管理しています。またiPhoneでは加速度計オブジェクトを直接取得できるのに対しAndroidでは加速度計オブジェクトを取得することができません(Android1.5からSensorクラスが追加され加速度計オブジェクトを取得できるようになりました)。 iPhoneの場合 UIAccelerometerDelegateプロトコルを実装したクラスに加速度イベント(accelerometer:didAccelerate:メソッド)を実装する UIAccelerometer#sharedAccelerometerメソッドで加速度計のオブジェクトを取得する UIAccelerometer#delegateを設定すると加速度イベントが発生する ローパスフィルター(

  • 1