<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Sun Limited Mt.</title>
	
	<link>http://blog.syuhari.jp</link>
	<description>I love iPhone, CakePHP and WordPress.</description>
	<lastBuildDate>Thu, 20 Oct 2011 19:36:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/syuhari" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="syuhari" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Xcode のブレークポイントを条件判定して止める方法</title>
		<link>http://blog.syuhari.jp/archives/2333</link>
		<comments>http://blog.syuhari.jp/archives/2333#comments</comments>
		<pubDate>Fri, 24 Dec 2010 21:21:21 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2333</guid>
		<description><![CDATA[Xcode のブレークポイントを条件判定を指定して条件に合った時だけ止める方法です。 例えば以下のコードのように1000回ループを回す処理があったとします。 for (int i=0; i]]></description>
			<content:encoded><![CDATA[<p>Xcode のブレークポイントを条件判定を指定して条件に合った時だけ止める方法です。</p>
<p>例えば以下のコードのように1000回ループを回す処理があったとします。</p>
<pre class="cpp" name="code">
for (int i=0; i<1000; i++) {
  NSLog(@"i=%d", i);
}
</pre>
<p>このループの500回目、つまり i==500 の時だけブレークポイントで止める方法になります。<br />
<span id="more-2333"></span><br />
NSLog の行にブレークポイントを設定して、コンテキストメニューから「ブレークポイントを編集」を選択します。<br />
<img src="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-25-12-25土-5.51.59）.png" alt="ブレークポイントを編集" title="ブレークポイントを編集" width="301" height="233" class="alignnone size-full wp-image-2334" /></p>
<p>ブレークポイントの条件を指定します。今回は i==500 を指定しました。<br />
<a href="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-25-12-25土-6.03.25）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-25-12-25土-6.03.25）-300x39.png" alt="条件を指定" title="条件を指定" width="300" height="39" class="alignnone size-medium wp-image-2335" /></a></p>
<p>これで実行すると、ループ処理で毎回止まることなく i==500 のときのみ止めることができます。<br />
<a href="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-25-12-25土-6.05.00）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-25-12-25土-6.05.00）-300x194.png" alt="ログ" title="ログ" width="300" height="194" class="alignnone size-medium wp-image-2336" /></a></p>
<p>値を監視するとかはよく使っていたのですが、この条件判定で止める方法は知りませんでした。以下の本を読んで初めて知りました。まだまだ勉強不足です。<br />
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=8109-22&#038;o=9&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=1X69VDGQCMF7Z30FM082&#038;asins=0672333392" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2333&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2333/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhone/iPad で各種ファイルを QuickLook する</title>
		<link>http://blog.syuhari.jp/archives/2323</link>
		<comments>http://blog.syuhari.jp/archives/2323#comments</comments>
		<pubDate>Thu, 16 Dec 2010 03:11:51 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[ini]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mo]]></category>
		<category><![CDATA[ModalView]]></category>
		<category><![CDATA[po]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2323</guid>
		<description><![CDATA[iOS4.0 から使える Quick Look フレームワークを試してみました。 画像、PDF、HTML、iWorks、MSOffice などのファイルのプレビューをしたり、印刷やファイル形式によって対応している他のアプリで開いたりすることができます。 UITableViewController などと同じようにデータソースを指定して、プレビューさせるファイルがいくつあるか、indexPath で指定されたファイルのファイルパスを返すなどを実装すれば簡単にプレビュー画面を作成できます。 #import QLPreviewController* previewController = [[QLPreviewController alloc] init]; previewController.dataSource = self; previewController.delegate = self; previewController.currentPreviewItemIndex = indexPath.section; [self presentModalViewController:previewController animated:YES]; [previewController release]; -(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController*)previewController { // プレビューするファイル数 return 10; } -(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)index { // プレビューするファイルのパスを NSURL で返す NSString* filePath = [[NSBundle mainBundle] pathForResource:docName ofType:docExtention]; NSURL* url = [...]]]></description>
			<content:encoded><![CDATA[<p>iOS4.0 から使える Quick Look フレームワークを試してみました。<br />
画像、PDF、HTML、iWorks、MSOffice などのファイルのプレビューをしたり、印刷やファイル形式によって対応している他のアプリで開いたりすることができます。</p>
<p>UITableViewController などと同じようにデータソースを指定して、プレビューさせるファイルがいくつあるか、indexPath で指定されたファイルのファイルパスを返すなどを実装すれば簡単にプレビュー画面を作成できます。<br />
<span id="more-2323"></span></p>
<pre class="cpp" name="code">
#import <QuickLook/QuickLook.h>

QLPreviewController* previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = indexPath.section;
[self presentModalViewController:previewController animated:YES];
[previewController release];
</pre>
<pre class="cpp" name="code">
-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController*)previewController
{
  // プレビューするファイル数
  return 10;
}

-(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)index
{
  // プレビューするファイルのパスを NSURL で返す
  NSString* filePath = [[NSBundle mainBundle] pathForResource:docName ofType:docExtention];
  NSURL* url = nil;
  if (filePath) {
    url = [NSURL fileURLWithPath:filePath];
  }
  return url;
}
</pre>
<p><div id="attachment_2327" class="wp-caption alignleft" style="width: 169px"><a href="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-16-12-16木-11.55.03）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-16-12-16木-11.55.03）-159x300.png" alt="" title="JPEGをQuickLook" width="159" height="300" class="size-medium wp-image-2327" /></a><p class="wp-caption-text">下の矢印で前後のファイルに移動できる</p></div>　<div id="attachment_2328" class="wp-caption alignleft" style="width: 169px"><a href="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-16-12-16木-11.55.15）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-16-12-16木-11.55.15）-159x300.png" alt="" title="JPEG画像を印刷" width="159" height="300" class="size-medium wp-image-2328" /></a><p class="wp-caption-text">右上のアイコンからメニューを開く</p></div><br />
<div id="attachment_2326" class="wp-caption alignleft" style="width: 169px"><a href="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-16-12-16木-11.54.56）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/12/スクリーンショット（2010-12-16-12-16木-11.54.56）-159x300.png" alt="" title="PDF" width="159" height="300" class="size-medium wp-image-2326" /></a><p class="wp-caption-text">対応している他のアプリで開くことも出来る</p></div><br />
<br clear="all"/></p>
<p>参考：WWDC2010 Session106 Understanding Document Interaction Controller</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2323&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2323/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LightningTalk for iPhone をバージョンアップ</title>
		<link>http://blog.syuhari.jp/archives/2320</link>
		<comments>http://blog.syuhari.jp/archives/2320#comments</comments>
		<pubDate>Fri, 10 Dec 2010 02:00:21 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPhone/iPod touch]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2320</guid>
		<description><![CDATA[先日の12月5日にクックパッドさんをお借りして開催された プチ開発合宿「Tech Founders Japan CodeCamp #4」で行った iPhone アプリ「LightningTalk for iPhone」のバージョンアップが今朝リリースされました！ このアプリの特徴は iPhone を VGA アダプタで直接プロジェクタに接続してプレゼンできることです。まさにライトニングトークのような軽いプレゼンにオススメです。 今回のバージョンアップの目玉はパワーポイントの書類をそのまま iPhone に入れてプレゼンできるようになったことです。ただし、パワーポイントに設定したエフェクトやアクションは表示されませんのでご注意ください。 次期バージョンアップでは Keynote のファイルへの対応なども予定しております。]]></description>
			<content:encoded><![CDATA[<p><a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&#038;offerid=94348&#038;type=3&#038;subid=0&#038;tmpid=2192&#038;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Flightningtalk-for-iphone%252Fid403188651%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="_blank" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/12/8b3a75b5ed4f1b3b7c366834bc8b0527.png" alt="LightningTalk" title="LightningTalk icon" width="185" height="185" class="alignright size-full wp-image-147" /></a>先日の12月5日にクックパッドさんをお借りして開催された プチ開発合宿「<a href="http://www.ideaxidea.com/archives/2010/11/code_camp_4.html" target="_blank" class="liexternal">Tech Founders Japan CodeCamp #4</a>」で行った iPhone アプリ「<a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&#038;offerid=94348&#038;type=3&#038;subid=0&#038;tmpid=2192&#038;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Flightningtalk-for-iphone%252Fid403188651%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="_blank" class="liexternal">LightningTalk for iPhone</a>」のバージョンアップが今朝リリースされました！</p>
<p>このアプリの特徴は iPhone を VGA アダプタで直接プロジェクタに接続してプレゼンできることです。まさにライトニングトークのような軽いプレゼンにオススメです。<br />
<span id="more-2320"></span><br />
今回のバージョンアップの目玉はパワーポイントの書類をそのまま iPhone に入れてプレゼンできるようになったことです。ただし、パワーポイントに設定したエフェクトやアクションは表示されませんのでご注意ください。</p>
<p>次期バージョンアップでは Keynote のファイルへの対応なども予定しております。</p>
<p><a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&#038;offerid=94348&#038;type=3&#038;subid=0&#038;tmpid=2192&#038;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Flightningtalk-for-iphone%252Fid403188651%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store" class="liimagelink"><img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-lrg.gif" alt="LightningTalk for iPhone - Syuhari. Inc." style="border: 0;"/></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2320&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2320/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[iPhone/iPad] メール添付されたパワポファイルをアプリで開けるようにする</title>
		<link>http://blog.syuhari.jp/archives/2313</link>
		<comments>http://blog.syuhari.jp/archives/2313#comments</comments>
		<pubDate>Fri, 03 Dec 2010 02:00:10 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>
		<category><![CDATA[attachment]]></category>
		<category><![CDATA[iphone.ipad]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mdls]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[ppt]]></category>
		<category><![CDATA[pptx]]></category>
		<category><![CDATA[UTI]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2313</guid>
		<description><![CDATA[以前メールに添付された PDF ファイルをアプリで開けるようにするやり方を書きました。 [iPhone/iPad] メールの添付ファイルをアプリケーションで開けるようにする 今回は PowerPoint ファイルを開けるようにしたのですが、より実践的にどのファイルフォーマットでも指定できるようにやり方、調べ方を説明します。 パワーポイントファイルの指定方法 パワーポイントの拡張子は2種類あります。ppt と pptx です。具体的には LSItemContentTypes で UTI(Uniform Type Identifiers) を指定します。UTI とはアップルが定めたデータ識別子です。ここに ppt と pptx の UTI を指定することによりメール添付ファイルなどをアプリで扱えるようになります。 &#60;key&#62;CFBundleDocumentTypes&#60;/key&#62; &#60;array&#62; &#60;dict&#62; &#60;key&#62;CFBundleTypeName&#60;/key&#62; &#60;string&#62;Microsoft Powerpoint&#60;/string&#62; &#60;key&#62;LSHandlerRank&#60;/key&#62; &#60;string&#62;Alternate&#60;/string&#62; &#60;key&#62;LSItemContentTypes&#60;/key&#62; &#60;array&#62; &#60;string&#62;com.microsoft.powerpoint.ppt&#60;/string&#62; &#60;string&#62;org.openxmlformats.presentationml.presentation&#60;/string&#62; &#60;/array&#62; &#60;/dict&#62; &#60;/array&#62; UTI をどうやって調べるか ppt の UTI はネットで検索してすぐに分かりました。しかし、pptx の方が情報がなくまったく分かりませんでした。そこで UTI を詳しく調べると メタデータを検索するコマンド mdls を使用することにより UTI を調べられます。 [...]]]></description>
			<content:encoded><![CDATA[<p>以前メールに添付された PDF ファイルをアプリで開けるようにするやり方を書きました。<br />
<a href="http://blog.syuhari.jp/archives/2254" target="_blank" class="liexternal">[iPhone/iPad] メールの添付ファイルをアプリケーションで開けるようにする</a></p>
<p>今回は PowerPoint ファイルを開けるようにしたのですが、より実践的にどのファイルフォーマットでも指定できるようにやり方、調べ方を説明します。<br />
<span id="more-2313"></span></p>
<h4>パワーポイントファイルの指定方法</h4>
<p>パワーポイントの拡張子は2種類あります。ppt と pptx です。具体的には LSItemContentTypes で UTI(Uniform Type Identifiers) を指定します。UTI とはアップルが定めたデータ識別子です。ここに ppt と pptx の UTI を指定することによりメール添付ファイルなどをアプリで扱えるようになります。</p>
<pre class="cpp" name="code">
&lt;key&gt;CFBundleDocumentTypes&lt;/key&gt;
&lt;array&gt;
  &lt;dict&gt;
    &lt;key&gt;CFBundleTypeName&lt;/key&gt;
    &lt;string&gt;Microsoft Powerpoint&lt;/string&gt;
    &lt;key&gt;LSHandlerRank&lt;/key&gt;
    &lt;string&gt;Alternate&lt;/string&gt;
    &lt;key&gt;LSItemContentTypes&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;com.microsoft.powerpoint.ppt&lt;/string&gt;
      &lt;string&gt;org.openxmlformats.presentationml.presentation&lt;/string&gt;
    &lt;/array&gt;
  &lt;/dict&gt;
&lt;/array&gt;
</pre>
<h4>UTI をどうやって調べるか</h4>
<p>ppt の UTI はネットで検索してすぐに分かりました。しかし、pptx の方が情報がなくまったく分かりませんでした。そこで UTI を詳しく調べると メタデータを検索するコマンド mdls を使用することにより UTI を調べられます。</p>
<p>-name オプションを指定することにより、必要なメタデータのみ取り出せます。何もオプション指定しないと全てのメタデータが表示されます。</p>
<pre class="shell">
$ mdls -name kMDItemContentType /path/to/hoge.pptx
kMDItemContentType = "org.openxmlformats.presentationml.presentation"
</pre>
<h4>参考サイト</h4>
<p><a href="http://en.wikipedia.org/wiki/Uniform_Type_Identifier" target="_blank" rel="nofollow" class="liwikipedia">Uniform Type Identifier &#8211; Wikipedia, the free encyclopedia</a><br />
<a href="http://potting.syuriken.jp/potting_conv/understanding_utis_J/chapter1.html" target="_blank" class="liexternal">Uniform Type Identifierの概要</a><br />
<a href="http://homepage.mac.com/sdkfz164/terminal/mdls.html" target="_blank" class="liexternal">mdls</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2313&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2313/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[iPhone/iPad] 電子書籍「野菜の魔法」リリースしました！</title>
		<link>http://blog.syuhari.jp/archives/2301</link>
		<comments>http://blog.syuhari.jp/archives/2301#comments</comments>
		<pubDate>Thu, 02 Dec 2010 07:11:40 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2301</guid>
		<description><![CDATA[TV・雑誌などでご活躍の野菜ソムリエ Canaco さんが全文直筆でかかれたご著書「野菜の魔法」を iPhone/iPad の電子書籍としてリリースしました！ 見ているだけで和む Canaco さんの筆文字。そしてとってもためになる野菜の豆知識。読みやすい文体で読み始めると知らず知らず引きこまれてしまい、一気に読んでしまいました。読めばきっと野菜好きになれますよ！ ちなみにレンコンの穴の数っていくつか知っていますか？ 答えは「野菜の魔法」を読めば分かります! レンコン好きなうちの子供に自慢しちゃいましたw なお、本アプリは iPhone/iPad どちらでもご利用になれるユニバーサルアプリになっています。 野菜ソムリエ Canaco さん Twitter : http://twitter.com/Canaco831 公式サイト : http://www.canaco831.com/ Amazon の紹介文 40種の簡単知識、ココロとカラダにオイシイ効果を紹介。とまと・空豆・パセリ・蓮根・モロヘイヤ…“ごほうび野菜”が素敵な「魔法」をあなたにかけます!お肌がツヤツヤ、お腹まわりスッキリ、便秘にさようなら…キレイになって、元気になれる。 アプリの紹介 TV・雑誌などで大活躍中！！様々な旬な野菜を使った料理・スイーツをプロデュースされている野菜ソムリエCanacoさんの『大切な人に教えたい 野菜の魔法』ついに電子書籍化！ この本の最大の魅力は、全てCanacoさんの手書きで書かれた文書。 手書きには、活字ではなかなか伝わらない温かさがあります。 Canacoさんの人柄がとても伝わる一冊となっています。 春夏秋冬、それぞれの野菜の豆知識やポイントがとてもわかりやすく書かれており、 野菜の魅力がたくさん詰まっています。 読めば野菜を好きになれる、食べたくなる、そんな一冊です。 男女問わず、子供から大人まで幅広い年代の方に楽しんで頂けるアプリです。 ◎著者プロフィール 野菜ソムリエ Canaco (本名：米村佳奈子) 1982年1月14日、東京都生まれ 大学在学中に野菜ソムリエの資格を取得 外食産業に就職するが本の出版と酵素の研究をきかっけに ブームプランニング社内にて企業内起業家として独立 野菜ソムリエとしてテレビやラジオ、新聞、雑誌と様々な分野で活躍を遂げる コンビニや飲食店等で野菜スイーツやメニューをプロデュース 現在、新青森開通フェア 野菜ソムリエCanacoの野菜スイーツ発売中！！ 全国の駅中コンビニNEWDAYS、KIOSKで絶賛発売中！！ [主な著書] ・「大切な人に教えたい 野菜の魔法」 ・「お野菜が好き」 スクリーンショット 　 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&amp;offerid=94348&amp;type=3&amp;subid=0&amp;tmpid=2192&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Fmagic-of-vegetables%252Fid403932234%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="_blank" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/12/6d4aefb07efef087028e6a09bfaeef4d.png" alt="" title="野菜の魔法" width="187" height="181" class="alignright size-full wp-image-101" /></a>TV・雑誌などでご活躍の野菜ソムリエ Canaco さんが全文直筆でかかれたご著書「<a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&amp;offerid=94348&amp;type=3&amp;subid=0&amp;tmpid=2192&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Fmagic-of-vegetables%252Fid403932234%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="_blank" class="liexternal">野菜の魔法</a>」を iPhone/iPad の電子書籍としてリリースしました！</p>
<p>見ているだけで和む Canaco さんの筆文字。そしてとってもためになる野菜の豆知識。読みやすい文体で読み始めると知らず知らず引きこまれてしまい、一気に読んでしまいました。読めばきっと野菜好きになれますよ！</p>
<p>ちなみに<strong>レンコンの穴の数</strong>っていくつか知っていますか？<br />
答えは「野菜の魔法」を読めば分かります!</p>
<p>レンコン好きなうちの子供に自慢しちゃいましたw</p>
<p>なお、本アプリは iPhone/iPad どちらでもご利用になれるユニバーサルアプリになっています。<br />
<span id="more-2301"></span><br />
<strong>野菜ソムリエ Canaco さん</strong><br />
Twitter : <a href="http://twitter.com/Canaco831" target="_blank" class="liexternal">http://twitter.com/Canaco831</a><br />
公式サイト : <a href="http://www.canaco831.com/" target="_blank" class="liexternal">http://www.canaco831.com/</a></p>
<p>Amazon の紹介文</p>
<blockquote><p>40種の簡単知識、ココロとカラダにオイシイ効果を紹介。とまと・空豆・パセリ・蓮根・モロヘイヤ…“ごほうび野菜”が素敵な「魔法」をあなたにかけます!お肌がツヤツヤ、お腹まわりスッキリ、便秘にさようなら…キレイになって、元気になれる。</p></blockquote>
<h4>アプリの紹介</h4>
<p>TV・雑誌などで大活躍中！！様々な旬な野菜を使った料理・スイーツをプロデュースされている野菜ソムリエCanacoさんの『大切な人に教えたい 野菜の魔法』ついに電子書籍化！</p>
<p>この本の最大の魅力は、全てCanacoさんの手書きで書かれた文書。<br />
手書きには、活字ではなかなか伝わらない温かさがあります。<br />
Canacoさんの人柄がとても伝わる一冊となっています。</p>
<p>春夏秋冬、それぞれの野菜の豆知識やポイントがとてもわかりやすく書かれており、<br />
野菜の魅力がたくさん詰まっています。<br />
読めば野菜を好きになれる、食べたくなる、そんな一冊です。</p>
<p>男女問わず、子供から大人まで幅広い年代の方に楽しんで頂けるアプリです。</p>
<p><strong>◎著者プロフィール</strong><br />
野菜ソムリエ Canaco (本名：米村佳奈子)</p>
<p>1982年1月14日、東京都生まれ<br />
大学在学中に野菜ソムリエの資格を取得<br />
外食産業に就職するが本の出版と酵素の研究をきかっけに<br />
ブームプランニング社内にて企業内起業家として独立<br />
野菜ソムリエとしてテレビやラジオ、新聞、雑誌と様々な分野で活躍を遂げる<br />
コンビニや飲食店等で野菜スイーツやメニューをプロデュース<br />
現在、新青森開通フェア<br />
野菜ソムリエCanacoの野菜スイーツ発売中！！<br />
全国の駅中コンビニNEWDAYS、KIOSKで絶賛発売中！！</p>
<p><strong>[主な著書]</strong><br />
・「大切な人に教えたい 野菜の魔法」<br />
・「お野菜が好き」</p>
<p><strong>スクリーンショット</strong><br />
<img src="http://www.syuhari.jp/wp-content/uploads/2010/12/ipad1-225x300.png" alt="" title="ipad1" width="225" height="300" class="alignnone size-medium wp-image-111" />　<img src="http://www.syuhari.jp/wp-content/uploads/2010/12/ipad3-225x300.png" alt="" title="ipad3" width="225" height="300" class="alignnone size-medium wp-image-113" /></p>
<p><img src="http://www.syuhari.jp/wp-content/uploads/2010/12/ipad2-300x225.png" alt="" title="ipad2" width="300" height="225" class="alignnone size-medium wp-image-112" /></p>
<p><strong>定価：</strong>600円（ユニバーサルアプリ）</p>
<p><a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&#038;offerid=94348&#038;type=3&#038;subid=0&#038;tmpid=2192&#038;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Fmagic-of-vegetables%252Fid403932234%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store" class="liimagelink"><img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-lrg.gif" alt="Magic of Vegetables - Syuhari. Inc." style="border: 0;"/></a></p>
<p>本アプリは株式会社シュハリの Syuhari Books というシステムを使って電子書籍化されています。<br />
<a href="http://www.syuhari.jp/syuharibooks/" class="liinternal">http://www.syuhari.jp/syuharibooks/</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2301&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2301/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[iPhone/iPad] プレゼンアプリ Ligthning Talk をリリースしました</title>
		<link>http://blog.syuhari.jp/archives/2296</link>
		<comments>http://blog.syuhari.jp/archives/2296#comments</comments>
		<pubDate>Mon, 29 Nov 2010 01:33:36 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2296</guid>
		<description><![CDATA[LightningTalk は iPhone/iPad を VGA アダプタで外部ディスプレイやプロジェクタに接続し、PDF ファイルを出力してプレゼンテーションすることができます。 PDF のインポート方法 iTunes と同期しての PDF ファイルのインポート Email に添付された PDF ファイルのインポート Dropbox に保存された PDF ファイルのインポート 主な機能 メイン画面をフリックしての次/前のスライドへの移動 サムネイル画面をタップして指定のスライドへのダイレクト移動 左右の矢印をタップしてのスライドの移動 プレゼンテーションタイマー（一時停止機能付き） レーザポインタ機能 プレゼン開始前にスライドではなくデフォルト画像を表示する機能 スライド回転機能 注意 iPad, iPhone4 または 第4世代の iPod touch が使用可能です（VGAアダプタが使用できる端末のみということです） VGA アダプタは iPad/iPhone とは別売りですので別途ご購入ください Windows のパワーポイントなどから作成した PDF を表示すると90度回転した状態で表示されることがあります。その場合は、スライド回転機能を用いてスライドを回転させて表示させてください。 今後のバージョンアップ予定 パワーポイントファイルの表示機能 プレゼン開始前に表示できる画像にユーザ指定の画像を表示可能にする スライド移動時のトランジション WEBプレゼンテーション機能 その他のご要望は info at syuhari.jp まで [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.syuhari.jp/wp-content/uploads/2010/11/0ca1626e5389dcc27ec371122c706110.png" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/11/0ca1626e5389dcc27ec371122c706110-150x150.png" alt="" title="LightningTalk" width="150" height="150" class="alignright size-thumbnail wp-image-71" /></a>LightningTalk は iPhone/iPad を VGA アダプタで外部ディスプレイやプロジェクタに接続し、PDF ファイルを出力してプレゼンテーションすることができます。</p>
<p><strong>PDF のインポート方法</strong></p>
<ul>
<li>iTunes と同期しての PDF ファイルのインポート</li>
<li>Email に添付された PDF ファイルのインポート</li>
<li>Dropbox に保存された PDF ファイルのインポート</li>
</ul>
<p><span id="more-2296"></span><br />
<strong>主な機能</strong></p>
<ul>
<li>メイン画面をフリックしての次/前のスライドへの移動</li>
<li>サムネイル画面をタップして指定のスライドへのダイレクト移動</li>
<li>左右の矢印をタップしてのスライドの移動</li>
<li>プレゼンテーションタイマー（一時停止機能付き）</li>
<li>レーザポインタ機能</li>
<li>プレゼン開始前にスライドではなくデフォルト画像を表示する機能</li>
<li>スライド回転機能</li>
</ul>
<p><strong>注意</strong></p>
<ul>
<li>iPad, iPhone4 または 第4世代の iPod touch が使用可能です（VGAアダプタが使用できる端末のみということです）</li>
<li>VGA アダプタは iPad/iPhone とは別売りですので別途ご購入ください</li>
<li>Windows のパワーポイントなどから作成した PDF を表示すると90度回転した状態で表示されることがあります。その場合は、スライド回転機能を用いてスライドを回転させて表示させてください。</li>
</ul>
<p><strong>今後のバージョンアップ予定</strong></p>
<ul>
<li>パワーポイントファイルの表示機能</li>
<li>プレゼン開始前に表示できる画像にユーザ指定の画像を表示可能にする</li>
<li>スライド移動時のトランジション</li>
<li>WEBプレゼンテーション機能</li>
<li>その他のご要望は info at syuhari.jp まで</li>
</ul>
<p><strong>iPad のスクリーンショット</strong><br />
<a href="http://www.syuhari.jp/wp-content/uploads/2010/11/IMG_0021.png" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/11/IMG_0021-300x219.png" alt="" title="プレゼンテーション画面" width="300" height="219" class="alignleft size-medium wp-image-70" /></a>　<a href="http://www.syuhari.jp/wp-content/uploads/2010/11/IMG_0019.png" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/11/IMG_0019-300x219.png" alt="" title="Dropbox ログイン画面" width="300" height="219" class="alignleft size-medium wp-image-69" /></a><br />
<br clear="all" /></p>
<p><strong>iPhone のスクリーンショット</strong><br />
<div id="attachment_78" class="wp-caption alignleft" style="width: 218px"><a href="http://www.syuhari.jp/wp-content/uploads/2010/11/ss11.png" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/11/ss11-208x300.png" alt="" title="プレゼンテーション画面" width="208" height="300" class="size-medium wp-image-78" /></a><p class="wp-caption-text">プレゼンテーション画面</p></div>　<div id="attachment_80" class="wp-caption alignleft" style="width: 218px"><a href="http://www.syuhari.jp/wp-content/uploads/2010/11/ss3.png" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/11/ss3-208x300.png" alt="" title="PDF 選択画面" width="208" height="300" class="size-medium wp-image-80" /></a><p class="wp-caption-text">PDF 選択画面</p></div>　<div id="attachment_79" class="wp-caption alignleft" style="width: 218px"><a href="http://www.syuhari.jp/wp-content/uploads/2010/11/ss21.png" class="liimagelink"><img src="http://www.syuhari.jp/wp-content/uploads/2010/11/ss21-208x300.png" alt="" title="Dropbox ログイン画面" width="208" height="300" class="size-medium wp-image-79" /></a><p class="wp-caption-text">Dropbox ログイン画面</p></div><br />
<br clear="all"/></p>
<p>Lightning Talk<br />
<strong>価格：</strong>450円<br />
<a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&#038;offerid=94348&#038;type=3&#038;subid=0&#038;tmpid=2192&#038;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Flightningtalk%252Fid400039424%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store" class="liimagelink"><img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-lrg.gif" alt="LightningTalk - Syuhari. Inc." style="border: 0;"/></a></p>
<p>Lightning Talk for iPhone<br />
<strong>価格：</strong>350円<br />
<a href="http://click.linksynergy.com/fs-bin/stat?id=9GhpPy4pDnw&#038;offerid=94348&#038;type=3&#038;subid=0&#038;tmpid=2192&#038;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fjp%252Fapp%252Flightningtalk-for-iphone%252Fid403188651%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store" class="liimagelink"><img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-lrg.gif" alt="LightningTalk for iPhone - Syuhari. Inc." style="border: 0;"/></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2296&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2296/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第2回 ITEigo@Tokyo に参加してきました</title>
		<link>http://blog.syuhari.jp/archives/2290</link>
		<comments>http://blog.syuhari.jp/archives/2290#comments</comments>
		<pubDate>Mon, 29 Nov 2010 01:01:48 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2290</guid>
		<description><![CDATA[先週の金曜日に開催された第2回 ITEigo@Tokyo に参加してきました。ITEigo とは英語で LT にして、質疑応答も英語で行うという @cakephper さんが主催の会です。 ITEigo に関しては下記リンクを参照してください。詳しいことが分かります。 ITEigo@Tokyo 第2回 英語でプレゼンをしてみよう（IT関係のトピック) ITEigo &#124; Google グループ 参加者全員が5分間の LT を英語でして、始まったら全て英語で話さなくてはいけないので強制的に英語になるのでいい刺激になりました。 私は自分が作った LigthningTalk という iPad/iPhone アプリケーションの紹介をさせていただきました。iPad でプレゼンする方が他にもいらっしゃったので、今回は iPhone にプロジェクタを繋ぎ、iPhone でプレゼンしました。 What I Talk About When I Talk About Lightning Talk View more presentations from Akihiro Matsuura.]]></description>
			<content:encoded><![CDATA[<p>先週の金曜日に開催された第2回 ITEigo@Tokyo に参加してきました。ITEigo とは英語で LT にして、質疑応答も英語で行うという <a href="http://twitter.com/#!/cakephper" target="_blank" class="liexternal">@cakephper</a> さんが主催の会です。</p>
<p>ITEigo に関しては下記リンクを参照してください。詳しいことが分かります。<br />
<a href="http://atnd.org/events/9947" target="_blank" class="liexternal">ITEigo@Tokyo 第2回 英語でプレゼンをしてみよう（IT関係のトピック)</a><br />
<a href="https://groups.google.com/group/iteigo?hl=ja" target="_blank" class="liexternal">ITEigo | Google グループ</a><br />
<span id="more-2290"></span><br />
参加者全員が5分間の LT を英語でして、始まったら全て英語で話さなくてはいけないので強制的に英語になるのでいい刺激になりました。</p>
<p>私は自分が作った <a href="http://www.syuhari.jp/iphone-app/lightningtalk-for-iphone/" class="liinternal">LigthningTalk</a> という iPad/iPhone アプリケーションの紹介をさせていただきました。iPad でプレゼンする方が他にもいらっしゃったので、今回は iPhone にプロジェクタを繋ぎ、iPhone でプレゼンしました。</p>
<div style="width:425px" id="__ss_5952063"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/syuhari/what-i-talk-about-when-i-talk-about-lightning-talk" title="What I Talk About When I Talk About Lightning Talk" target="_blank" class="liexternal">What I Talk About When I Talk About Lightning Talk</a></strong><object id="__sse5952063" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=iteigo-101128122105-phpapp01&#038;stripped_title=what-i-talk-about-when-i-talk-about-lightning-talk&#038;userName=syuhari" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5952063" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=iteigo-101128122105-phpapp01&#038;stripped_title=what-i-talk-about-when-i-talk-about-lightning-talk&#038;userName=syuhari" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/" target="_blank" class="liexternal">presentations</a> from <a href="http://www.slideshare.net/syuhari" target="_blank" class="liexternal">Akihiro Matsuura</a>.</div>
</div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2290&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2290/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[iPhone/iPad] Dropbox API を使ってみた</title>
		<link>http://blog.syuhari.jp/archives/2284</link>
		<comments>http://blog.syuhari.jp/archives/2284#comments</comments>
		<pubDate>Thu, 11 Nov 2010 01:44:42 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2284</guid>
		<description><![CDATA[iPhone/iPad アプリに Dropbox からファイルの読み込みがしたくて、Dropbox API を使ってみました。SDK が用意されていてそれを使えば簡単にアプリに組み込むことが可能です。 アプリの登録 Dropbox に自分が作成するアプリを登録して API Key などを取得します。まず下記 URL よりアプリを登録します。 https://www.dropbox.com/developers/apps 登録が終わると登録したアプリ一覧の右に Options というリンクがあり、そこから開いたページの一番下の App keys というところに &#8220;Key&#8221; と &#8220;Secret&#8221; があります。これはあとで SDK の組み込みで使用します。 SDK の準備 Dropbox API は REST でリクエストを出しても使えます。しかし iOS 用の SDK が用意されているのでこれを使えば簡単に組み込めます。認証も OAuth ですが、そんなこともまったく気にせずにサクサク使えるので余程のことがない限りは SDK を使うことをオススメします。 SDK は下記 URL よりダウンロードできます。 https://www.dropbox.com/developers/releases SDK を使う SDK をダウンロードして解凍すると中にサンプルプロジェクトが入っています。簡単な使い方はこれを参考にすると分かりやすいと思います。SDK をプロジェクトに組み込むには DropboxSDK というフォルダごと自分のプロジェクトに入れます。 [...]]]></description>
			<content:encoded><![CDATA[<p>iPhone/iPad アプリに Dropbox からファイルの読み込みがしたくて、Dropbox API を使ってみました。SDK が用意されていてそれを使えば簡単にアプリに組み込むことが可能です。</p>
<h4>アプリの登録</h4>
<p>Dropbox に自分が作成するアプリを登録して API Key などを取得します。まず下記 URL よりアプリを登録します。<br />
<a href="https://www.dropbox.com/developers/apps" target="_blank" class="liexternal">https://www.dropbox.com/developers/apps</a><br />
<span id="more-2284"></span><br />
登録が終わると登録したアプリ一覧の右に Options というリンクがあり、そこから開いたページの一番下の App keys というところに &#8220;Key&#8221; と &#8220;Secret&#8221; があります。これはあとで SDK の組み込みで使用します。</p>
<h4>SDK の準備</h4>
<p>Dropbox API は REST でリクエストを出しても使えます。しかし iOS 用の SDK が用意されているのでこれを使えば簡単に組み込めます。認証も OAuth ですが、そんなこともまったく気にせずにサクサク使えるので余程のことがない限りは SDK を使うことをオススメします。</p>
<p>SDK は下記 URL よりダウンロードできます。<br />
<a href="https://www.dropbox.com/developers/releases" target="_blank" class="liexternal">https://www.dropbox.com/developers/releases</a></p>
<h4>SDK を使う</h4>
<p>SDK をダウンロードして解凍すると中にサンプルプロジェクトが入っています。簡単な使い方はこれを参考にすると分かりやすいと思います。SDK をプロジェクトに組み込むには DropboxSDK というフォルダごと自分のプロジェクトに入れます。</p>
<p>Dropbox SDK は Security.framework が必要なのでプロジェクトに追加しておきます。</p>
<h4>SDK を使う</h4>
<p>AppDelegate の application:didFinishLaunchingWithOptions: メソッドに以下を追加します。アプリを登録した際に発行された Key と Secret をここで使います。DropboxSDK.h を import するのをお忘れなく。</p>
<pre class="cpp" name="code">
DBSession* dbSession =
  [[[DBSession alloc]
    initWithConsumerKey:@"YOUR CONSUMER KEY"
    consumerSecret:@"YOUR CONSUMER SECRET"]
    autorelease];
[DBSession setSharedSession:dbSession];
</pre>
<p>で、適当なボタンを作って、押すと以下のメソッドを実行するようにします。</p>
<pre class="cpp" name="code">
- (IBAction) tapDropbox:(id)sender {
  DBLoginController* controller = [[DBLoginController new] autorelease];
  controller.delegate = self;
  [controller presentFromController:self];
}

- (void)loginControllerDidLogin:(DBLoginController*)controller {
  // ログイン成功
}

- (void)loginControllerDidCancel:(DBLoginController*)controller {
 // ログイン失敗
}
</pre>
<p>ビルド＆実行してボタンをタップすると下図のように Dropbox のログイン画面が表示されます。<br />
<a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-9.50.36）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-9.50.36）-161x300.png" alt="" title="Dropbox ログイン画面" width="161" height="300" class="alignnone size-medium wp-image-2285" /></a></p>
<p>これで Dropbox にログインすることができます。ログイン成功、失敗はデリゲートメソッドがそれぞれ呼ばれます。ただし、この段階でログインできるアカウントはアプリを登録したユーザアカウントだけです。</p>
<h4>ログイン後に一覧を表示する</h4>
<p>OAuth で認証後は次の起動後は再度ログインする必要がありませんが、上記の方法ではログイン画面がそのたびに表示されてしまいます。そこで以下のように修正することにより、一度ログインすると次からはログイン画面をスキップできます。</p>
<pre class="cpp" name="code">
- (IBAction) tapDropbox:(id)sender {
  if ([[DBSession sharedSession] isLinked]) {
    [self loginControllerDidLogin:nil];
  } else {
    DBLoginController* controller = [[DBLoginController new] autorelease];
    controller.delegate = self;
    [controller presentFromController:self];
  }
}
</pre>
<p>そしてログイン後に Dropbox 内のファイル一覧を取得する方法です。</p>
<p>まず、DBRestClient をインスタンス変数として登録しておきます。</p>
<pre class="cpp" name="code">
DBRestClient* restClient;
</pre>
<p>次に restClient の getter メソッドを作成します。</p>
<pre class="cpp" name="code">
- (DBRestClient*)restClient {
  if (!restClient) {
    restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
    restClient.delegate = self;
  }
  return restClient;
}
</pre>
<p>そして、ログイン後に以下のようにして一覧を取得したいパスを指定すれば DBMetadata というクラスで一覧が取得できます。</p>
<pre class="cpp" name="code">
- (void)loginControllerDidLogin:(DBLoginController*)controller {
  [[self restClient] loadMetadata:@"/"];
}
</pre>
<p>次にDBRestClient のデリゲートメソッドを作成します。これで上記で指定したパスから読み込みが終わると restClient:loadedMetadata: メソッドが呼ばれます。</p>
<pre class="cpp" name="code">
- (void)restClient:(DBRestClient*)client loadedMetadata:(DBMetadata*)metadata {
  // ロード完了
  for (DBMetadata* child in metadata.contents) {
    NSLog(@"%@", child.path);
    if (child.isDirectory) NSLog(@"directory");
  }
}
- (void)restClient:(DBRestClient*)client loadMetadataFailedWithError:(NSError*)error {
  // エラー発生
  NSLog(@"Error loading metadata: %@", error);
}
</pre>
<h4>ファイルの書き込み</h4>
<p>Dropbox にファイルを書き込むこともできます。<br />
&#8220;hoge&#8221; というファイル名でルートディレクトリに (NSString*)filePath にあるファイルを書き込む場合は次のようになります。</p>
<pre class="cpp" name="code">
[[self restClient] uploadFile:@"hoge" toPath:@"/" fromPath:filePath];
</pre>
<h4>ディレクトリの作成</h4>
<p>&#8220;foo&#8221; というディレクトリをルートディレクトリに作成する場合は以下のようになります。</p>
<pre class="cpp" name="code">
[[self restClient] createFolder:@"/foo"];
</pre>
<h4>注意事項</h4>
<p>途中でも書いたように初期の状態ではアプリを登録したアカウントでしかログインはできません。どうすればだれでもログインできるようになるかというとアプリのステータスを &#8220;Production&#8221; にしないといけません。Production にするには Dropbox の審査を通さなければいけません。しかし、Dropbox の審査を通すにはアプリをアップルの審査に通すか、AdHoc で送るかしなければいけない。どうすればいいのだろうと困ったのですが、Dropbox の審査に iPhone アプリなのでアップルの審査後でないと審査してもらえない。だから Production にしてほしいんだけどとメールしたら、翌日には &#8220;Production にしたよ。でもアップルの審査通ってリリースされたら教えてね、こっちでも審査するから&#8221; っていうようなメールがきました。</p>
<p>ですので、アップルの審査を通す前に Production ステータスにしてもらい、テストアカウントを用意してアップルの審査に出してください。</p>
<p>実はこれをしなくて一回リジェクトされましたw</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2284&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2284/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[iPhone/iPad] 手作業でユニバーサルアプリ化する</title>
		<link>http://blog.syuhari.jp/archives/2264</link>
		<comments>http://blog.syuhari.jp/archives/2264#comments</comments>
		<pubDate>Wed, 10 Nov 2010 20:53:08 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MainWindow.xib]]></category>
		<category><![CDATA[universal]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[xib]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2264</guid>
		<description><![CDATA[iPhone アプリを Xcode のメニューからユニバーサル化できますが、多分やり方が悪いのだと思うのですがどうもうまくいかないので面倒なので手作業でやることにしました。（アップルのマニュアルには必ず Xcode のメニューからやれって書いてあるので、やるときは自己責任でお願いします。） 手作業でできると iPad アプリを先に作ってそれをユニバーサル化することもできるので覚えておいて損はないと思います。 plist で iPad 用の Main nib ファイルを設定する info.plist で Main nib file base name に &#8220;MainWindow&#8221; が指定されていると思います。この nib ファイルがアプリの起動時に使用されます。そこで iPad のときに使用する nib ファイルを &#8220;Main nib file base name (iPad)&#8221; を追加して指定します。iPad アプリを iPhone 化するなら &#8220;Main nib file base name (iPhone)&#8221; です。 ターゲットデバイスの設定 プロジェクトの編集メニューから &#8220;Target Device Family&#8221; の値を [...]]]></description>
			<content:encoded><![CDATA[<p>iPhone アプリを Xcode のメニューからユニバーサル化できますが、多分やり方が悪いのだと思うのですがどうもうまくいかないので面倒なので手作業でやることにしました。（<strong>アップルのマニュアルには必ず Xcode のメニューからやれって書いてあるので、やるときは自己責任でお願いします。</strong>）</p>
<p>手作業でできると iPad アプリを先に作ってそれをユニバーサル化することもできるので覚えておいて損はないと思います。<br />
<span id="more-2264"></span></p>
<h4>plist で iPad 用の Main nib ファイルを設定する</h4>
<p>info.plist で Main nib file base name に &#8220;MainWindow&#8221; が指定されていると思います。この nib ファイルがアプリの起動時に使用されます。そこで iPad のときに使用する nib ファイルを &#8220;Main nib file base name (iPad)&#8221; を追加して指定します。iPad アプリを iPhone 化するなら &#8220;Main nib file base name (iPhone)&#8221; です。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.03.58）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.03.58）.png" alt="" title="info.plist" width="332" height="46" class="alignnone size-full wp-image-2265" /></a></p>
<h4>ターゲットデバイスの設定</h4>
<p>プロジェクトの編集メニューから &#8220;Target Device Family&#8221; の値を &#8220;iPhone/iPad&#8221; に変更します。また &#8220;iOS Deployment Target&#8221; も iPad が動作する iOS3.2 かそれ以下のバージョンに変更します。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.04.52）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.04.52）-300x46.png" alt="" title="ターゲットデバイス" width="300" height="46" class="alignnone size-medium wp-image-2266" /></a></p>
<p>ここまで終わるとアクティブな実行可能ファイルとして iPad シュミレータが選択可能になります。<br />
<a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.05.27）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.05.27）.png" alt="" title="実行可能シュミレータ" width="235" height="298" class="alignnone size-full wp-image-2268" /></a></p>
<h4>iPad 用の MainWindow.xib ファイルを作成する</h4>
<p>Resources-iPad というグループを作成してその中に MainWindow-iPad.xib というファイルを作成します。作成時に Product で iPad を選択するのをお忘れなく。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.06.20）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.06.20）-300x233.png" alt="" title="xib ファイルの作成" width="300" height="233" class="alignnone size-medium wp-image-2269" /></a></p>
<p>MainWindow-iPad.xib を IB で開き、MainWindow.xib を参考にして MainWindow-iPad.xib を修正していきます。下図は修正前の MainWindow-iPad.xib です。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.06.44）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.06.44）-220x300.png" alt="" title="修正前の MainWindow-iPad.xib" width="220" height="300" class="alignnone size-medium wp-image-2270" /></a></p>
<p>- File&#8217;s Owner を UIApplication に変更<br />
- MainWindow.xib より AppDelegate と ViewController をコピーする<br />
- UIApplication の delegate を AppDelegate に接続<br />
- AppDelegate の window を UIWindow に接続</p>
<p>下図が修正後の MainWindow-iPad.xib です。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.08.22）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.08.22）-220x300.png" alt="" title="修正後の MainWindow-iPad.xib" width="220" height="300" class="alignnone size-medium wp-image-2271" /></a></p>
<h4>iPad 用の xib ファイルを追加する</h4>
<p>上記手順までだと MainWindow-iPad.xib を使ってアプリが起動してもコントローラの xib が iPhone 用のままです。そこで iPad 用の xib ファイルを追加して、MainWindow-iPad.xib では iPad 用の xib ファイルを使うことにします。</p>
<p>まず、ViewController 用の xib ファイルを追加します。 ここでも作成時に Product で iPad を選択するのをお忘れなく。名前は iPhone 用の xib ファイルが &#8220;TestViewController&#8221; なので、&#8221;iPadTestViewController&#8221; としておきます。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.31.21）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.31.21）-300x233.png" alt="" title="UIViewController の xib ファイルを追加" width="300" height="233" class="alignnone size-medium wp-image-2278" /></a></p>
<p>追加後に、IB で開き File&#8217;s Owner を TestViewController に変更して、view を接続しておきます。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.40.40）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.40.40）-220x300.png" alt="" title="File owner 変更" width="220" height="300" class="alignnone size-medium wp-image-2280" /></a></p>
<p>MainWindow-iPad.xib 内の ViewController が使用する NIB Name を先ほど作成した &#8220;iPadTestViewController&#8221; に変更します。</p>
<p><a href="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.32.04）.png" target="_blank" class="liimagelink"><img src="http://blog.syuhari.jp/wp-content/uploads/2010/11/スクリーンショット（2010-11-11-11-11木-5.32.04）.png" alt="" title="NIB Name の変更" width="281" height="141" class="alignnone size-full wp-image-2279" /></a></p>
<p>これで iPad シュミレータで起動すれば、iPad 用の xib ファイルが使用され、iPhone シュミレータで起動すれば iPhone用の xib ファイルが使用されるユニバーサルアプリになりました。</p>
<h4>コード内で読み込み xib ファイルを変更する</h4>
<p>UIViewController の中からコードで UIViewController を生成する際に iPhone/iPad で xib ファイルを変えるには以下のようにします。</p>
<pre class="cpp" name="code">
NSString* nib;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
  // this device is iPad
  nib = @"iPadHogeViewController";
} else {
  // this device is iPhone
  nib = @"HogeViewController";
}
HogeViewController* vc = [[HogeViewController alloc] initWithNibName:nib bundle:nil];
</pre>
<p>以上で、手作業でユニバーサルアプリ化ができました。推奨されている Xcode のメニューからやる方法でないのでオススメはできませんが、何をしているかが理解できますし、iPad アプリからユニバーサル化できるので覚えておいて損はないと思います。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2264&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2264/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[iPad] フォトライブラリで編集した画像を元にオリジナル画像を再編集</title>
		<link>http://blog.syuhari.jp/archives/2259</link>
		<comments>http://blog.syuhari.jp/archives/2259#comments</comments>
		<pubDate>Thu, 04 Nov 2010 20:37:32 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone/iPod touch]]></category>
		<category><![CDATA[CGRect]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[NSValue]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIImagePickerController]]></category>

		<guid isPermaLink="false">http://blog.syuhari.jp/?p=2259</guid>
		<description><![CDATA[なんか分かりにくいタイトルになってしまった。何がしたいかというと、iPad で UIImagePickerController を使用してフォトライブラリから写真を読み込む際に allowsEditing = YES にしておくと写真を選択後に画像の位置とスケールを指定することができます。UIImagePickerControllerEditedImage でその編集後の UIImage を取り出せるのですが、このサイズが 320 x 320 （厳密にはちょっと違った）で帰ってきます。これでは iPad で表示するには小さすぎます。そこで、元画像を編集後のデータを元に再度トリミングすることにしました。 ポイントは UIImagePickerControllerCropRect で編集した画像の位置とサイズが NSValue で取得できるので getValue: メソッドで CGRect の値を取得します。あとはそのデータを元に画像をトリミングすれば OK です。 - (IBAction) tapPhoto:(id)sender { UIImagePickerController* picker = [[UIImagePickerController alloc] init]; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker.delegate = self; picker.allowsEditing = YES; self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker]; self.popOver.delegate = self; [...]]]></description>
			<content:encoded><![CDATA[<p>なんか分かりにくいタイトルになってしまった。何がしたいかというと、iPad で UIImagePickerController を使用してフォトライブラリから写真を読み込む際に allowsEditing = YES にしておくと写真を選択後に画像の位置とスケールを指定することができます。UIImagePickerControllerEditedImage でその編集後の UIImage を取り出せるのですが、このサイズが 320 x 320 （厳密にはちょっと違った）で帰ってきます。これでは iPad で表示するには小さすぎます。そこで、元画像を編集後のデータを元に再度トリミングすることにしました。<br />
<span id="more-2259"></span><br />
ポイントは UIImagePickerControllerCropRect で編集した画像の位置とサイズが NSValue で取得できるので getValue: メソッドで CGRect の値を取得します。あとはそのデータを元に画像をトリミングすれば OK です。</p>
<pre class="cpp" name="code">
- (IBAction) tapPhoto:(id)sender {
  UIImagePickerController* picker = [[UIImagePickerController alloc] init];
  picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  picker.delegate = self;
  picker.allowsEditing = YES;
  self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
  self.popOver.delegate = self;
  [self.popOver presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
  [picker release];
}

#pragma mark ImagePickerController Delegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
  [self.popOver dismissPopoverAnimated:YES];
  [self.popOver release];
  // get crop rect
  CGRect rect;
  [[info objectForKey:UIImagePickerControllerCropRect] getValue:&#038;rect];
  // original image
  UIImage* oImage = [info objectForKey:UIImagePickerControllerOriginalImage];
  CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect);
  // cropped image
  UIImage *cropped =[UIImage imageWithCGImage:imageRef];
  CGImageRelease(imageRef);
}
</pre>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F2259&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/2259/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

