2012年10月 のアーカイブ

iPhoneアプリ開発日誌 〜CoreData TabBarアプリでの設定など他

2012年10月24日 水曜日

iPhoneアプリ開発で、CoreDataを使用するに当たって、調べたこと、つまづいたことの覚書。

・innerBandというもの
・tabアプリでcoredataを使うとき必要な設定
・CoreDataでリレーションのあるEntityのAttributeの指定方法

innerBandというもの

私は使わなかったが、「innerBand」というCoreDataを使いやすくするフレームワークがあるらしい。CoreDataを簡単に利用したい方はこういったフレームワークを使うと良いかもしれない。私個人の意見だが、Appleが作成したフレームワーク以外のものは、iOSのアップグレードなどで不具合が起きやすいと感じているので、出来る限り使わない。ただ、このフレームワークのソースをみて、いろいろ理解が深まったのでここに記す。
https://github.com/ZaBlanc/InnerBand

http://raptureinvenice.com/innerband-2/

tabアプリでcoredataを使うとき必要な設定

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    // CoreData
    app = (XXXXXXAppDelegate*)[[UIApplication sharedApplication] delegate];

- (NSFetchedResultsController *)fetchedResultsController
{
    if (__fetchedResultsController != nil) {
        return __fetchedResultsController;
    }
    
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        
    // CoreData   上で設定した「app.」を使う
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Track" inManagedObjectContext:app.managedObjectContext];
  [fetchRequest setEntity:entity];

CoreDataでリレーションのあるEntityのAttributeの指定方法

Error「 the entity XXXXX is not key value coding-compliant for the key ”list.name” 」

解決策

self.listField.text = [[self.detailItem valueForKey:@”list.name”] description];

以下に変更
self.listField.text = [[self.detailItem valueForKeyPath:@”list.name”] description];

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta

iPhoneアプリ開発日誌 〜CoreData

2012年10月23日 火曜日

iPhoneアプリでデータベースを使おうとしている方は、必然的にCoreDataというものを使用することになります。CoreDataは理解するのに時間がかかりました。ただし、使えこなすことができると、すごく便利なので頑張ってください。はじめは、以下の2サイトがとても役に立ちました。

「A Day In The Life」の「サルでもわかる Core Data 入門【概念編】実装編】

CoreDataに関しては、リレーショナルDBに慣れた人はとっつきづらいと思う。概念と実装が分かれていて理解しやすい。そして実装編のアプリもサンプルに少し手を加えてあるだけなので、理解が早まると思う。サンプルアプリにいろいろ手を加えて、学習していけば理解が深まると思う。

「Everything was born from Love」の「Study CoreData

CoreData使って、ToDoアプリを作ろうと思ってる人はドンピシャなサイト。とど松作る時に、こんなソースが公開されてたら作っても意味なさそうだな、と感じたサイト。

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta

iPhoneアプリ開発日誌 〜リリース&アップデート

2012年10月22日 月曜日

アプリを作成して、「さあ、AppStoreに並べよう!」という時の手順は以下のサイトを参考にさせていただきました。Facebookの「iOSビギナーズ」のページが一番役に立ちました。その他のページは、入力項目について具体的な参考例として活用しました。「自由に名前を付けてください」みたいな入力欄は、どうしていいかわからない人にとっては役に立ちます。

Facebookの「iOSビギナーズ」

リリース

iPhone/iPadアプリのリリース(App Storeへの登録申請)手順(2012年1月現在)

iTunes ConnectでiPhone/iPadアプリの新規登録を行う手順(2012年1月現在)

アップデート

iPhone/iPadアプリのアップデート手順(App Storeへの申請手続き)(2012年8月現在)

参考ページ(リリース)

iOSアプリをディストリビューションしよう

iPhone,iPad アプリ公開方法

以上。

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta

iPhoneアプリ開発日誌 〜参考図書

2012年10月21日 日曜日

iPhoneアプリ開発にあたって参考にした書籍の覚書。かぶる内容も多いのですが、個人的に以下の4冊を一番よく活用したと思います。

「Xcode 4ではじめるObjective-Cプログラミング」

XcodeもObject-Cもはじめてだったので、この本がすごく役に立ちました。内容としては、Xcodeの使い方とObject−Cについての解説になります。

「詳解iOS5プログラミング」

私が開発をはじめた時期にちょうどiOS5がリリースされたので、iOS5の新機能についての知識をつけるのに役立ちました。また、わたしはStoryBoardで開発すると決めていたので、StoryBoardの使い方の勉強にもなった1冊です。Object-cの文法的なところは他の本とかぶります。

「よくわかるiPhoneアプリ開発の教科書」

一通りの全部(?)のUIのアプリのソースが載っており、簡単なアプリなんですが、動くソフトをつくるのがよいです。やっていて、とても楽しくなります。ただし、実際に自分のアプリを作成するとなると、この本の次のステップが非常にレベルが高いことに気付かされます。

「The iOS 5 Developer’s Cookbook」

洋書です。CoreDataに関する本がほしくて買ってみました。CoreDataに関する部分は、初歩的な内容だけですが、豊富なソースがあり、CoreData以外のところも役に立ちました。最初は戸惑いますが、「ソースが綺麗だな。」と感じることができるくらいになると、勉強になります。

以上。

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta

wordpress3.4.2アップデートでデータベースの更新ができない→[解決]

2012年10月20日 土曜日

wordpress3.4.2へのアップデートで、「データベースの更新が必要です」というメッセージが表示された。「データベースを更新」ボタンをクリックしたら、wordpressのロゴがでたままなにも起きない。さらに、これ以降、管理画面にログインできなくなる。

 

上記のような現象が起きました。

◇環境

・さくらのレンタルサーバー

・WordPress

・MySQL5.1

 

 

◇解決方法

sshでログインして、以下のファイル、ディレクトリを削除(実際には、削除はこわいのでリネームしました)。

wp-content/db.php

wp-content/plugins/db-cache-reloaded-fix

そして、再度管理画面にログインし、データベース更新ボタンをクリックすると、「データベースが正常に更新されました」とのメッセージ。

 

 

以下ページを参考にしました。

WordPressを3.4.1にアップデートしたら管理画面が使えなくなってしまったのでメモ

 

 

キャッシュ系のプラグインは、止めてからアップグレードしたほうがいいんですね。

勉強になりました。