月別アーカイブ: 2014年1月

独自オブジェクトの配列(NSArray)の存在チェック

こういう奴いる?

自作クラスのオブジェクトを配列に入れて扱う事は良くあります。

フツーにあります。
フツーあります。

で、その配列に『こういう奴いる?』って確かめたい事が良くあります。

フツーにあります。
フツーあります。

そんな時の為のメモ

 

どーやるの?

NSPredicateを使ってNSArrayからデータを抽出します。
抽出するためのメソッドはNSArrayのfilteredArrayUsingPredicateメソッドです。

で、抽出結果が1件以上あるかでチェックします。

こんなクラスがあったとさ

こんな配列があったとさ

存在チェック

 

参考URL

配列からNSPredicate条件を使ってデータを抽出する方法
http://hachinobu.hateblo.jp/entry/20130205/1360031974

 

 


CoreData の保存場所と確認方法

データベースの中を確認したい

CoreData を使用したアプリを作っていると、開発中にテーブルの中身を確認したいことが良くあります。
フツーにあります。
フツーあります。

そんな時の為のメモ

 

保存場所

CoreDataで保存したデータファイルの場所は以下にあります。

/Users/ユーザ名/Library/Application Support/iPhone Simulator/6.1/Applications/xxxxxxxxx/Documents/アプリ名.sqlite

※ ライブラリフォルダが見れない人はOSによって対処法が違うんでググってちょ

 

どーやって見る?

色々と方法はあると思います。
詳しく知りたいヒトはググってちょ

オイラはこれを使ってます。
AdobeAIR上で動くツールです。

The SQLite Sorcerer
http://afoucal.free.fr/index.php/applications/sqlite-sorcerer/

 


Macが起動しない時にやってみる事

夏に MacBookPro が起動しなくなり、スッタモンダの末にマザーボードを交換し一応動いているのですが、ほんとにごくたま〜に起動しない事があります。

そんな時の対処法をメモしときます。

1.NVRAM(PRAM) のリセット

2 度目の起動音が聞こえるまで、「option + command + P + R」キーを押し続ける。

昔からのMacユーザーでしたらPRAMのクリアと同じです。
NVRAMは、「スピーカーの音量」「画面の解像度」「起動ディスクの選択」などが保存されています。

2.セーフモード(セーフブート)で起動する

起動時に「shift」キーを押す。

セーフモードは、、起動時にいくつかのチェックを行って、特定のソフトウェアが自動的に読み込まれたり、起動したりすることを防ぎます。
起動に結構な時間がかかりますが、私の場合、これで起動する事が多いです。

3.光学ドライブなど(CD、DVD、またはUS メモリ)から起動する

起動時に「C」キーを押す。

これで起動出来れば、ハードウェア的には問題ないものと考えて良いかと思います。
可能であればOSのクリーンインストールなどを行えば問題は解消すると思われます。

4.外部の起動ディスクから起動する。

起動時に「option」キーを押す。

ネットワークボリュームを含めて起動可能なディスクを選択出来ます。
外付けハードディスクなどに起動ディスクを作っておけば、それを使用して起動する事ができます。

参考

自分でできる「Macが起動しないときの5つの対処法」
Intel ベースの Mac で利用できる起動時のキーコンビネーション

起動しなくなる前に

バックアップは取っておきませう。


よく使うコードを静的ライブラリで共有(Workspace + Static Library)

手抜きがしたい

いくつかアプリを開発していると、同じようなコードを書く事が多々あります。
それらをライブラリとしてまとめておいて、色々なアプリから共有する方法をメモ

Workspace をつくる

File → New → New Workspace… を選択し、新規作成する。

アプリケーションProject をつくる

File → New → New Project… を選択し、新規作成する。
保存先を指定するダイアログの Add to: で上記で作成した Workspace を選択する。

Static Library をつくる

File → New → New Project… を選択し、新規作成する。
その際、テンプレートで「Cocoa Touch Static Library」を選択する。

Static Library 側の設定

ターゲット → Build Settings で
Deployment → Installation Directory → $(BUILT_PRODUCTS_DIR)
Linking → Other Linker Flags → -ObjC
Packaging → Public Headers Folder Path → $(TARGET_NAME)

ターゲット → Build Phases で
Copy Files にヘッダーファイル(.h)をすべて追加する。

アプリケーション 側の設定

ターゲット → Build Phases で
ライブラリで作成した.aファイルを関連付ける(ドラッグ&ドロップ)

ターゲット → Build Settings で
Search Paths → User Header Search Paths → $(BUILT_PRODUCTS_DIR)
にしてRecursiveにチェックします。

Archive の際に StaticLibrary のヘッダファイルをアプリケーション側のプロジェクトにコピーしておく。

蛇足

実作業は結構、紆余曲折したので漏れがあるかもしれませんが、これで動作して申請までは行いました。
ただ、 Reject されちゃいましたが。。。(涙)

何度か再申請しても同じ理由で Reject されてますが、原因は恐らくこれとは無関係です。

それにしてもリジェクトの理由をズバリここを直せって言って欲しいっス

参考URL

xcode4のworkspaceを使ってコード共有

[iOS] XCode4.1でのStatic Libraryの作成と利用

Kazzzの日記


目標…それはいつも儚い。

明けましておめでとうございます。
本日より、仕事始めでございます。

新年に目標を立てたりするヒトって多いのでしょうか?

あまり目標とか立てないんですが、『iPhoneアプリで生活したい!』と意気込んでいたので昨年は目標を立ててみました。

それは

『1年間でアプリ20本、リリース!』

やめとけば良かったデス
あまり現実味のない無謀な目標は却って虚しくなるだけでした。

結局、リリースできたのは2本。。。。

というわけで、

『今年こそ、アプリ20本リリース!』

やったるでぇ!