<?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://blog.volv.jp/memo/" />
    <link rel="self" type="application/atom+xml" href="http://blog.volv.jp/memo/atom.xml" />
    <id>tag:blog.volv.jp,2008-11-21:/memo//2</id>
    <updated>2011-11-22T06:39:10Z</updated>
    <subtitle>仮想化技術であるVMware・Hyper-V、ネットワーク機器に関する技術情報、iPhone（ios）&amp;Androidアプリの開発メモなどメインに各種OSのちょい技から技術系以外のネタまで情報盛り沢山なメモにしていきます。自分のための備忘録でもあり、株式会社インボルブ所属の社員同士が知識共有のためにも使っているメモです。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.22-ja</generator>

<entry>
    <title>リソースの節約</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/11/post-13.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.130</id>

    <published>2011-11-22T06:25:11Z</published>
    <updated>2011-11-22T06:39:10Z</updated>

    <summary>ご無沙汰です。久しぶりにメモ追加です。 Windows7でアプリケーションの起動...</summary>
    <author>
        <name>alchemist</name>
        
    </author>
    
        <category term="Windows 7" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="windows7" label="Windows7" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[<p>ご無沙汰です。久しぶりにメモ追加です。</p>
<p>Windows7でアプリケーションの起動高速化（メモリ先読み）のために実装されている<br />Prefetch（プリフェッチ）機能を無効化する方法です。</p>
<p>＝＝＝＝＝＝＝＝＝＝＝</p>
<p>1.レジストリエディタを起動します。</p>
<p><br />2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters<br />に移動します。<br /></p>
<p>3.EnablePrefetcher　の　値を0に変更します。</p>
<p><br />4.パソコンを再起動します。</p>
<p>＝＝＝＝＝＝＝＝＝＝＝</p>
<p>WindowsXPも同じかな？？</p>
<p>Windows7にはさらにスーパーフェッチ機能なる不要なもの（私にとっては）もありますのでその無効化は次の投稿で。</p>]]>
        
    </content>
</entry>

<entry>
    <title>【iPhone】AmazonWebServicesを利用するver.20111026</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/11/iphoneamazonwebservicesver20111026.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.129</id>

    <published>2011-11-16T00:03:05Z</published>
    <updated>2011-11-16T01:14:47Z</updated>

    <summary>皆様、お疲れ様です。急に寒くなって参りましたが、今年の冬の準備はもうお済みですか...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonwebservices" label="AmazonWebServices" 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://blog.volv.jp/memo/">
        <![CDATA[皆様、お疲れ様です。<br />急に寒くなって参りましたが、今年の冬の準備はもうお済みですか？<br /><br />最近の冬はとても厳しかった印象がありますが、予想によれば<br />今年の冬はそれほどでもないようです。<br />それほど〜の予想がどこまでを言っているのかはわかりませんが、<br />「備えあれば憂いなし」というように熊の冬眠の準備ぐらい入念に<br />冬の準備はしておきましょう。これも冬の醍醐味ですから。<br /><br />以下、AmazonWebServicesの利用方法です。<br /> ]]>
        <![CDATA[参考までに<br />Ver.20111026での変更点<br />---------------------------------------------------------------------------------------------------------------------------<br />・全てのAPIへのリクエストにおいて、AssociateTagが必須パラメータとなり、リクエスト処理時の確認対象となります。<br />
・SellerLookup, SellerListingLookup および SellerListingSearch オペレーションはAPIでのサポートを終了いたします。<br />
・ItemSearch リクエストの結果として返されるItemPage パラメータは、最大10ページまでに制限されます。<br />
・MerchantId パラメータは、オファー、バリエーションおよび検索結果の絞り込み要素としてのサポートを終了いたします。<br />
・Offers および ItemAttributes レスポンスグループにおいて返されるデータは、最も頻繁に使用される属性に制限されます。
<br />---------------------------------------------------------------------------------------------------------------------------<br /><br />リクエスト作成サンプル<br />NSString *ACCESSKEY=@"アクセスキー";<br />NSString *SECRETKEY=@"シークレットキー";<br />NSString *ASSOCIATEKEY=@"アソシエイトキー";//20111026版で必須になりました。<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //タイムスタンプ<br />&nbsp;&nbsp;&nbsp; NSDateFormatter *formatter = [[NSDateFormatter alloc]init];<br />&nbsp;&nbsp;&nbsp; [formatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"JP"]];<br />&nbsp;&nbsp;&nbsp; [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];<br />&nbsp;&nbsp;&nbsp; NSString *time = [self urlencode:[formatter stringFromDate:[NSDate date]]];<br />&nbsp;&nbsp;&nbsp; NSString *timeStamp = [NSString stringWithFormat:@"Timestamp=%@",time];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //サービス名<br />&nbsp;&nbsp;&nbsp; NSString *awsECommerceService = @"Service=AWSECommerceService";<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //アクセスキー<br />&nbsp;&nbsp;&nbsp; NSString *accessKeyId = [NSString stringWithFormat:@"AWSAccessKeyId=%@",ACCESSKEY];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //アソシエイトキー<br />&nbsp;&nbsp;&nbsp; NSString *associateKeyId = [NSString stringWithFormat:@"AssociateTag=%@",ASSOCIATEKEY];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //キーワードOr検索コード<br />&nbsp;&nbsp;&nbsp; NSString *key = [keyword　stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];<br />　　　　//ISDNコードをキーワードとしてセット<br />&nbsp;&nbsp;&nbsp; NSString *keyWords = [NSString stringWithFormat:@"ItemId=%@",key];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //オペレーション<br />　　　　//ItemLookupの他にItemSearchなど。キーワードが単語の場合はItemSearchなど<br />&nbsp;&nbsp;&nbsp; NSString *ope = @"ItemLookup";//今回はISDNを使った本を検索対象にする<br />&nbsp;&nbsp;&nbsp; NSString *operation = [NSString stringWithFormat:@"Operation=%@",ope];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //レスポンスグループ<br />　　　　//受け取る情報を選択する。選択しなければ情報サイズはSmallになる<br />&nbsp;&nbsp;&nbsp; NSString *res = [self urlencode:@"ItemAttributes,EditorialReview,OfferSummary,Images,SalesRank"];<br />&nbsp;&nbsp;&nbsp; NSString *responseGroup = [NSString stringWithFormat:@"ResponseGroup=%@",res];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //サーチインデックス<br />　　　　//検索カテゴリを決定　選択しなければ全カテゴリ検索になる<br />&nbsp;&nbsp;&nbsp; NSString *search = @"Books";<br />&nbsp;&nbsp;&nbsp; NSString *searchIndex = [NSString stringWithFormat:@"SearchIndex=%@",search];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //キーワードコードタイプ<br />&nbsp;&nbsp;&nbsp; //ItemIdを使う場合に設定可能。ISBNの他にアマゾンコードなど<br />&nbsp;&nbsp;&nbsp; NSString *type = @"ISBN";<br />&nbsp;&nbsp;&nbsp; NSString *idtype = [NSString stringWithFormat:@"IdType=%@",type];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //バージョン<br />　　　　//旧バージョンの2009-07-01は2012/02/22までしか使えないので注意！<br />&nbsp;&nbsp;&nbsp; NSString *ver = [self urlencode:@"2011-08-01"];<br />&nbsp;&nbsp;&nbsp; NSString *version = [NSString stringWithFormat:@"Version=%@",ver];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //条件式連結<br />&nbsp;&nbsp;&nbsp; NSString *urlString = [NSString stringWithFormat:@"%@&amp;%@&amp;%@&amp;%@&amp;%@&amp;%@&amp;%@&amp;%@&amp;%@&amp;%@",accessKeyId,associateKeyId,idtype,keyWords,operation,responseGroup,searchIndex,awsECommerceService,timeStamp,version];<br />&nbsp;&nbsp;&nbsp; NSString *signHead = [[NSString alloc]initWithString:@"GET\necs.amazonaws.jp\n/onca/xml\n"];<br />&nbsp;&nbsp;&nbsp; NSString *forSignString = [NSString stringWithFormat:@"%@%@",signHead,urlString];<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //署名を付加したRESTリクエスト作成<br />　　　　//多くのサイトで紹介されている上にコードが長いため割愛。旧バージョンのものでOK<br />&nbsp;&nbsp;&nbsp; NSString *hash =@"シークレットキーを使用した署名を作成する"<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //リクエストURL<br />　　　//AmazonのURLに作成した条件式と署名を連結する<br />&nbsp;&nbsp;&nbsp; NSString *url =&nbsp; [NSString stringWithFormat:@"http://ecs.amazonaws.jp/onca/xml?%@&amp;Signature=%@",urlString,hash];<br />&nbsp;&nbsp;&nbsp; <br />このURLをリクエストするとXMLファイルが返ってくるので、iPｈoneで使用するには<br />NSXMLParserなどを使ってXML解析を行う必要がある。<br />（XML解析クラスの中にはシミュレータで動いて、実機で動かないものもあるので注意！）<br /><br />条件は多くのサイトで紹介されているのでそちらを参照ください。ただ、仕様変更などにより使えなくなった条件や取得できなくなった情報もあるのでご注意ください。<br /><br />以上<br /><br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone】UITableViewの編集モードの使い方</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/08/iphoneuitableview.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.128</id>

    <published>2011-08-25T02:31:55Z</published>
    <updated>2011-08-25T05:15:17Z</updated>

    <summary>皆様、お久しぶりでございます。暑かった夏も少しづつ涼しくなり、季節の変わり目特有...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[皆様、お久しぶりでございます。<br />暑かった夏も少しづつ涼しくなり、季節の変わり目特有の不安定な気候が続いております。<br />くれぐれも体調などを崩すことの無いようお気をつけ下さい。<br /><br />ところで、これから少しずつ秋になっていくわけですが秋のことわざに<br />「女心と秋の空」というものがあります。<br />意味は女性が異性に対して抱く愛情は、秋の空のように変わりやすいという意味ですが、<br />明治時代ぐらいまでは「男心と秋の空」として使っていました。<br />明治以降の男性は女性に振り回されることが多くなったため今のものが使われ始めたと言われています。<br /><br />アプリ開発も必ずユーザーを意識しなくてはならないというだけに仕様は変わりやすいもの。<br />今年の秋は「女心と秋の空」ならぬ「アプリと秋の空」になってしまうかもしれませんが、<br />振り回されても決して離すことなく開発をしていきたいものです。<br /><br />以下、UITableViewの編集モードの使い方です。<br /> ]]>
        <![CDATA[<code><br />/*編集モード切り替え用のボタンの作成*/<br />/*このボタンを作成することによって対応するメソッドが呼び出される様になります*/<br />- (void)viewDidLoad {<br />
                    &nbsp;&nbsp;&nbsp; [super viewDidLoad];<br />
                    &nbsp;&nbsp;&nbsp; self.navigationItem.rightBarButtonItem = self.editButtonItem;<br />
                    }</code><br /><br />/*セルの左側のボタンを押し、削除ボタンが押された時の処理*/<br /><code>- (void)tableView:(UITableView *)tableView 
                        commitEditingStyle:(UITableViewCellEditingStyle)editingStyle<br />
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        forRowAtIndexPath:(NSIndexPath *)indexPath {<br />
                        &nbsp;&nbsp;&nbsp; if (editingStyle == 
                        UITableViewCellEditingStyleDelete) {<br />
                        &nbsp;&nbsp;&nbsp;&nbsp; 　　/*削除の処理*/<br />
                        &nbsp;&nbsp;&nbsp; } <br />
                        }<br /><br /><br />/*セルの移動が出来るようにするメソッド*/<br /></code><code>- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath 
                        *)indexPath {<br />
                        &nbsp;&nbsp;&nbsp; return YES;//NOで移動を禁止する。<br />
                        }</code><br /><br />/*セルの移動されたときに呼び出されるメソッド*/<br />- (void)tableView:(UITableView *)tableView 
                        moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath 
                        *)toIndexPath {<br />
                        &nbsp;&nbsp;&nbsp; if(fromIndexPath.section == toIndexPath.section) { // 移動元と移動先は同じセクションです。<br />
                        &nbsp;&nbsp; 　　　　 /*セルの移動処理*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*<br />　　　　　　　　　　補足　fromIndexPath:移動元のセル番号<br />　　　　　　　　　　　　　　　　　toIndexPath&nbsp;&nbsp;&nbsp;&nbsp; :移動後の１つ前のセル<br />　　　　　　　　*/&nbsp; <br />
                        &nbsp;&nbsp;&nbsp; }<br />
                        } <br /><br />他にも編集プロパティや追加メソッドによって、セルの複数選択や通常モード時と編集モード時のボタンの処理の切り替えなどを行う事もできます。<br /><br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone】足つぼを知ろう「足つぼ楽々」アプリ紹介</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/07/iphone-4.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.127</id>

    <published>2011-07-25T13:52:21Z</published>
    <updated>2011-07-25T14:41:38Z</updated>

    <summary>皆様、おまたせしました？今回はインボルブのアプリを紹介いたしますよ!肩こりや頭痛...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[<p>皆様、おまたせしました？<br />今回はインボルブのアプリを紹介いたしますよ!<br /><br />肩こりや頭痛で悩んでいる方。新しいダイエット法をお探しの方。<br />その悩みこのアプリで解決しませんか?<br /><br />その名も「足つぼ楽々」<br />使い方は簡単！症状や治したい部位に効果のあるツボを押すだけ！<br />気がつけばあなたの悩みは泡のように消えていくことでしょう！<br />※足つぼには個人差があり、効果効能を保証するものではありません<br /><br />いまいちアプリの内容が伝わらない？それはどうもすみません<br />お礼と言ってはなんですが下記からアプリをダウンロードしていってくれませんか？<br /><br />　　　　　　　　　　　　　　　　　　　　　&gt;&gt;&gt;&gt;&gt;&gt;&gt;<a href="http://itunes.apple.com/jp/app/id447537007?mt=8">App Storeで開く</a>&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<br /></p><p><br /></p><p>以下、真面目にアプリ紹介です。<br /></p>]]>
        <![CDATA[<p class="details">
「足つぼ楽々」は家や外で簡単に足つぼマッサージを<br />する事を可能とする、足つぼアプリです。<br /><br />自宅でオフを満喫したい時・・・<br />仕事の緊張モードを開放したい時・・・<br />肩こりがひどいけど、誰ももんでくれる人がいない時・・・<br /><br />そんな時に「足つぼ楽々」を利用することによって<br />簡単に足の裏のどの部分を押せばどんな部位や内臓に<br />利くのかがわかります。<br /><br />足つぼの図から検索することはもちろん、<br />症状(肩こりや頭痛、etc)から検索することもできます。<br />また、人体の図からも部位別に効果がある足つぼも検索できます。<br /><br />おまけ機能としては位置情報との連携により最寄の<br />足つぼ治療院も検索が可能となっており、<br />本格的な治療をお求めの方にも利用しやすい内容となっております。<br /><br />テレビを観ながら・・・<br />お風呂に入りながら・・・<br />彼氏彼女にお願いしながら・・・<br /><br />色々なシチュエーションで<br />是非リラックスモードを満喫していただければ幸いです。<br /><br />※2011.07.18 1.1.0 バージョンアップ※<br />更新内容:足裏の画像を従来数字を押さなければ<br />わからなかった効果先を一目でわかるように数字を<br />効果先の部位へと変更しました。

</p>


<h3>What's new</h3>
<p class="news">
・一つずつタッチしなければわからなかった効果先を、<br />ひとめで足裏イメージからどこに効果があるのか分かりやすくなるよう変更しました。</p><p class="news">以上<br /></p>]]>
    </content>
</entry>

<entry>
    <title>【iPhone】マップを使ってアプリから指定の住所を表示させる方法</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/07/ka.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.126</id>

    <published>2011-07-10T09:32:43Z</published>
    <updated>2011-07-10T10:27:34Z</updated>

    <summary>今日は全国納豆協同組合連合会が定めた納豆の日だそうです。納豆といえば水戸が有名で...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[今日は全国納豆協同組合連合会が定めた納豆の日だそうです。<br /><br />納豆といえば水戸が有名ですが、日本で一番納豆を食べているのはなんと福島県。<br />消費量の上位を東北地方が締めており、全体の消費量の半分以上を東北地方で消費されているようです。<br /><br />かくいう私も東北地方出身で、納豆は小さい頃からたっぷり食べてきた一人であります。<br />私もヒットアプリ開発のため、納豆のように粘り強く開発に取り組んでいきますよ。<br /><br />以下、マップを使ってアプリから指定の住所を表示させる方法です。<br /> ]]>
        <![CDATA[//表示する住所<br />NSString *Basho=@"○○県○○市○○";<br />NSString *maps=@"http://maps.google.co.jp/maps?";<br /><br />//住所の文字コードをUTF-8に変換<br />Basyo=[Basyo stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];<br /><br /><br />//変換した文字列を元にマップに表示させるURL用の文字列を作成<br />maps=[NSString stringWithFormat:@"%@%@",maps,Basho];<br /><br /><br />//URLを引数にマップを呼び出す。<br />&nbsp;&nbsp;&nbsp; NSURL* url = [NSURL URLWithString:urlString];<br />&nbsp;&nbsp;&nbsp; [[UIApplication sharedApplication] openURL:url];<br /><br />注:シミュレータではSafariから（マップが無いため）、実機ではマップを起動します。<br /><br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone】アプリからカレンダーにスケジュールを登録する方法</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/07/iphone-3.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.125</id>

    <published>2011-07-05T11:11:10Z</published>
    <updated>2011-07-05T12:40:34Z</updated>

    <summary>最近、夜も暑いです。昨日の夜からエアコンがストライキに入ったらしく全然涼しくあり...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[最近、夜も暑いです。<br /><br />昨日の夜からエアコンがストライキに入ったらしく全然涼しくありません。困った...<br /><br />暑いので箱買いしたドクターペッパーを毎晩のように飲んで涼んでいたら<br />一週間で8本以上飲んでいました（笑）。一缶150kcal...<br />ドクターペッパー、今夏一番のおすすめ商品です。<br /><br />メタボ街道まっしぐらで今夏もiPhone開発頑張ります。<br /><br />以下、アプリからカレンダーにスケジュールを登録する方法です。 
        <br /><br /> ]]>
        <![CDATA[#import &lt;UIKit/UIKit.h&gt;<br />#import &lt;EventKit/EventKit.h&gt;//EventKitとEventKitUIをインポート<br />#import &lt;EventKitUI/EventKitUI.h&gt;<br /><br />@interface Sample : UIViewController&nbsp; &lt;EKEventEditViewDelegate&gt; {<br />&nbsp;&nbsp;&nbsp; EKEventStore *eventStore;<br />}<br /><br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /><br />/*カレンダー表示メソッド*/<br />-(void)CalenderView{<br />&nbsp;&nbsp;&nbsp; /*スケジュール登録画面に表示する内容*/<br />&nbsp;&nbsp;&nbsp; eventStore = [[[EKEventStore alloc] init] autorelease];<br />&nbsp;&nbsp;&nbsp; EKEvent *event = [EKEvent eventWithEventStore:eventStore];<br />&nbsp;&nbsp;&nbsp; event.title = name;//スケジュールタイトル<br />&nbsp;&nbsp;&nbsp; event.startDate = [NSDate date];//スケジュール開始時間<br />&nbsp;&nbsp;&nbsp; event.endDate = [NSDate dateWithTimeIntervalSinceNow:86400];//スケジュール終了時間<br />&nbsp;&nbsp;&nbsp; event.notes = @"This is notes.";//スケジュールメモ<br />&nbsp;&nbsp;&nbsp; <br />　　　　/*スケジュール表示画面作成*/<br />&nbsp;&nbsp;&nbsp; EKEventEditViewController *eventEditViewController = [[[EKEventEditViewController alloc] init] autorelease];<br />&nbsp;&nbsp;&nbsp; eventEditViewController.editViewDelegate = self;<br />&nbsp;&nbsp;&nbsp; eventEditViewController.event = event;<br />&nbsp;&nbsp;&nbsp; eventEditViewController.eventStore = eventStore;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; [self presentModalViewController:eventEditViewController animated:YES];<br />}<br /><br />/*スケジュール登録画面の処理に反応するメソッド*/<br />- (void)eventEditViewController:(EKEventEditViewController *)controller<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; didCompleteWithAction:(EKEventEditViewAction)action{<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; NSError *error = nil;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; switch (action) {<br />　　　　　　　　//キャンセルボタンが押されたら<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case EKEventEditViewActionCanceled:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br /><br />　　　　　　　　//登録ボタンが押されたら&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case EKEventEditViewActionSaved:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [controller.eventStore saveEvent:controller.event span:EKSpanThisEvent error:&amp;error];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />　　　　　　　　//削除ボタンが押されたら<br />　　　　　　　　　case EKEventEditViewActionDeleted:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [controller.eventStore removeEvent:controller.event span:EKSpanThisEvent error:&amp;error];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; default:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; <br />　　　　//もとの画面に戻る<br />&nbsp;&nbsp;&nbsp; [controller dismissModalViewControllerAnimated:YES];<br />}<br /><br />以上<br /><br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】入力付きAlertを表示する。</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/07/iphonealert.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.124</id>

    <published>2011-07-03T14:10:16Z</published>
    <updated>2011-07-03T14:30:51Z</updated>

    <summary>最近、暑い日が続いておりますが夏バテなどしていないでしょうか？夏バテにはやっぱり...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[最近、暑い日が続いておりますが夏バテなどしていないでしょうか？<br /><br />夏バテにはやっぱりスタミナ料理ですよ。<br />スタミナ料理といえば、うなぎ、焼き肉、レバニラ、カレーライス、こってりラーメンetc。<br />一番はやっぱりにんにくとニラがたっぷりの餃子ですね。ビールと一緒にどうぞ。<br /><br />がっつり食べて暑い夏を乗り越えましょう！<br /><br />以下、アプリでよく見る入力付きAlertの表示の仕方です。 ]]>
        <![CDATA[//表示メッセージを空けたAlertを作成<br />UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"名前を入力"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;message:@"\n"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; delegate:self <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; cancelButtonTitle:@"Cancel" <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; otherButtonTitles:@"OK", nil];<br /><br />//Alertに乗せる入力テキストを作成 &nbsp;&nbsp; <br />UITextField *text = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];<br />text.backgroundColor=[UIColor whiteColor];<br />[alert addSubview:text];<br />&nbsp;<br />//Alertを表示<br />[alert show];<br />[alert release];<br />&nbsp;<br />//Responderをセット&nbsp; <br />[text becomeFirstResponder];<br /><br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /><br />//OKボタンが押されたときのメソッド<br />- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {<br />&nbsp;&nbsp;&nbsp; //OKボタンの処理（Cancelボタンの処理は標準でAlertを終了する処理が設定されている）<br />　　　if (buttonIndex == 1) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; /*Okボタンの処理*/<br />&nbsp;&nbsp;&nbsp; }<br />}<br /><br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】加速度センサーの使い方</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/06/iphone-2.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.123</id>

    <published>2011-06-20T08:28:00Z</published>
    <updated>2011-07-03T14:09:40Z</updated>

    <summary>iPhoneといえばタッチやピンチアウトが連想されやすいですが、加速度センサーの...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[iPhoneといえばタッチやピンチアウトが連想されやすいですが、<br />加速度センサーの存在を忘れてはいけません。<br /><br />確かに加速度センサーが活用される機会は日常にはあまりないですし、<br />加速度センサーが使われているアプリもタッチやピンチアウトに比べれば少ないでしょう。...たぶん<br /><br />しかし、加速度センサーには夢があります。<br />まだまだ知られぬ活用方法があるかもしれないのです。<br />さぁ、加速度センサーで大ヒットアプリを開発しましょう！！！<br /><br />以下、加速度センサーの使い方です。↓<br /> ]]>
        <![CDATA[//加速度センサーのデリゲート<br />@interface KasokuTest : UIViewController &lt;UIAccelerometerDelegate&gt;{<br />}<br />@end<br /><br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /><br />//加速度センサーを実装<br />- (void)viewDidLoad {<br />&nbsp;&nbsp;&nbsp; [super viewDidLoad];<br />&nbsp;&nbsp;&nbsp; UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];<br />&nbsp;&nbsp;&nbsp; accel.delegate = self;//デリゲートをセット<br />&nbsp;&nbsp;&nbsp; accel.updateInterval = 1.0f/60.0f;&nbsp; //感知インターバルを設定<br />}<br /><br /><br />//設定したインターバルごとにこのメソッドが呼ばれる<br />- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:<br />　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　(UIAcceleration *)acceleration {<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*-------------加速度センサーから得たデータを元に処理する-----------------*/<br /><br />}<br /><br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】NavigationBarに複数のボタンを作成する方法</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/06/navigationbar.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.122</id>

    <published>2011-06-09T10:15:22Z</published>
    <updated>2011-07-03T14:09:10Z</updated>

    <summary>NavigationBarは基本的には左右に一つずつですよね。でも、ボタンが複数...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[NavigationBarは基本的には左右に一つずつですよね。<br /><br />でも、ボタンが複数必要でデザイン的にボタンを画面にいくつも作りたくない時はどうしましょう？<br /><br />そんなときはNavigationBarにボタンを追加しちゃいましょう！<br /><br />以下、NavigationBarに複数のボタンを作成する方法です。 ]]>
        <![CDATA[//追加したいボタンを配列に作ります（今回は２つ作ります）<br />&nbsp;&nbsp;&nbsp; NSArray *items = [NSArray arrayWithObjects:@"Home", @"Config", nil];<br /><br />//SegmentedControlをNavigationBarに追加することで複数作成を可能にします<br />&nbsp;&nbsp;&nbsp; UISegmentedControl *segmentedControl =<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [[[UISegmentedControl alloc] initWithItems:items] autorelease];<br /><br />　　　　//選択をなしに<br />&nbsp;&nbsp;&nbsp; segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment;<br /><br />　　 　//Barスタイルを設定<br />&nbsp;&nbsp;&nbsp; segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;<br /><br />　　　　//選択状態にするか設定<br />&nbsp;&nbsp;&nbsp; segmentedControl.momentary = YES;<br />　　　　<br />　　　　//押されたときの処理を設定<br />&nbsp;&nbsp;&nbsp; [segmentedControl addTarget:self action:@selector(Button_Click:)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forControlEvents:UIControlEventValueChanged];<br /><br />　　　　//NavigationBarに追加<br />&nbsp;&nbsp;&nbsp; self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initWithCustomView:segmentedControl] autorelease];<br /><br />〜〜〜〜〜〜〜〜〜〜〜〜〜<br /><br />//ボタンを押したときの処理<br />-(void)Button_Click:(UISegmentedControl*)seg{<br /><br />&nbsp;&nbsp;&nbsp; //セグメント番号によって処理を分ける<br />&nbsp;&nbsp;&nbsp; if (seg.selectedSegmentIndex==0) {<br /><br />&nbsp;&nbsp;&nbsp; 　　　　　　　　　　　/*--------Homeボタンの処理----------*/ <br /><br />&nbsp;&nbsp;&nbsp; }else {<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 　　　　　　　　/*--------Configボタンの処理----------*/<br /><br />&nbsp;&nbsp;&nbsp; }<br />}<br /><br />以上]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】マップを使ってアプリから現在地を表示する方法</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/06/iphone-1.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.117</id>

    <published>2011-06-09T08:57:23Z</published>
    <updated>2011-07-03T14:08:50Z</updated>

    <summary>iPhoneといえばGPS。と、いうことで今回はアプリ内からマップを呼び出して現...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[iPhoneといえばGPS。<br /><br />と、いうことで今回はアプリ内からマップを呼び出して<br />現在地周辺地図を表示する方法を紹介していきますよ。<br /><br />以下、アプリ内からマップを使って現在地を表示する方法です。<br /> ]]>
        <![CDATA[//シミュレータではSafariから（マップが無いため）、実機ではマップを起動します<br /><br /><br />// 現在位置記録用（現在地の緯度と経度を取得する部分は省略するので注意！）<br />&nbsp;&nbsp;&nbsp; CLLocationDegrees _longitude;//緯度<br />&nbsp;&nbsp;&nbsp; CLLocationDegrees _latitude;//経度<br /><br /><br />//取得した緯度と経度を文字列に変換<br />　　　NSString* urlString = [NSString stringWithFormat:@"&amp;ll=%f,%f", _latitude, _longitude];<br /><br /><br />//変換した文字列を元にマップに表示させるURL用の文字列を作成<br />&nbsp;&nbsp;&nbsp; urlString=[NSString stringWithFormat:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @"NSString* ur=@"http://maps.google.co.jp/maps?";%@",urlString];<br /><br /><br />//URLを引数にマップを呼び出す。<br />&nbsp;&nbsp;&nbsp; NSURL* url = [NSURL URLWithString:urlString];<br />&nbsp;&nbsp;&nbsp; [[UIApplication sharedApplication] openURL:url];<br /><br /><br />マップを起動すると呼び出したアプリは呼び出した画面のまま終了するので、<br />呼び出したアプリには戻れませんのでご注意を。<br /><br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】グローバル変数を使う方法</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/06/iphone.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.116</id>

    <published>2011-06-07T08:11:29Z</published>
    <updated>2011-07-03T14:08:07Z</updated>

    <summary>グローバル変数はどこからでもアクセス出来てしまう特殊な変数。なるべくならグローバ...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[グローバル変数はどこからでもアクセス出来てしまう特殊な変数。<br />なるべくならグローバル変数を使わないほうが画面関係やクラス関係もシンプルで、<br />ソースとしても読みやすく、仕様変更にも強い。<br />
<br />
しかし、設定などの大部分に関わるものになるとどうしても使った方が良い場合も出てくるので、<br />一概に使うなとは言えない。<br />
<br />
つまり、その時の規模やアプリタイプに合わせて使うか否か判断しましょうということ。<br />安易に使えば首を絞めることになりかねませんのでご注意を。<br /><br />以下、グローバル変数の使い方です。<br />]]>
        <![CDATA[1.グローバル変数専用クラスを用意し、使いたい変数を作成する。<br />　　（プロパティ宣言しておくと直接アクセスできます。）<br /><br />2.グローバル変数専用クラスのヘッダでグローバル変数専用クラス自身を宣言します。<br /><br />3.OtherSourceの"プロジェクト名.pch"にグローバル変数専用クラスのヘッダをインポート。<br />　　（これでヘッダに書いた変数へアクセス出来るようになります。）<br /><br />4."プロジェクト名AppDelegateメソッドの"didFinishLaunchingWithOptionsで<br />　　　　　グローバル変数専用クラスのヘッダで宣言した変数を実装して完了になります。<br /><br />注意　：実装を忘れるとエラー原因の特定が難しいので忘れず実装する事。<br />　　　　　　　　　　また、この変数はそのままでは必ずメモリリークを起こすのでメモリ管理は忘れないこと。<br />　　　　　　　　　　<br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】csvファイルの使い方</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/06/iphonecsv.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.115</id>

    <published>2011-06-03T01:45:46Z</published>
    <updated>2011-07-03T14:08:27Z</updated>

    <summary>アプリの設定やデータの管理はplistファイルやXMLファイルを使うのが普通だが...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[アプリの設定やデータの管理はplistファイルやXMLファイルを使うのが普通だが、<br />やっぱり慣れ親しんだcsvファイルを使いたい...<br /><br /><br />ということで、csvを使ったデータ管理をメモしていきますよ。<br /> ]]>
        <![CDATA[<br />csvファイルからデータを読み取る（ファイルはDocumentsフォルダにあるものとする）<br /><br /><br /><br />// CSVファイルからセクションデータを取得する<br />&nbsp;&nbsp;&nbsp; NSArray *paths = NSSearchPathForDirectoriesInDomains(<br />NSDocumentDirectory, NSUserDomainMask, YES);<br />&nbsp;&nbsp;&nbsp; NSString *documentsDirectory = [paths objectAtIndex:0];<br />&nbsp;&nbsp;&nbsp; NSString *csvFile =<br />　　　　　　　　　　　　　　　　　 [documentsDirectory stringByAppendingPathComponent:@"data.csv"];<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; //ファイルの有無を確認<br />&nbsp;&nbsp;&nbsp; if ([[NSFileManager defaultManager] fileExistsAtPath:csvFile]) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSData *csvData = [NSData dataWithContentsOfFile:csvFile];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSString *csv = [[[NSString alloc] 　　<br />　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　initWithData:csvDataencoding:<br />　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　NSUTF8StringEncoding] autorelease];<br /><br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSScanner *scanner = [NSScanner scannerWithString:csv];<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 改行文字の集合を取得<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSCharacterSet *chSet = [NSCharacterSet newlineCharacterSet];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 一行ずつの読み込み<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSString *line;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (![scanner isAtEnd]) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 一行読み込み<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [scanner scanUpToCharactersFromSet:chSet intoString:&amp;line];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // カンマ「,」で区切る<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSArray *array = [line componentsSeparatedByString:@","];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /*データをarrayから取得してデータにセット*/<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //　改行文字をスキップ<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [scanner scanCharactersFromSet:chSet intoString:NULL];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br /><br /><br /><br />csvファイルにデータを書き込む（ファイルはDocumentsフォルダに書き込まれる）<br /><br /><br /><br />　　　　NSMutableString *mstr = [NSMutableString stringWithString:@""];<br />&nbsp; 　　<br />　　　　/*データをmstrにセットする*/<br />　　　　<br />　　　　//ファイルパスを取得<br />&nbsp;&nbsp;&nbsp; NSArray *paths = NSSearchPathForDirectoriesInDomains(<br />　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　NSDocumentDirectory, 　　　NSUserDomainMask, YES);<br />&nbsp;&nbsp;&nbsp; NSString *documentsDirectory = [paths objectAtIndex:0];<br />&nbsp;&nbsp;&nbsp; NSString* a_tmp_dir = [documentsDirectory 　<br />　　　　　　　　　　　　　　　　　　　stringByAppendingPathComponent:@"data.csv"];<br /><br />　　　　//ファイル書き込み<br />　　　　NSData* out_data = [mstr dataUsingEncoding:NSUTF8StringEncoding];<br />&nbsp;&nbsp;&nbsp; [out_data writeToFile:a_tmp_dir atomically:YES];<br /><br /><br /><br />以上、csvファイルの使い方でした。<br />]]>
    </content>
</entry>

<entry>
    <title>【iPhone開発】AVAudioPlayerを使う際に知っておきたいこと</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/06/avaudioplayer.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.114</id>

    <published>2011-06-03T01:39:39Z</published>
    <updated>2011-07-03T14:10:03Z</updated>

    <summary>はじめまして４月に入社したばかりのGyouzaです。私は現在行っているiPhon...</summary>
    <author>
        <name>Gyouza</name>
        <uri>http://www.volv.jp</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[はじめまして<br /><br />４月に入社したばかりのGyouzaです。<br />私は現在行っているiPhone開発でのことを中心に書いていきたいと思います。<br /><br />まだまだ新米なので誤った情報などもあるかもしれませんが<br />よろしくお願いします。<br /><br />以下、AVAudioPlayerを使う際に知っておきたいことです。<br /><br /><br /><br /> ]]>
        <![CDATA[AVAudioPlayerの使う際に知っておきたいこと<br /><br />•シミュレータでテストすると最初の音がバグっている<br />　　→シミュレータが再現出来ていないだけで、実機で問題はないので無視しましょう。<br /><br />•再生にラグが発生する。<br />　　→prepareToPlayメソッドで読み込んでおきましょう。ラグが短くなります。<br /><br />•曲は止まったのにバッファ解放されていない<br />　　→pauseメソッドによる停止ではバッファ解放はされません。stopメソッドを使いましょう。<br />　　　　　stopメソッドの場合はprepareToPlayメソッドをもう一度呼び出すことで再開することが<br />　　　　　できるようになります。<br /><br />•iPhoneがロックされると再生が止まってしまう<br />　　　→AudioSessionSetPropertyで細かな設定が必要です。<br /><br />以上<br />]]>
    </content>
</entry>

<entry>
    <title>VMware vSphere Standard+DataRecovery ライセンス販売終息</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/02/vmware-vsphere-standarddatarecovery.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.112</id>

    <published>2011-02-09T07:04:18Z</published>
    <updated>2011-02-10T00:54:21Z</updated>

    <summary>VMWare社のHPには未だに別途購入できると記載がありますが、「VMware ...</summary>
    <author>
        <name>volvadmin</name>
        
    </author>
    
        <category term="vSphere" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="datarecovery" label="DataRecovery" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vmware" label="VMware" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vsphere" label="vSphere" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[VMWare社のHPには未だに別途購入できると記載がありますが、<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; color: rgb(0, 0, 0); ">「VMware vSphere Standard+DataRecovery」</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; color: rgb(0, 0, 0); ">こちらのライセンスは販売が終息したとの事です。</span></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br /></span></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">いずれHPも更新されるとは思いますが、</span></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">見積もりを作っている代理店さんは注意が必要です。</span></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br /></span></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><a href="http://www.vmware.com/jp/products/data-recovery/buy.html">http://www.vmware.com/jp/products/data-recovery/buy.html</a></span></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">※こちらのページには未だ「単体購入可能」と記載があります。</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><br /></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">DataRecoveryを使う場合はAdvancedライセンスの購入が必要になるとの事です。</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><br /></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">～2011/2/10追記～</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">9日夜のVMからのメルマガにて、</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><br /></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">＝＝</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><strong>＜最新情報＞</strong><br />vSphere Standard Editionに ' Data Recovery '&nbsp; の機能が加わり、より便利になります。&nbsp;<br />近日にリリース予定の vSphere 4.1 Update 1 を購入またはアップグレードすると、</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">Standardから Data Recoveryの機能が使用できるようになります。</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">Data Recoveryの使用には、vCenter Server が必要です。</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">＝＝</font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif"><br /></font></div><div><font class="Apple-style-span" color="#000000" face="arial, sans-serif">という案内がありましたので追記します。</font></div>]]>
        
    </content>
</entry>

<entry>
    <title>MS SQL Server 2008 のVMware HAにおけるライセンス購入</title>
    <link rel="alternate" type="text/html" href="http://blog.volv.jp/memo/2011/02/ms-sql-server-2008-vmware-ha.html" />
    <id>tag:blog.volv.jp,2011:/memo//2.111</id>

    <published>2011-02-09T00:41:04Z</published>
    <updated>2011-02-09T00:47:17Z</updated>

    <summary>MSのページやSQLのライセンス同意書などを熟読すればわかるかもしれませんがライ...</summary>
    <author>
        <name>alchemist</name>
        
    </author>
    
        <category term="SQL 2008" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="VMware" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Windows" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mssqlserver2008" label="MS SQL Server 2008" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.volv.jp/memo/">
        <![CDATA[<div>MSのページやSQLのライセンス同意書などを熟読すればわかるかもしれませんが</div><div>ライセンス違反を避けるため正確な内容を把握する必要があったのでMSに問合せてをしてみました。</div><div>その結果のメモです。</div><div><br /></div><div>以下の環境でのライセンスのお話です。</div><div><br /></div> ]]>
        <![CDATA[<div>★SQLのEdition</div><div><div>MS SQL Server 2008 Standard Edition</div><div><br /></div><div>★ライセンス形態</div><div>サーバーライセンス</div><div><br /></div><div>★VMware環境</div><div>Blade A、Blade Bの2枚でHA構成</div><div><br /></div><div>★Question（MSへの問合せ内容）</div><div>　通常はBlade A上の仮想サーバーでSQLが動作しているが</div><div>　Blade Aに障害が発生した場合Blade Bに仮想サーバーが移動する</div><div>　HA構成の場合、サーバーライセンスはいくつ必要か？</div><div><br /></div><div>★Answer</div><div>　基本的に１サーバーライセンスでOK</div><div>　ただし、Blade A⇒Blade Bに仮想サーバーが移動した後、</div><div>　90日以内にBlade A上に移動する場合は２サーバーライセンスが必要。</div><div><br /></div><div>・その他メモ　</div><div>　Enterprise　EditionやDatacenter Edition はこういった考えとはまた異なる。</div><div>　HA以前に仮想サーバーにおけるライセンスカウントについては、</div><div><br /></div><div>http://www.microsoft.com/japan/sqlserver/2008/r2/howtobuy/system.mspx#num7</div></div>]]>
    </content>
</entry>

</feed>

