Home

袖触れ合うも多少の縁

iPhone: EDAMTimestamp からNSDateを作る

ちょっと分からなかったのでメモ。

Evernote APIでEDAMNoteを取得して、ノートの作成日をNSDateにする方法。
EDAMNote *note がノートのデータ。

NSTimeInterval timestamp = [note created];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:(timestamp / 1000.0)];

timestampを1000.0で割るのを忘れて不思議な年月日になってたw


Happynoteセール中だよ

  • Posted by: goron
  • 2011年12月31日 11:21
  • iPad | iPhone

今年も震災などいろいろありましたが、何とか年を越せそうです。

感謝の気持ちを込めて、今日から3日間Happynoteを無料にセールしてみました。
よかったらダウンロードしてみてください。


Happynote App

カテゴリ: ライフスタイル

価格: ¥85


みなさん、良いお年を


iPhoneアプリ Happynote リリースしました

  • Posted by: goron
  • 2011年11月11日 13:46
  • iPad | iPhone

iPhoneアプリ Happynote ver1.0 リリースしました。(ブログに書くの遅いですけど)
今年の始めには出す予定だったのですが、地震やらなにやらで(言い訳)伸び伸びになっていたのですが、ようやくリリースできました。

Happynote App

カテゴリ: ライフスタイル

価格: ¥85


このアプリは、毎夜寝る前に、その日あった良かったことを3つだけ書き続ける 3 good things というメソッドを専用アプリにしたものです。欧米では"Never go to bed angry"という言葉があって、就寝前は必ずハッピーな気持ちで寝るという習慣を作ることはとても良いことです。このアプリがその一助になればと思います。
そして、意外と3つの良いことは見つからないものなんですね。2つまでは何とか探せるのですけど、3つ目が見つからないことが多いですw その3つ目を強引に何かこじつけで良かったことにする発想が大事なんだと思います。

英語のローカライズ原稿を、英会話を習って先生に見てもらったのですが、その際、このアプリの意図を即座に理解した様子をみて、このアプリは西洋向きなのだなと感じました。"Never go to bed angry"という言葉も彼女の口から出てきたもので、このアプリを一言で表した言葉だなぁと感心するとともに、西洋には生活に対するいろいろな考え方がより発展しているのだなと感じました。
実際、アプリの売れ方は(ほとんど売れていませんがw)欧米が半分以上になっています。USでは星5つのベタ褒めレビューが付いていてとても驚いたし、ちょっと怖かったですw。

主な機能としては、


  • 記録した項目をランダムでアニメーション再生できる

  • twitter,facebookへの投稿。メール送信

  • CSVファイルのエクスポート

  • 書き忘れ防止のためのリマインダー

などになります。

たまに自分過去に書いたことを、アニメーションで読み返すのですが、3.11の地震のことが書いてありました。「今日生きて夜をむかえられてよかった」って。

ビデオは近いうち作り直します。。


とりあえず、何もプロモーションしないとどうなるのかな、
という実験は身を以て理解しましたw
良かったら、どうぞお試しください。

追記:
財経新聞さまに取り上げていただきました!
http://www.zaikei.co.jp/article/20111213/89411.html

i-Stationさまに取り上げていただきました!
http://iphones.cx/news/3happynote/

ありがとうございます!

01/06追記 ブログに書いてもらいました!ありがとうございます。
Genie's Happy Life


3 good thingについては以下をどうぞ
就寝前の「3つのよいこと」メモ習慣


ハマッた。Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011)

  • Posted by: goron
  • 2011年11月 1日 17:07
  • iPad | iPhone

今日のハマりどころ。 iOS5の話。解決に丸一日かかったw
Application failed codesign verification.
The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011)
これ。
Certification関係らしいのだけど。。。

ちなみに下記のエラーはグーグル先生が沢山情報を持っている。
Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)
こちらは、Distribution なのに、Developer Provisioningファイルが使われている場合のエラー。

今回、何度となくDistribution CertificateをRevokeして、再度リクエストしてを繰り返しましたが結果は変わらず。しかも、Xcode上のオーガナイザーからリフレッシュするとDistributionのProvisioningだけ消えちゃう現象が起こっている。(今も解決していない。Xcode4.2のバグかな?)だから、余計にCertificateに問題があるように思えるのだけど。

結論から言うと、Entitlement.plistにあるiCloudの項目が有効になっていることが原因でした!ターゲットのSummaryからEntitlement.plistのチェックボックスを有効にすると自動でEntitlement.plistが作られますが、iCloudの項目も勝手に追加されるみたい。iCouldの項目を削除したら、あっさりPassed Validationとなったw

昨日のiconの件といい、Entitlement.plistの件といい、全て見落としといえばそうなんだけど、知らないと気がつくまで時間がかかるわ、これ。


Icon specified in the Info.plist not found under the top level app wrapper:

  • Posted by: goron
  • 2011年11月 1日 00:27
  • iPad | iPhone

"Icon specified in the Info.plist not found under the top level app wrapper:"でむっちゃ悩みました。

iOS4時代では、info.plistのIcon filesに記載した文字が、大文字にしていない、とか、スペルミスが原因でこのエラーが出ていたみたいですが、
iOS5ではIcon files(iOS5)に問題が隠されていました。
というか気付かなかった。数時間悩みましたよ。ほんと。

対処法は、
Icon files(iOS5) > Primary Icon > Icon files のitemを確認すればよい。
プロジェクトのSummaryタブでApp Iconにドラッグとかでファイルを追加すると、Item0に空の項目が入るみたい。これを削除すれば解決。
それと、もう一つ、同じ項目で
Icon files(iOS5) > NewsstandIcon が勝手に追加されているときもあるみたい。
これまた、Newsstand App=true にしろとエラーが困る原因。
こちらは、単純にNewsstandを使わないのなら、その項目を削除すれば良いだけ。

ということで、個人アプリを初めてSubmitしてみました。
リリースが決まったら、ブログでお知らせします。


iOS5でアプリケーションアイコンの光沢を消す

  • Posted by: goron
  • 2011年10月25日 09:28
  • iPad | iPhone

iOS5専用のアプリを作っていて、
今まで通り、info-plistにIcon already includes gloss effect を
追加してYESにしていたのだけど、一向に光沢が消えなかった。
info-plistをよく見てみると、Icon filesとIcon files(iOS5)という2つの項目があったw

iOS5でアイコンの光沢を消すには、
Icon files(iOS5) > Primary Icon > Icon already includes gloss effect をYESにする。


iPhone NSString/CFStringRef の変換

  • Posted by: goron
  • 2011年9月28日 17:27
  • iPad | iPhone

ちょっと分からなかったので調べてみた。
つうかキャストするだけだったw オゥ

NSStringからCFStringRefに変換

CFStringRef aCFString = (CFStringRef)aNSString;

CFStringRefからNSStringに変換
NSString *aNSString = (NSString *)aCFString;


参考サイト
How to convert CFStringRef to NSString?


それと、4月には完成していたアプリが先日リリースされましたw
ClipCM oneといいます。
1枚の写真からテキストやフレームをつけてGIFアニメを作るアプリです。
無料なのでDLしてみてください。
1枚写真で作れるClipCM one App

カテゴリ: ライフスタイル

価格: 無料


あと、地味にClipCMもバージョンアップしています。
新しいプラグインが3つ追加になっています。


iPhone UIScrollViewで画面サイズより小さい領域でPagingする

  • Posted by: goron
  • 2011年8月26日 22:50
  • iPad | iPhone

新しいiMac買いました。メモリも安いので買いました。
でも雪豹のまま使うことにしますw

さて、UIScrollViewは便利で良く使っています。
UIScrollView.pagingEnabled = YESにすれば、ページ毎にきちっとスナップしてスクロールしてくれます。でも、画面サイズ(W:320px)より小さい要素、例えば画像(W:150px)などをページングするところでハマりました。iPhoneのサファリのタブのようにしたいのです。

ポイントは、ページングはframeのサイズではなくてboundsのサイズということ。
それと、scroll.clipsToBounds = NOにすること。NOにしないと、1枚しか見えない。
なるほど!

例えば、横は150pxの画像とマージンを取ったサイズを1ページとした場合。

UIScrollView *scroll = [[UIScrollView alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 200.0)];
scroll.bounds = CGRectMake(0.0, 0.0, 150.0 + margin, 200.0);
scroll.contentSize = CGSizeMake(150.0*3 + margin*3, 200.0);
scroll.pagingEnabled = YES;
scroll.showsVerticalScrollIndicator = NO;
scroll.showsHorizontalScrollIndicator = YES;
scroll.clipsToBounds = NO;
scroll.delegate = self;
[self.view addSubview:scroll];

これだと、ユーザのタッチ受付の領域が狭いので、hitTestとかで広げるとよいかも。
以下、参照記事。
UIScrollView horizontal paging like Mobile Safari tabs - Stack Overflow

あと、はじめてUIPageControl使ったので、メモ。
UIPageControlはユーザタッチを受け取るのでタッチすると、ドットが1つ移動します。
プロパティのcurrentPageで左右どちらへ移動したか分かります。
また、タッチがあったことを受け取るには、

[UIPageControl addTarget:self 
action:@selector(pageControlDidChange:)
forControlEvents:UIControlEventValueChanged];

をセットしておいて、メソッド内で、currentPageの位置へ下記のようにscrollViewを移動すればOK。
[scrollView setContentOffset:point animated:YES];


Xcode4 "No Packager exists for the type of archive"でipaファイルが作れない場合

  • Posted by: goron
  • 2011年8月24日 16:44
  • iPad | iPhone

iMacを勢いでらいおん様にしてしまい、Xcodeは3を使っていたのだが、ついにXcode4に移行するときがきました。今までちろちろ遊びでは使っていたのですが。。。

そして、いざXcode4で今まで開発していたプロジェクトをAdHocビルドしてみると、Archiveは完了するのだが、"No Packager exists for the type of archive" と出てipaの作成ができない。かなり焦った。

でも普通にAdHocビルドできるXcode3で作ったプロジェクトもある。何コレ。

グーグル先生に聞いてみたところ
Stackoverflowに回答がありました。助かりました。

この状態になるのは、ライブラリなど外部のリンクファイルを使っている場合のようです。自分のアプリでもGDataを使っていたのでそれがひっかかっていました。
解決法は、使用しているライブラリのプロジェクト(ボクの場合はGData)のBuild settingsのSkip InstallをYESにすること。ただし、メインのプロジェクトの方はそのままBuild settingsのSkip InstallはNOのままでOKとのことです。
これで、無事AdHocできました。ふ〜。

XCode4 + iOS 4.3: "No Packager exists for the type of archive"


あと、らいおん様にXcode3を共存させようと、一度削除して再インストールしたら正常にインストールできませんでした。ApplicationフォルダにUtilityフォルダしか作られない。。何度やってもダメでした。


いまさらAutometorでバックアップ

  • Posted by: goron
  • 2011年7月31日 14:19
  • Mac

いまさらですがAutometorを使いましたw 超便利。色々簡単にカスタマイズできそう。
あまりにも感動したのでメモ。

以前C言語のセミナーで、ビルド成功したものは極力アーカイブを作る癖をつけましょうと言われていて、いまのところ最低1日1回はバックアップ取るようにしています。
今まで手作業でアーカイブしていたことを、Autometor使えばいいじゃんてことしたw

選択したファイル名に_日付をつけて、選択ファイルを同じフォルダ内にzip圧縮ファイルを作成する

選択ファイルを同じフォルダ内にzip圧縮ファイルを作成して、zipファイル名に_日付をつける名称を変更する(追記:順番を間違えていました。上記だと元ファイルにも日付を追加してました)

  1. Finder項目の選択を求める
  2. アーカイブを作成
  3. 日付または時刻を追加

と作業に必要な部品(今回は3つ)を処理する順番に並べるとできあがる。
アプリケーションとして保存しておけばアプリになるので、ダブルクリックで起動、ファイルを選ぶとファイル名に日付をつけてzip圧縮してくれます。簡単。

以下、ワークフローのキャプチャです。
auto2.png


グーグル先生に聞くと色々教えてくれますね。

便利そう。でも起動が遅い?
OS X Lionの『Automator』にデスクトップでWebアプリを開ける機能がビルトインされました!


Index of all entries

Home

Profile

iPhone/iPad開発 web制作:平野百貨店
iPhone/iPad開発・web制作・映像制作をしている平野百貨店の店長個人の覚書です。
ご意見・ご感想などお問合せはコチラからどうぞ。

Search
iPhone Apps
MyBook Shelf
RSS
リンク
のこぎりそうの日記

Return to page top