tag:blogger.com,1999:blog-50480255447792337992024-03-06T03:13:31.284+09:00モバ造の家に突然iMacがやって来た!!酔っぱらって買ってしまったiMacの行く末は...<br>
<br>
iPhone App 「巻き紙電卓」できました。よろしくね!!mobazohttp://www.blogger.com/profile/07701936867534674293noreply@blogger.comBlogger28213tag:blogger.com,1999:blog-5048025544779233799.post-57569859968196074932014-04-24T01:40:00.002+09:002014-04-24T01:40:18.518+09:00iOS4からのアニメーションはanimateWithDuration: が標準いままで、Viewのアニメーションは、beginAnimations:を使ってたけど、なんとiOS4からは、ブロック構文をつかったanimateWithDurationが普通なのな。<br />
<br />
なぜここに行き着いたかというと、アニメーションを2つ続けるとうまく動かない(並列動作してしまう)ため、もう少しうまく動かしたかったためです。<br />
<br />
で、結果は次のコード。隠してからcompletionで表示すればいいということになります。<br />
<br />
今ひとつ文法理解していないけど、こういうことですw<br />
<div style="font-family: Menlo; font-size: 11px;">
<br /></div>
<div style="font-family: Menlo; font-size: 11px;">
<br /></div>
<div style="font-family: Menlo; font-size: 11px;">
- (<span style="color: #bb2ca2;">void</span>)hideAndShow_hideView:(<span style="color: #703daa;">UIView</span> *)hideView showView:(<span style="color: #703daa;">UIView</span> *)showView{</div>
<div style="color: #008400; font-family: 'Hiragino Kaku Gothic ProN'; font-size: 11px;">
<span style="color: black; font-family: Menlo;"> </span><span style="font-family: Menlo;">// </span>アニメーションでビューを隠す</div>
<div style="color: #703daa; font-family: Menlo; font-size: 11px;">
<span style="color: black;"> </span><span style="color: #bb2ca2;">self</span><span style="color: black;">.</span>view<span style="color: black;">.</span>frame<span style="color: black;"> = </span><span style="color: #3d1d81;">CGRectMake</span><span style="color: black;">(</span><span style="color: #272ad8;">0</span><span style="color: black;">, [[</span>UIScreen<span style="color: black;"> </span><span style="color: #3d1d81;">mainScreen</span><span style="color: black;">] </span><span style="color: #3d1d81;">bounds</span><span style="color: black;">].</span>size<span style="color: black;">.</span>height<span style="color: black;">-</span><span style="color: #272ad8;">100</span><span style="color: black;">, [[</span>UIScreen<span style="color: black;"> </span><span style="color: #3d1d81;">mainScreen</span><span style="color: black;">] </span><span style="color: #3d1d81;">bounds</span><span style="color: black;">].</span>size<span style="color: black;">.</span>width<span style="color: black;">, </span><span style="color: #272ad8;">100</span><span style="color: black;">);</span></div>
<div style="color: #3d1d81; font-family: Menlo; font-size: 11px;">
<span style="color: black;"> [</span><span style="color: #703daa;">UIView</span><span style="color: black;"> </span>animateWithDuration<span style="color: black;">:</span><span style="color: #272ad8;">1.0f</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">delay</span>:<span style="color: #272ad8;">0.0f</span></div>
<div style="color: #3d1d81; font-family: Menlo; font-size: 11px;">
<span style="color: black;"> </span>options<span style="color: black;">:</span>UIViewAnimationOptionCurveEaseInOut</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">animations</span>:^{</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">self</span>.<span style="color: #703daa;">view</span>.<span style="color: #703daa;">frame</span> = <span style="color: #3d1d81;">CGRectMake</span>(<span style="color: #272ad8;">0</span>, [[<span style="color: #703daa;">UIScreen</span> <span style="color: #3d1d81;">mainScreen</span>] <span style="color: #3d1d81;">bounds</span>].<span style="color: #703daa;">size</span>.<span style="color: #703daa;">height</span>-<span style="color: #272ad8;">50</span>, [[<span style="color: #703daa;">UIScreen</span> <span style="color: #3d1d81;">mainScreen</span>] <span style="color: #3d1d81;">bounds</span>].<span style="color: #703daa;">size</span>.<span style="color: #703daa;">width</span>, <span style="color: #272ad8;">100</span>);</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">completion</span>:^(<span style="color: #bb2ca2;">BOOL</span> finished){</div>
<div style="font-family: Menlo; font-size: 11px;">
hideView.<span style="color: #703daa;">hidden</span> = <span style="color: #bb2ca2;">YES</span>;</div>
<div style="font-family: Menlo; font-size: 11px;">
showView.<span style="color: #703daa;">hidden</span> = <span style="color: #bb2ca2;">NO</span>;</div>
<div style="font-family: Menlo; font-size: 11px;">
[<span style="color: #703daa;">UIView</span> <span style="color: #3d1d81;">animateWithDuration</span>:<span style="color: #272ad8;">1.0f</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">delay</span>:<span style="color: #272ad8;">0.0f</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">options</span>:<span style="color: #3d1d81;">UIViewAnimationOptionCurveEaseInOut</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">animations</span>:^{</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">self</span>.<span style="color: #703daa;">view</span>.<span style="color: #703daa;">frame</span> = <span style="color: #3d1d81;">CGRectMake</span>(<span style="color: #272ad8;">0</span>, [[<span style="color: #703daa;">UIScreen</span> <span style="color: #3d1d81;">mainScreen</span>] <span style="color: #3d1d81;">bounds</span>].<span style="color: #703daa;">size</span>.<span style="color: #703daa;">height</span>-<span style="color: #272ad8;">100</span>, [[<span style="color: #703daa;">UIScreen</span> <span style="color: #3d1d81;">mainScreen</span>] <span style="color: #3d1d81;">bounds</span>].<span style="color: #703daa;">size</span>.<span style="color: #703daa;">width</span>, <span style="color: #272ad8;">100</span>);</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #3d1d81;">completion</span>:^(<span style="color: #bb2ca2;">BOOL</span> finished){</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div style="font-family: Menlo; font-size: 11px;">
];</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div style="font-family: Menlo; font-size: 11px;">
];</div>
<br />
<div style="font-family: Menlo; font-size: 11px;">
}</div>
mobazohttp://www.blogger.com/profile/07701936867534674293noreply@blogger.com0tag:blogger.com,1999:blog-5048025544779233799.post-84396764198719882582014-04-22T08:07:00.004+09:002014-04-22T08:07:34.206+09:00UITabbarControllerでTabbarItemが灰色で見えない<div class="separator" style="clear: both; text-align: left;">
これ絶対ハマりません?</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
自分はXCodeが壊れたかとおもって、XCode再インストールまでしちゃいましたよ。ディスクユーティリティでアクセス権も治したし。ほんとかんべんしてほしい。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc5qE6rSSmiCAPKqerdD8MjcCLaAAARnrQecplT18Q1IdvT9j2FeU4SuZozTIIB6kOpgyxcrlyMhIzUk7KwsC9yletj_r5n7Z2VT7Y9P5HevoGrLAXJoiD8OghF2Kgi_7y-mTDxpNwEQ/s1600/tabbar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc5qE6rSSmiCAPKqerdD8MjcCLaAAARnrQecplT18Q1IdvT9j2FeU4SuZozTIIB6kOpgyxcrlyMhIzUk7KwsC9yletj_r5n7Z2VT7Y9P5HevoGrLAXJoiD8OghF2Kgi_7y-mTDxpNwEQ/s1600/tabbar.png" height="640" width="426" /></a></div>
<br />
正解はどうやら、TabbarItemがCustumになっていることから来ているらしい。<br />
<br />
しかも修正は飛び先のItemをCustumから他のものにした上でSegueを繋ぎ直すというなんともな仕様。どうにかしてほしいなう。<br />
<br />
で無事灰色がなくなりました。っていうかググっても出てこなかったんですが、皆んな困ってないのかね。ま、いいけど。1日損したわ・・・<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicceCd1p_2mLPHyf2I4M2aSg_q1bMqCGr0ozX0f2IkPbLi5NF03jVLBGeJGj9B0ahfiUmOIHSRZfVWJzgbIuSMqymKij5H6broqWDvlHNrgWbizM9KwR7nWx15fmljE7LJAJFHsZCmqw/s1600/%E6%AD%A3%E8%A7%A3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicceCd1p_2mLPHyf2I4M2aSg_q1bMqCGr0ozX0f2IkPbLi5NF03jVLBGeJGj9B0ahfiUmOIHSRZfVWJzgbIuSMqymKij5H6broqWDvlHNrgWbizM9KwR7nWx15fmljE7LJAJFHsZCmqw/s1600/%E6%AD%A3%E8%A7%A3.png" height="640" width="536" /></a></div>
<br />mobazohttp://www.blogger.com/profile/07701936867534674293noreply@blogger.com0tag:blogger.com,1999:blog-5048025544779233799.post-18142189205372597972014-04-20T14:30:00.003+09:002014-04-20T14:30:52.071+09:00Wahoo Fitness APIWahoo ハートレートモニターがやって来ました。<br />
<br />
何故購入したかというと、甲状腺機能亢進のため心拍が高くなる傾向にあり、高いときには抑えるためにβ遮断薬を服用しなくてはならないからです。<br />
<br />
1日3回飲めばいいのですが、忘れたり、規定通りの服用でもいいとも限らないので常時チェックしたい。<br />
<br />
運動アプリでモニターすればいいのかもしれないですが、今ひとつ用途がちがうもので、自分で作ろうかしらん、という感じです。<br />
<br />
<br />
<br />
APIドキュメントについては、XCode5以上ですとWebサイトにある方法ではドキュメントは入れられません。そのためには、WahooからもらえるSDKにある*.docsetを、Finderで「このMac」を選択したあと、右上で「DocSets」と検索してでてくるDocSetsフォルダに入れ込みます。XCode5を再起動し、Window-Documentation and API Referenceを選択するとWahoo APIのリファレンスが見れます(といってもWebサイトと変わりなさそうです)。<br />
<br />
<br />
<br />
Wahoo Fitness APIは、<span style="color: blue;">WFHardwareConnector </span>というクラスとして提供されます。<span style="color: blue;">WFHardwareConnector</span>はANT+ とBTLEセンサーの設定やデータ取得が可能です。<br />
<br />
− 下準備<br />
<br />
❏プロジェクトの設定<br />
プロジェクトのBuild SettingsのLinking セクションにあるOther Linker Flagsで、<b style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">-lstdc++ -all_load </b>
を設定します。<br />
<br />
❏ターゲットの設定<br />
ターゲットのBuild PhasesにあるLink Binary With Librariesで+ボタンを押下し、Add Other... ボタンを押し、ダウンロードしたWahoo Fiitness APIにあるWFConnector.frameworkを選択する。さらにiOS標準のフレームワークのうち、ExternalAccessory.framework、CoreBluetooth.framework、libstdc++.dylib(iOS7 SDKの場合)を指定する。その際、CoreBluetooth.frameworkはOptionalを指定する。<br />
<br />
❏アプリケーションバンドルの設定<br />
アクセサリ接続とバックグラウンド動作のため info.plistに次を設定する。<br />
<b style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">Supported external accessory protocols</b><span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;"> のitemに</span><b style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">com.momentumoftechnology.fisica</b><span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;"> </span><br />
<span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;"><br /></span>
<b style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">Required background modes </b><span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">のitemに</span><b style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">external-accessory</b><span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">, と </span><b style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;">bluetooth-central</b><span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;"> </span><br />
<span style="background-color: white; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px;"><br /></span>注)<a class="el" href="http://api.wahoofitness.com/interface_w_f_hardware_connector.html#a8977093b6bfec17edacb4f725b745684" style="background-color: white; color: #4665a2; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px; font-weight: bold; text-decoration: none;" title="Prepares the WFHardwareConnector for background mode.">prepareForBackground (WFHardwareConnector)</a>がバックグラウンドモードと転送準備のためにリソースを初期設定する。しかし<a class="el" href="http://api.wahoofitness.com/interface_w_f_hardware_connector.html#aa5a9b7ad624375492dd013935089b40c" style="background-color: white; color: #4665a2; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 12px; font-weight: bold; text-decoration: none;" title="Restores normal operation upon returning from background mode.">returnFromBackground (WFHardwareConnector</a>と合わせて、iOS5.0以降ではこれらメソッドは不要。バックグラウンド操作では以下が必要。<br />
<br />
さらにマニュアルにはありませんが、Wahoo Fitness APIではarm64がサポートされていません。そのため、プロジェクトのBuild SettingsのArchitecuresで、ArchitecuresをStandard(armv7,armv7s,arm64)からothersで、$(〜STANDARDS)とかを削除して、armv7とarmv7Sをそれぞれ+し(一緒にいれてはいけません)、Build Active Architecure OnlyをたぶんNO(かな?)、Vaild Architecures でarm64を削除します。<br />
<br />
これでサンプルとかがコンパイルできるようになります。<br />
<br />mobazohttp://www.blogger.com/profile/07701936867534674293noreply@blogger.com0