<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>袖触れ合うも多少の縁</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.hirano-dept.com/blog/atom.xml" />
    <id>tag:www.hirano-dept.com,2009-05-18:/blog//1</id>
    <updated>2012-01-30T14:46:03Z</updated>
    <subtitle>首都圏で活躍中のコンテンツクリエーターのこの頃</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/" version="4.25">Movable Type Pro</generator>

<entry>
    <title>iPhone: EDAMTimestamp からNSDateを作る</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2012/01/iphone-edamtimestamp-nsdate.html" />
    <id>tag:www.hirano-dept.com,2012:/blog//1.130</id>

    <published>2012-01-30T14:40:13Z</published>
    <updated>2012-01-30T14:46:03Z</updated>

    <summary>ちょっと分からなかったのでメモ。 Evernote APIでEDAMNoteを取...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Evernote" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="evernote" label="Evernote" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[ちょっと分からなかったのでメモ。

Evernote APIでEDAMNoteを取得して、ノートの作成日をNSDateにする方法。
EDAMNote *note がノートのデータ。
<pre>NSTimeInterval timestamp = [note created];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:(timestamp / 1000.0)];</pre>

timestampを1000.0で割るのを忘れて不思議な年月日になってたw]]>
        
    </content>
</entry>

<entry>
    <title>Happynoteセール中だよ</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/12/happynote.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.129</id>

    <published>2011-12-31T02:21:01Z</published>
    <updated>2011-12-31T02:25:54Z</updated>

    <summary>今年も震災などいろいろありましたが、何とか年を越せそうです。 感謝の気持ちを込め...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="happynote" label="happynote" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="セール" label="セール" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[今年も震災などいろいろありましたが、何とか年を越せそうです。

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


<a href="http://itunes.apple.com/jp/app/happynote/id475573643?mt=8&uo=4" rel="nofollow" target="_blank"><img align="left" hspace="6" src="http://a2.mzstatic.com/us/r1000/070/Purple/d8/d9/d2/mzi.ixiorxnx.png" width="75" style="margin-right: 6px;" /><b>Happynote</b> <img alt="App" src="http://ax.phobos.apple.com.edgesuite.net/ja_jp/images/web/linkmaker/badge_appstore-sm.gif" style="vertical-align: text-bottom;" /></b><br />
</a>カテゴリ: ライフスタイル<br />
価格: &#65509;85<br clear="all" />


みなさん、良いお年を]]>
        
    </content>
</entry>

<entry>
    <title>iPhoneアプリ Happynote リリースしました</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/11/iphone-happynote.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.128</id>

    <published>2011-11-11T04:46:23Z</published>
    <updated>2012-01-06T03:42:53Z</updated>

    <summary>iPhoneアプリ Happynote ver1.0 リリースしました。（ブログ...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipad" label="ipad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[iPhoneアプリ Happynote ver1.0 リリースしました。（ブログに書くの遅いですけど）
今年の始めには出す予定だったのですが、地震やらなにやらで（言い訳）伸び伸びになっていたのですが、ようやくリリースできました。

<a href="http://itunes.apple.com/jp/app/happynote/id475573643?mt=8&uo=4" rel="nofollow" target="_blank"><img align="left" hspace="6" src="http://a2.mzstatic.com/us/r1000/070/Purple/d8/d9/d2/mzi.ixiorxnx.png" width="75" style="margin-right: 6px;" /><b>Happynote</b> <img alt="App" src="http://ax.phobos.apple.com.edgesuite.net/ja_jp/images/web/linkmaker/badge_appstore-sm.gif" style="vertical-align: text-bottom;" /></b><br />
</a>カテゴリ: ライフスタイル<br />
価格: &#65509;85<br clear="all" />


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

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

主な機能としては、
<ul>
<li>記録した項目をランダムでアニメーション再生できる</li>
<li>twitter,facebookへの投稿。メール送信</li>
<li>CSVファイルのエクスポート</li>
<li>書き忘れ防止のためのリマインダー</li>
</ul>

などになります。

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

ビデオは近いうち作り直します。。
<iframe width="420" height="315" src="http://www.youtube.com/embed/JcGehSKi9tA" frameborder="0" allowfullscreen></iframe>


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

追記：
財経新聞さまに取り上げていただきました！
<a href="http://www.zaikei.co.jp/article/20111213/89411.html">http://www.zaikei.co.jp/article/20111213/89411.html</a>

i-Stationさまに取り上げていただきました！
<a href="http://iphones.cx/news/3happynote/">http://iphones.cx/news/3happynote/</a>

ありがとうございます！

01/06追記 ブログに書いてもらいました！ありがとうございます。
<a href="http://d.hatena.ne.jp/Genie08/20120106/1325811424">Genie's Happy Life</a>


3 good thingについては以下をどうぞ
<a href="http://falcon238.jugem.jp/?eid=387">就寝前の「3つのよいこと」メモ習慣</a>]]>
        
    </content>
</entry>

<entry>
    <title>ハマッた。Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011)</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/11/application-failed-codesign-verification-the-signature-was-invalid-or-it-was-not-signed-with-an-ipho.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.127</id>

    <published>2011-11-01T08:07:13Z</published>
    <updated>2011-11-01T08:25:33Z</updated>

    <summary>今日のハマりどころ。 iOS5の話。解決に丸一日かかったw Applicatio...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="distribution" label="distribution" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ios5" label="iOS5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        今日のハマりどころ。 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の件といい、全て見落としといえばそうなんだけど、知らないと気がつくまで時間がかかるわ、これ。


        
    </content>
</entry>

<entry>
    <title>Icon specified in the Info.plist not found under the top level app wrapper:</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/11/icon-specified-in-the-infoplist-not-found-under-the-top-level-app-wrapper.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.126</id>

    <published>2011-10-31T15:27:07Z</published>
    <updated>2011-10-31T15:39:28Z</updated>

    <summary>&quot;Icon specified in the Info.plist not fo...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="icon" label="Icon" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="validate" label="Validate" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        &quot;Icon specified in the Info.plist not found under the top level app wrapper:&quot;でむっちゃ悩みました。

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

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

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

<entry>
    <title>iOS5でアプリケーションアイコンの光沢を消す</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/10/ios5.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.125</id>

    <published>2011-10-25T00:28:11Z</published>
    <updated>2011-10-25T00:35:24Z</updated>

    <summary>iOS5専用のアプリを作っていて、 今まで通り、info-plistにIcon ...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iconalreadyincludesglosseffect" label="Icon already includes gloss effect" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ios5" label="iOS5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="アイコン" label="アイコン" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="光沢" label="光沢" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        iOS5専用のアプリを作っていて、
今まで通り、info-plistにIcon already includes gloss effect を
追加してYESにしていたのだけど、一向に光沢が消えなかった。
info-plistをよく見てみると、Icon filesとIcon files(iOS5)という2つの項目があったw

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


        
    </content>
</entry>

<entry>
    <title>iPhone NSString／CFStringRef の変換</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/09/iphone-nsstringcfstringref.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.122</id>

    <published>2011-09-28T08:27:32Z</published>
    <updated>2011-09-28T08:40:12Z</updated>

    <summary>ちょっと分からなかったので調べてみた。 つうかキャストするだけだったw　オゥ N...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cfstringref" label="CFStringRef" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="nsstring" label="NSString" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[ちょっと分からなかったので調べてみた。
つうかキャストするだけだったw　オゥ

NSStringからCFStringRefに変換
<pre>CFStringRef aCFString = (CFStringRef)aNSString;</pre>
CFStringRefからNSStringに変換
<pre>NSString *aNSString = (NSString *)aCFString;</pre>


参考サイト
<a href="http://stackoverflow.com/questions/640367/how-to-convert-cfstringref-to-nsstring">How to convert CFStringRef to NSString?</a>


それと、4月には完成していたアプリが先日リリースされましたw
ClipCM oneといいます。
1枚の写真からテキストやフレームをつけてGIFアニメを作るアプリです。
無料なのでDLしてみてください。
<a href="http://itunes.apple.com/jp/app/id457849946?mt=8&uo=4" rel="nofollow" target="_blank"><img align="left" hspace="6" src="http://a3.mzstatic.com/us/r1000/070/Purple/46/e2/be/mzi.zbiudstk.png" width="75" style="margin-right: 6px;" /><b>1枚写真で作れるClipCM one</b> <img alt="App" src="http://ax.phobos.apple.com.edgesuite.net/ja_jp/images/web/linkmaker/badge_appstore-sm.gif" style="vertical-align: text-bottom;" /></b><br />
</a>カテゴリ: ライフスタイル<br />
価格: 無料<br clear="all" />


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

<entry>
    <title>iPhone UIScrollViewで画面サイズより小さい領域でPagingする</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/08/iphone-uiscrollviewpaging.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.121</id>

    <published>2011-08-26T13:50:40Z</published>
    <updated>2011-08-26T14:17:20Z</updated>

    <summary>新しいiMac買いました。メモリも安いので買いました。 でも雪豹のまま使うことに...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipad" label="iPad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="uipagecontrol" label="UIPageControl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="uiscrollview" label="UIScrollView" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[新しいiMac買いました。メモリも安いので買いました。
でも雪豹のまま使うことにしますw

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

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

例えば、横は150pxの画像とマージンを取ったサイズを1ページとした場合。
<pre>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];</pre>

これだと、ユーザのタッチ受付の領域が狭いので、hitTestとかで広げるとよいかも。
以下、参照記事。
<a href="http://stackoverflow.com/questions/1220354/uiscrollview-horizontal-paging-like-mobile-safari-tabs">UIScrollView horizontal paging like Mobile Safari tabs - Stack Overflow</a>

あと、はじめてUIPageControl使ったので、メモ。
UIPageControlはユーザタッチを受け取るのでタッチすると、ドットが1つ移動します。
プロパティのcurrentPageで左右どちらへ移動したか分かります。
また、タッチがあったことを受け取るには、 
<pre>[UIPageControl addTarget:self 
   action:@selector(pageControlDidChange:) 
   forControlEvents:UIControlEventValueChanged];</pre>
をセットしておいて、メソッド内で、currentPageの位置へ下記のようにscrollViewを移動すればOK。
 [scrollView setContentOffset:point animated:YES];

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hiranodept-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4897978440" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>



]]>
        
    </content>
</entry>

<entry>
    <title>Xcode4  &quot;No Packager exists for the type of archive&quot;でipaファイルが作れない場合</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/08/xcode4-no-packager-exists-for-the-type-of-archiveipa.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.120</id>

    <published>2011-08-24T07:44:49Z</published>
    <updated>2011-08-24T08:01:15Z</updated>

    <summary>iMacを勢いでらいおん様にしてしまい、Xcodeは3を使っていたのだが、ついに...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="nopackagerexistsforthetypeofarchive" label="No Packager exists for the type of archive" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xcode4" label="xcode4" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[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できました。ふ〜。

<a href="http://stackoverflow.com/questions/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive">XCode4 + iOS 4.3: "No Packager exists for the type of archive"</a>


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

<entry>
    <title>いまさらAutometorでバックアップ</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/07/autometor.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.119</id>

    <published>2011-07-31T05:19:16Z</published>
    <updated>2011-08-01T03:02:55Z</updated>

    <summary>いまさらですがAutometorを使いましたw 超便利。色々簡単にカスタマイズで...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="Mac" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="autometer" label="autometer" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mac" label="mac" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[いまさらですがAutometorを使いましたw 超便利。色々簡単にカスタマイズできそう。
あまりにも感動したのでメモ。

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

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

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

<ol>
<li>Finder項目の選択を求める</li>
<li>アーカイブを作成</li>
<li>日付または時刻を追加</li>
</ol>

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

以下、ワークフローのキャプチャです。
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.hirano-dept.com/blog/assets_c/2011/08/auto2-11.html" onclick="window.open('http://www.hirano-dept.com/blog/assets_c/2011/08/auto2-11.html','popup','width=879,height=710,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.hirano-dept.com/blog/assets_c/2011/08/auto2-thumb-500x403-11.png" width="500" height="403" alt="auto2.png" class="mt-image-none" style="" /></a></span>


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

便利そう。でも起動が遅い？
<a href="http://www.lifehacker.jp/2011/07/110727osxlionauto.html">OS X Lionの『Automator』にデスクトップでWebアプリを開ける機能がビルトインされました！</a>]]>
        
    </content>
</entry>

<entry>
    <title>iPhone アプリに空きメモリを表示する</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/07/iphone-8.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.118</id>

    <published>2011-07-29T07:56:59Z</published>
    <updated>2011-07-29T08:20:33Z</updated>

    <summary>アプリ起動中に端末の空きメモリを表示するクラスを作ったので一応アップしておきます...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipad" label="ipad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="メモリ" label="メモリ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[アプリ起動中に端末の空きメモリを表示するクラスを作ったので一応アップしておきます。
元ネタのまま利用させてもらいました。
<pre>#include < mach/host_info.h >
#include < mach/mach_init.h >
#include < mach/mach_host.h >
//MBで返す
-(float)freeSize
{
    struct vm_statistics a_vm_info;
    mach_msg_type_number_t a_count = HOST_VM_INFO_COUNT;
    host_statistics( mach_host_self(), HOST_VM_INFO, (host_info_t)&a_vm_info ,&a_count);
    return ((a_vm_info.free_count * vm_page_size)/1024.0)/1024.0;
}</pre>

UIViewのサブクラスにしています。AppDelegateでUIWindowへaddSubviewすると最前面にきて良いと思います。

スマートなやり方が分からないので内部でタイマーを使って空きメモリの値を更新しています。（現状は1秒間隔です）ですので、アプリがバックグラウンドへ行くときや、戻ってきたときにタイマーを制御してください。
-(void)memoryCheckStop; //タイマー止める
-(void)memoryCheckStart; //タイマー進める

<a href="http://www.hirano-dept.com/blog/2011/memory.zip">ソースはこちら</a>


元ネタはこちらです
<a href="http://d.hatena.ne.jp/It_lives_vainly/20090325/1237952703">http://d.hatena.ne.jp/It_lives_vainly/20090325/1237952703</a>]]>
        
    </content>
</entry>

<entry>
    <title>iPhone Objective-Cで構造体を配列や辞書に登録</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/07/iphone-objective-c.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.117</id>

    <published>2011-07-19T05:15:55Z</published>
    <updated>2011-07-19T05:28:02Z</updated>

    <summary>ちょっと分からなかったのでメモ。 AVFoundationで画面を連続キャプチャ...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="構造体" label="構造体" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[ちょっと分からなかったのでメモ。

AVFoundationで画面を連続キャプチャしている際に、CMSampleBufferRef型のデータを一時的に配列へ保管したかったので調べてみました。

NSValueに構造体を入れればよかったのですね。
<pre>
CMSampleBufferRef imageDataSampleBuffer;
// CMSampleBufferRefをNSValueにする
NSValue *sample = [NSValue value: &imageDataSampleBuffer
 withObjCType:@encode(CMSampleBufferRef)];

//CMSampleBufferRefに戻す
CMSampleBufferRef imageDataSampleBuffer;
[sample getValue:&imageDataSampleBuffer];
</pre>


アップルのドキュメントは以下です。
<a href="http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/NumbersandValues/Articles/Values.html">http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/NumbersandValues/Articles/Values.html</a>]]>
        
    </content>
</entry>

<entry>
    <title>iPhone SDK ターミナルでデバッグ</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/04/iphone-sdk-1.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.116</id>

    <published>2011-04-19T05:54:47Z</published>
    <updated>2011-04-19T06:18:23Z</updated>

    <summary>iPhoneをXcodeにつないでいない時にのみ起きる不思議クラッシュ現象。 な...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipad" label="iPad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="デバッグ" label="デバッグ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[iPhoneをXcodeにつないでいない時にのみ起きる不思議クラッシュ現象。

なぜかシミュレータでの操作や、Xcodeから実機に直接「ビルドと実行」してデバッグを行ってもクラッシュは起きない。実機にインストール後、アプリを起動した場合のみクラッシュする現象に遭遇しました。（まぁ通常はこの状態で動作するのが正常な訳ですが。。。）
XcodeのデバッグコンソールからNSZombeが出すメッセージもなく、クラッシュするので困っていました。オーガナイザには当然クラッシュログは残っているのですが、
<pre>1   myapp                        	0x00020d80 0x1000 + 130432</pre>
とこんな感じなのでどこが問題なのか正確に理解できない。

stackoverflowに良い解決法が載っていました！
<a href="http://stackoverflow.com/questions/1485234/crashing-app-when-device-not-connected-to-xcode">Crashing app when device not connected to Xcode</a>

やり方は、ターミナルを使って、「0x00020d80」がどこを差しているのか分かれば解決できると。

まず、ターミナルでデバッグしたいプロジェクト内にあるbuildディレクトリへ移動。
そこで、以下のコマンドを入力。
<pre>atos -arch armv6 -o myapp.app/myapp 	0x00020d80</pre>
すると、ターミナルがクラッシュしたクラスとメソッド、および行数を教えてくれます。

助かったぁー、オブジェクトをリリースするタイミングの問題でした（汗]]>
        
    </content>
</entry>

<entry>
    <title>iPhone UIPickerView のラベルのフォント変更</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/02/iphone-uipickerview-1.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.115</id>

    <published>2011-02-08T06:37:58Z</published>
    <updated>2011-02-08T06:55:28Z</updated>

    <summary>iPhoneでUIPickerViewを使ってシステムのフォント一覧を表示します...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ipad" label="iPad" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="uipickerview" label="UIPickerView" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="フォント変更" label="フォント変更" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[iPhoneでUIPickerViewを使ってシステムのフォント一覧を表示します。
せっかくフォントを表示するので、各ラベルのフォントも表示するフォントに合わせようと思ったら少々迷ったのメモします。

通常ですと、UIPickerViewのdelegateメソッドは
<blockquote>-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
-(NSInteger)pickerView:(UIPickerView*)pictView numberOfRowsInComponent:(NSInteger)component
-(NSString*)pickerView:(UIPickerView *)pictView titleForRow:(NSInteger)row forComponent:(NSInteger)component
</blockquote>
の3つですが、これですとNSStringしか返せません。
ですので、3つ目のメソッドは
<blockquote>- (UIView *)pickerView:(UIPickerView *)pictView  viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView*)view
</blockquote>
を使うと、画像などUIView(UILabel)が使えます。

システムのフォント一覧を表示する場合は以下のようになります。
<pre>
- (void)viewDidLoad {
    [super viewDidLoad];	
    NSArray *family = [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)];
	familyNames = [[NSMutableArray alloc]init];
	for ( id familyName in family ) {
		NSArray* fonts = [[UIFont fontNamesForFamilyName:familyName] sortedArrayUsingSelector:@selector(compare:)];
		for (NSString *name in fonts) {
			[familyNames addObject:name];
		}
	}
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
	return 1;
}
-(NSInteger)pickerView:(UIPickerView*)pictView numberOfRowsInComponent:(NSInteger)component{
	return [familyNames count];
}
/* フォント名のみ返す場合
-(NSString*)pickerView:(UIPickerView *)pictView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
	return [NSString stringWithFormat:@"%@", [familyNames objectAtIndex:row]];
}
*/
//UILabelで返す場合
- (UIView *)pickerView:(UIPickerView *)pictView  viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView*)view{
	NSString *fontname = [NSString stringWithFormat:@"%@", [familyNames objectAtIndex:row]];
	UILabel* fontlabel = (UILabel*)view;	
	if (!fontlabel) {
		fontlabel =  [[[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, ([pictView rowSizeForComponent:component].width - 8.0f), [pictView rowSizeForComponent:component].height)] autorelease];
		fontlabel.adjustsFontSizeToFitWidth = YES;
		fontlabel.backgroundColor = [UIColor clearColor];
	}	
	fontlabel.text = fontname;
	fontlabel.font = [UIFont fontWithName:fontname size:[UIFont labelFontSize]];
	return fontlabel;
}

//ピッカーで取得　labelというUILabelへ選んだフォントを表示しています。
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
	NSString *pickFont = [familyNames objectAtIndex:[thePickerView selectedRowInComponent:0]];
	label.font = [UIFont fontWithName:pickFont size:[UIFont labelFontSize]];
	label.text = pickFont;
}

- (void)dealloc {
    [familyNames release];
    [super dealloc];
}
</pre>


<a href="http://hirano-dept.com/blog/FontTest.zip">サンプルソース</a>]]>
        
    </content>
</entry>

<entry>
    <title>iPhoneでFacebookへの対応 (photo upload)</title>
    <link rel="alternate" type="text/html" href="http://www.hirano-dept.com/blog/2011/02/iphone-facebook-photo-upload.html" />
    <id>tag:www.hirano-dept.com,2011:/blog//1.114</id>

    <published>2011-02-01T02:26:29Z</published>
    <updated>2011-02-01T03:01:03Z</updated>

    <summary>iPhoneアプリで、写真共有サイトへのアップロードが必要になり テストでいくつ...</summary>
    <author>
        <name>goron</name>
        
    </author>
    
        <category term="iPad" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="facebook" label="facebook" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="photoupload" label="photo upload" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.hirano-dept.com/blog/">
        <![CDATA[iPhoneアプリで、写真共有サイトへのアップロードが必要になり
テストでいくつかプロジェクトを作成してみました。
facebookへの写真アップロードの部分でつまづいたのでメモです。

まず、facebookはiOS用のSDKは以下で配布されています。
<a href="https://github.com/facebook/facebook-ios-sdk">https://github.com/facebook/facebook-ios-sdk</a>

開発者登録、アプリ登録も必要です。
<a href="http://www.facebook.com/developers/createapp.php">http://www.facebook.com/developers/createapp.php</a>

組み込み方法はFacebookのdeveloperページにあります。
<a href="http://developers.facebook.com/docs/guides/mobile/">http://developers.facebook.com/docs/guides/mobile/</a>

その他、参考にしたサイト。超簡単Facebook実装
<a href="http://www.slideshare.net/MakotoIto/facebook-6054768">http://www.slideshare.net/MakotoIto/facebook-6054768</a>


僕は、自分のプロジェクトにsrcフォルダをコピーして、
facebook-ios-sdk.xcodeprojを立ち上げて、FBConnectフォルダを自分のプロジェクトへドロップしました。

SDKのサンプルフォルダにあるDemoAppを見れば大体作りが分かると思います。
自分のプロジェクトの場合は
1.自分のcontrollerに #import "FBConnect.h" する。
2.app idを入力する　static NSString* kAppId = @"***********";(15桁の数字）
3.info.plistに URL Types > URL Shcemes に　"fb" と 上記のapp idを加えた文字列を入れる

あと、忘れてはいけないのは、
自分のプロジェクトのappDelegateに下記を入れる。
<blockquote>- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
		return [[controller facebook] handleOpenURL:url];
}</blockquote>


これが入っていなくて、
The operation couldn't be completed. (facebookErrDomain error 101.) 
というエラーで悩みました。
同じapp idで Demoでは動くのに、自分のプロジェクトで動かないことになっていました。
しかもInvalid API key となるので、謎でした。


写真アップロードに関して。
キャプションをつけて写真をアップロードしたい場合は、
paramsに@"caption"の項目を追加すればよいです。
グーグル先生では@"message"となっているのですが、これでは反映されません。
<pre>
-(void)upload{
	UIImage *img = [UIImage imageNamed:@"img.jpg"];
	//キャプション入れる時
	 NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
	 img, @"picture", 
	 @"ここにキャプションをいれる", @"caption", nil];
	[_facebook requestWithMethodName:@"photos.upload" andParams:params andHttpMethod:@"POST" andDelegate:self];
}
</pre>


あと、アプリを毎回ログインさせない方法は模索中です。。

]]>
        
    </content>
</entry>

</feed>

