tag:blogger.com,1999:blog-35995477710420975992024-02-21T05:32:11.056+09:00soboro Lab公開しているiPhoneAppの紹介とサポート TCG用ライフカウンターとかsoborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-3599547771042097599.post-26970454182054855872017-11-08T01:49:00.001+09:002017-11-08T01:49:50.499+09:00Multi Life Counter 2.1.0 アップデート<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnBvANOlhP-7xjw82ZQnlNhKbR80PCDAVtNLTwwv11bmTMcrYVnPol5uJoQMYBh7K9PvgxtyAHlTyggRbZ2wK94xIZ9fY107ZqqmQEuL8qfAi7Af1lXg5DNjs99D03x3mZTlqpp5Gm6Pc/s1600/MLC_icon128.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnBvANOlhP-7xjw82ZQnlNhKbR80PCDAVtNLTwwv11bmTMcrYVnPol5uJoQMYBh7K9PvgxtyAHlTyggRbZ2wK94xIZ9fY107ZqqmQEuL8qfAi7Af1lXg5DNjs99D03x3mZTlqpp5Gm6Pc/s1600/MLC_icon128.png" />
</a>
</div>
<div style="background-color: white; color: #333333; font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif; line-height: 20px;">
<br />
・トレーディングカードゲーム用ライフカウンター <br />
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能<br />
・カウンター履歴の参照と保存が可能<br />
<br />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="color: #6699cc; text-decoration: none;" target="_blank">[詳細はこちら]</a></div>
<br />
<div style="background-color: white; color: #333333; font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif; line-height: 20px;">
まずはお礼と謝罪を。<br />
最初期のリリースから現在までで合計30,000を超えるダウンロードを頂いており、また、国内外含めて好意的なレビューまで頂戴しており、本当に有難うございます。<br />
こんなにダウンロードして頂けるとは当初全く予期しておりませんでした。<br />
長らく放置してしまい本当にすみません。<br />
<br />
以下の修正を行いました<br />
<br />
[問題の修正]<br />
- iOS11対応<br />
- カウンター及び設定画面でダイアログの向きが画面の向きと異なってしまう問題を修正<br />
- 設定画面で特定の操作をすると初期値や桁数の変更が反映されない場合がある問題を修正<br />
- 一部画面でステータスバーが表示されない場合があった問題を修正<br />
- 一部画面でステータスバー分の表示領域の計算が反映されなくなっていた問題を修正<br />
- 各画面で複数のボタンを同時に押せてしまう問題を修正<br />
- カウンター画面や保存ログ画面などでテーブルの罫線の太さが表示位置により一定しなくなっていた問題を修正<br />
- いくつかの画面でダイスの画像が低解像度で表示されていた問題を修正<br />
<br />
[挙動変更]<br />
- 設定画面で桁数を選択した際に各初期値の設定が桁数を超えてしまっていた場合、各桁の最大値(999等)ではなく「0(ゼロ)」で更新されるように変更<br />
- 各桁毎に、初期値フィールドを空で設定した際に自動入力される値を変更<br />
(2/3桁 : 20, 4/5桁 : 8000)<br />
- カウンター画面でログボタンを押した際、履歴のテーブルを最新の一まで自動でするロールするように変更<br />
<br />
[デザイン変更]<br />
- カウンター画面でサブカウンターの表示をテキストでの説明からアイコン表示に変更<br />
- カウンター画面で数値の変更を確定する際、当該の数字ではなく新たに設けた「確定」「キャンセル」ボタンを使用するよう変更<br />
- 上記と併せてカウンター画面でサブカウンターの値の変更を行う際、当該の数値表示が画面中央まで移動して表示されるよう変更<br />
- ゲーム内ログ画面及び保存ログ画面で値の増減値を表示するよう変更<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
〜 ver. 2.0.2 / ver. 2.1.0 〜</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEwE1_QW7-6Kg0YyiwAJud00LmaJtZWPWnEakFVw2q9KPn7lIwylTMxP-54o63gE3EyIG6ynTKU67BmBOI_3oshg1dX7LYVkUyBYeFt5cvuJ3azIawOQEWASY0D6zKoXxWFxiEk2oxtJc/s1600/bologSS_210release_05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="447" data-original-width="797" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEwE1_QW7-6Kg0YyiwAJud00LmaJtZWPWnEakFVw2q9KPn7lIwylTMxP-54o63gE3EyIG6ynTKU67BmBOI_3oshg1dX7LYVkUyBYeFt5cvuJ3azIawOQEWASY0D6zKoXxWFxiEk2oxtJc/s200/bologSS_210release_05.png" width="200" /></a> -> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMLPfTOsEKp-7wcBjX9gXPiLJruC02D1aBxYmZFdH_nG2AMk6bT-V0trqtttT7s27idgaR5bg0lyXGzq3wIlUgtKVtXf0Scf0_c8bDf7wNmWyPeyWFpBzkbvB6OxOYt1Db002kPIia9a4/s1600/bologSS_210release_06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="1136" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMLPfTOsEKp-7wcBjX9gXPiLJruC02D1aBxYmZFdH_nG2AMk6bT-V0trqtttT7s27idgaR5bg0lyXGzq3wIlUgtKVtXf0Scf0_c8bDf7wNmWyPeyWFpBzkbvB6OxOYt1Db002kPIia9a4/s200/bologSS_210release_06.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="640" data-original-width="1136" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiigrC3cRrdX_S3WO5XV9Y3pQZoMQrBbNB-OOhPcPEE_bnGwIpbCU5_HWJ7rtB9qfges7dLxo6cm35hv-nPxwRqmQ4ozahbQBAG0VFA9p2LVJDQk-FD7ybTJyswAPB92VWf4gIuq7PXCnw/s200/bologSS_210release_01.png" width="200" /> -> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBC5L59FM0hl-Qk_l8kJMPKoQ-NB33IGZpKUGvhqR_xGrsWM7AQ4czbX7zi7Dt7EcOXzBwDWiaTHeKi8cjJc2USi2rBPQE_ia6Y9UwVHUCt4HHiD7H6nvK3ASxUuH0MvNbl_oKEBlmJA/s1600/bologSS_210release_02.png" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="640" data-original-width="1136" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBC5L59FM0hl-Qk_l8kJMPKoQ-NB33IGZpKUGvhqR_xGrsWM7AQ4czbX7zi7Dt7EcOXzBwDWiaTHeKi8cjJc2USi2rBPQE_ia6Y9UwVHUCt4HHiD7H6nvK3ASxUuH0MvNbl_oKEBlmJA/s200/bologSS_210release_02.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw3sCvafXhtu7xB1YNE2l9VfeEjWPwn3fzl3LuMAgRXVWaSWhvgpMuXy9HmEEvppr-GW72pkmqcY8iRAosu90cTwzyhMwLY86sYriWtJdNaCfxyu8_hXaCudL8vEZRlZni_Xe0nhcs21c/s1600/bologSS_210release_03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="1136" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw3sCvafXhtu7xB1YNE2l9VfeEjWPwn3fzl3LuMAgRXVWaSWhvgpMuXy9HmEEvppr-GW72pkmqcY8iRAosu90cTwzyhMwLY86sYriWtJdNaCfxyu8_hXaCudL8vEZRlZni_Xe0nhcs21c/s200/bologSS_210release_03.png" width="200" /></a> -> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCLTI7ChtqQi1BQvnJjYDjJT6YKhtlCbW2TkpE9stb62zEjDkKddSf4LEpHVHTAuKTdwgTrRie_AeT3kTCGK7L97y006dF7or7vG03eUwg_719qElU3fzZeLjswK0jywN1HDUPEVgdsl4/s1600/bologSS_210release_04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="1136" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCLTI7ChtqQi1BQvnJjYDjJT6YKhtlCbW2TkpE9stb62zEjDkKddSf4LEpHVHTAuKTdwgTrRie_AeT3kTCGK7L97y006dF7or7vG03eUwg_719qElU3fzZeLjswK0jywN1HDUPEVgdsl4/s200/bologSS_210release_04.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
今回の更新では主にiOS11対応のためのビルドし直しと同時に新しいiOS及びデバイスに対応するための修正、及び一部画面デザインの変更を行いました。<br />
ver. 2.0.2リリース当時32bitのみのビルド設定になっていたようでiOS11以降だとストアの検索に引っかからなくなっていた期間があったようです。64bitビルド、一回確認したんだけどなぁ・・・。<br />
どちらにしても非推奨になってしまったコードなども多々あったため、アプリの見た目はあまり変わりませんが、内部的には結構手を入れました。<br />
レイアウト構造の変更やUIKit側の機能更新による処理の変更などなど、手を入れ始めたらきりがなくなってしまいました。<br />
もっと早くアップデートするつもりだったのですが、遅くなってしまいすみません。<br />
<br />
また、現在までにレビューにて以下のご要望を頂戴しております。<br />
<br />
・設定画面まで戻らなくてもカウンター画面でプレイヤー名をタップすると編集できる<br />
ようにして欲しい<br />
・コインフリップの機能が欲しい<br />
(ほかに見逃しているご要望があればすみません。)<br />
<br />
プレイヤー名の編集に関しては近く実装するつもりです。<br />
コインフリップ(コイントス)は、実装すべきか検討中です。既存の1D6ダイス機能の偶数/奇数で代用できるため(リアルでもけっこうやりますよね。)、あえてコインとして別に用意するべきかどうか。<br />
実装自体は別にすぐできるのですが、画面や操作が煩雑になっても本末転倒なので。<br />
その他に追加の便利機能などがあれば真ん中のダイスボタンを「ツールボタン」とかしてもう一段階メニューを用意してもいいのですが。<br />
<br />
今後は機能拡張や既存機能の調整など、もう少しこまめに対応をしていく予定です。<br />
何卒宜しくお願い致します。<br />
<br /></div>
soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-32429441922596122662014-07-18T06:29:00.000+09:002014-07-23T01:29:45.210+09:0010秒フリック for iOS 1.0.0 リリース!SpriteKitの練習がてら簡単なゲームを作ってみました。<br />
<br />
<!-- アプリ紹介ヘッダ -->
<div class="appheader">
<!-- 左側アイコンコンテナ -->
<div class="iconcontainer">
<!-- アプリアイコンブロック -->
<div class="appicon">
<a href="http://soboro-lab.blogspot.com/p/10secflick-ja.html">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqsI1qJi7S6HFkGTCdRav3woohXFr16j9wnxZPa4-bSAnkVWLwr07mdyXFFdPv0ccDVHM7NPUrnNsB7Ybiv3y-zJHc-ev4J_Dnkciw_AigWbuG1e8x6EYuleIKV9PReOOBSq16hawo1Ms/s1600/10sFlick_Icon_128.png">
</a>
</div>
<!-- ストアボタンブロック -->
<div class="storebutton">
<a href="https://itunes.apple.com/jp/app/10miaofurikku/id883253434?mt=8&uo=4" style="background-image: url(https://linkmaker.itunes.apple.com/htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.svg); background: url(https://linkmaker.itunes.apple.com/htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.png) no-repeat; display: inline-block; height: 40px; overflow: hidden; width: 135px;" target="itunes_store"></a>
</div>
</div>
<!-- 右側文書コンテナ -->
<div class="summarycontainer">
<!-- アプリ概要文書ブロック -->
<div class="appsummary">
・10秒間、画面に現れる矢印をひたすらフリック!<br />
・より早く!より正確に!<br />
・あなたの限界は何フリック?<br />
</div>
<!-- ブログ内アプリページリンクブロック -->
<div class="pagelink">
<a href="http://soboro-lab.blogspot.jp/p/10secflick-ja.html" target="_blank">
[詳細はこちら]
</a>
</div>
</div>
<div class="placeholder">
</div>
</div>
<br />
へっぽこアプリですが、遊んでみていただけると嬉しいです。<br />
お時間はとらせません。<br />
なにせ10秒なので。<br />
良い記録が出たらツイートしてみてください。<br />
そして私に広告収n(ry<br />
<br />
因みに、現状で私の最高記録は 22フリック です。<br />
べ、別に反射神経が絶望的なんじゃないんだから!<br />
手加減してあげてるだけなんだからねっ・・・!///<br />
<br />
<br />
作ってみた感想など。<br />
<br />
今回はSpriteKitに喜び、SpriteKitに泣かされた感じでした。<br />
慣れてしまえば随分楽に2Dゲームを作成することが出来る強力なフレームワークであることは実感。<br />
SKAction万能説とか。<br />
<br />
一方で、枯れていないと言うかなんというか。<br />
まだまだ新しいフレームワークでかつCocos2Dなどの既存かつ代替フレームワークもあるため、「使ってみた」という導入記事やサンプルコードは多々あれど、トラブル事例と対処法が調べてもなかなか出てこない。<br />
コードが悪いのかフレームワーク依存の問題なのかがなかなか判別できない。<br />
それでいてSpriteKit自体がどうやら不具合を内包しているらしいという。<br />
特にメモリ周の
<a href="http://soboro-lab.blogspot.com/2014/05/spritekit-ios71-spritekit-skshapenode.html">
不可解なBADACDESS
</a>
やらなんやらが幾つかあるようで。<br />
<a href="http://soboro-lab.blogspot.com/2014/06/skaction.html">
サウンド周りの割り込みによる不具合
</a>
なんかにも当たりました。<br />
製作期間の半分以上、謎トラブルと戦ってた気がする・・・。<br />
練習がてらサクッと作れると思ったんだけどなぁ。<br />
このご時世、ゲームは特にマルチプラットフォーム全盛なのでSpriteKitがちゃんと枯れていくかどうかは分かりませんが、折角の純正フレームワークですし、活用したいものです。<br />
<br />
今回作ってみて多少勘所はわかった気がするので、他にもSpriteKitで色々作ってみたいなー。<br />
<br />soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-90852914034439113312014-07-17T19:33:00.000+09:002014-07-18T02:17:34.353+09:00iOS Developer Programの更新メール本文からのアクティベートってなくなったのね、的な備忘録。iOS Developer Programの期限が切れそうだったので更新をした時の話。<br />
どうやら今年から微妙な手順変更があったようなので備忘録。<br />
手順まとめではありませんので悪しからず。<br />
<br />
変更点 :<br />
2014/01 以降は更新確認メールの本文中リンクからのアクティベートが必要無くなり、購入処理後に自動でアクティベートされる。<br />
<br />
この更新作業、年に1回しかやらないから、作業を全く覚えない。<br />
今年も<br />
こちらとか<br />
<a href="http://blog.livedoor.jp/tattyamm/archives/3548487.html">
http://blog.livedoor.jp/tattyamm/archives/3548487.html<br />
</a>
こちらとか<br />
<a href="http://do-gugan.com/~furuta/archives/2012/06/ios_developer_p.html">
http://do-gugan.com/~furuta/archives/2012/06/ios_developer_p.html<br />
</a>
あとこちらとか<br />
<a href="http://qiita.com/stakei1/items/976069a8bad21d237bca">
http://qiita.com/stakei1/items/976069a8bad21d237bca<br />
</a>
有難いことにまとめて頂いている方の記事を参考に、作業に抜かりが無いか確認をしながら更新。<br />
<br />
と、3つ目のサイト様の記事に気になる文面が。<br />
<br />
-リンク先サイト様より引用-<br />
<a href="http://qiita.com/stakei1/items/976069a8bad21d237bca">
http://qiita.com/stakei1/items/976069a8bad21d237bca<br />
</a>
<blockquote class="tr_bq">
8.アクティベーションコードメール(2014/01以降はメールは来ない)<br />
<br />
Apple Developer Supportから「 Apple Developer Program Activation Code」<br />
という件名で、アクティベーションコードが送られてきます。<br />
メール本文にあるアクティベーションコード「 XXXX-XXXX-XXXX-XXXX 」をクリック。<br />
<br />
2014/01以降自動でアクティベートされるようになったため、このメールは来なくなった。
</blockquote>
ほほ〜ぅ。<br />
事前に調べてなければ「メールが来ねー!」と取り乱していたところだ。<br />
実際に更新してみると「Thanks for renewing your membership.」とのメールが先に届いた。<br />
それから少し遅れて「ご注文ありがとうございます」のメールが届く。<br />
確かに「Thanks for renewing〜」の方のメールにはサポートページへのリンクくらいしか無い。<br />
念のため確認。<br />
Apple Developerサイト > 右上のMember Center > 上部の黒いバーの「Program & Add-ons」<br />
(2014/07/16時点。最近頻繁にサイトデザイン変わるんだもん。)<br />
ちゃんと1年伸びている。特に何もしなくていいのか。楽だ。<br />
リンクからのアクティベートはうまくいかない例もあったようだし、トラブルも減りそうでいいですね。<br />
<br />soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-57113884154991581062014-06-12T23:04:00.000+09:002014-07-17T23:56:30.207+09:00AVAudioPlayerでハマった話。システム音も聞こえなくなった話など。<span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.790000915527344px;">環境:iOS 7.1.1, XCode 5.1.1</span><br />
<span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.790000915527344px;">状況:</span>AVAudioPlayerがシステム音量ごと沈黙<br />
<br />
AVAudioPlayerでBGMを鳴らそうとしていたところ、ある時からBGMの鳴るはずのタイミングで鳴らなくなってしまった。<br />
しかもどうやらiOSの他の音声ごと無音になってしまっており、ボリュームボタンを押せどもサイレントスイッチを弄れども音は出ず。(画面上の表示は反応しています。)<br />
実機だとイヤホンを抜き差しなどしてオーディオのルートを変更すると復帰する模様。<br />
シミュレータだとアプリを落とすと復帰するけど、それまではMacのシステム音声も巻き込んで消える。<br />
なにこれこわい。<br />
<br />
結論から言うと AVAudioPlayer の volume プロパティの値が不正だったというオチ。<br />
<br />
原因 :<br />
AVAudioPlayer の volume プロパティにゼロ除算の結果の+INFを入れてしまった<br />
<br />
直前に<a href="http://soboro-lab.blogspot.jp/2014/06/skaction.html" target="_blank">SpriteKitのバグ</a>回避のためにオーディオセッションの設定を実装していたのでそのせいかと思い、新しく呼ぶようにした関数を全部潰しても治らない。<br />
念のため既に実装を終わらせていたオーディオの再生部分を確認したら原因判明。<br />
BGMのフェードインの実装の中、引数で与えられたdurationからフレーム毎の音量の増加値を計算している部分でゼロ除算してました。<br />
その計算で引数が 0 の場合に +INF になった値をそのまま AVAudioPlayer の volume にイン。<br />
結果、音量が振り切れてシステム音声ごとオーディオが落ちる状態に。<br />
確かに同時期に「フェードイン無しの再生って duration が 0 のフェードインと同じだから云々・・・」とか自分で弄ってたの忘れてた・・・。<br />
まぁともかく、原因が分かってよかったよかっt・・・。<br />
よくない。<br />
<br />
公式ドキュメントに「このプロパティは 0.0 から 1.0 までよ」って書いてあったけど。<br />
今回の件、volume プロパティは inf だったから異常値として代入できてしまったのか、そもそもアクセサとかで検証はしてくれていないのか。<br />
試しに値に「2.0」を入れてみる。<br />
音が大きくなる。<br />
<br />
・・・。(ゴクリ。)<br />
よーし、ちょっと思い切って大きい値入れちゃおうかなー。具体的には INT32_MAX とか。<br />
<br />
結果:音が割れる。<br />
<br />
・・・おいィ?<br />
認識できる数値だったらスケールの範囲に関係なく再生しちゃうのか。<br />
例えば音量制限の延長で極端な値だとシステムがフェールセーフで落とすとかではない模様。<br />
なにそれこわい。<br />
MPVolumeView の volume プロパティは非推奨にしてるくせに、このおざなり感。<br />
<br />
結論:バリデーションは自前で。<br />
<br />soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-14663576602886952712014-06-12T21:08:00.000+09:002014-07-17T23:56:30.189+09:00SKActionを使ったサウンドの再生でハマった話。割り込み後に再生しなくなるなど。環境:iOS 7.1.1, XCode 5.1.1<br />
状況:SKActionを使用した音声がシステム割り込みからの復帰後に再生しなくなる<br />
<br />
SpriteKitを使ったアプリでSEの再生をSKActionのサウンド機能を使って再生していました。<br />
音量調節が出来ないのが難点だけど実装が楽で実に有難い。<br />
と思っていたら思わぬ罠が。<br />
着信などのシステム割り込みからの復帰後にSEが再生しなくなる。<br />
調べたら出てきました。<br />
<br />
症状<br />
<a href="http://stackoverflow.com/questions/22978547/handling-interruptions-in-sprite-kit-cant-get-sound-effects-via-skaction-pla">http://stackoverflow.com/questions/22978547/handling-interruptions-in-sprite-kit-cant-get-sound-effects-via-skaction-pla</a><br />
対処<br />
<a href="http://iknowsomething.com/ios-sdk-spritekit-sound/">http://iknowsomething.com/ios-sdk-spritekit-sound/</a><br />
<br />
ま た バ グ か 。<br />
<br />
なんか遭遇しすぎて逆に本当にSpriteKit自体のバグなのか、自分が何か見落としてるだけじゃないかと不安です。<br />
(もう一個、別の件で詰まって調べたら「SpriteKitのバグっぽい」と言われてた事があったんですが失念。思い出したら書きます。)<br />
<br />
ともかく動いてくれなきゃ困るので上記の対策を参考にさせて頂くことに。<br />
SKActionがBlocksを実行できることを利用した実装なので、末端のコードを書きなおさなくていいのが嬉しい。<br />
有り難や有り難や。<br />
というか、コレがアリならもうSKActionはなんでもありですね。<br />
<br />
ひとまず盲目的に実装したところ、アプリ起動中にコントロールセンターを引っ張りだすと deactivateAudioSession でエラーの際に再帰呼び出しをかけてるところでエラーがいつまでも解消せず、再帰が止まらなくなりタイムアウトで落ちる。<br />
Audio Session Programming Guide には「割り込み発生時にはシステム側で AudioSession を停止する」って書いてあるし、特定のアプリ以外は明示的に停止する必要はないらしい。
今回は特に必要でもないので soptAudio 以外では deactivateAudioSession を呼ばないように変更。<br />
とりあえず期待通りの挙動になりました。<br />
<br />
Appleさん、新言語のついでに bug fixも早急にお願いします。
せっかくのフレームワークも結局既存の複雑なコードを呼び出すんじゃ意味ないっス(泣)soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-40211984988395733002014-05-08T20:46:00.001+09:002014-07-17T23:56:30.201+09:00SpriteKitでハマった話。 iOS7.1, SpriteKit, SKShapeNode, EXC_BAD_ACCESS的な。次に何かリリースしようとSpriteKitを使って簡単なゲームを作っていたところハマりました。<br />
先に書いておくと未解決です。ボスケテ。<br />
<br />
環境:iOS 7.1.1, XCode 5.1.1<br />
状況:SKShapeNodeを子に持ったSKSceneがメモリから解放される時にEXC_BAD_ACCESSで落ちる場合がある<br />
<br />
SKShapeNodeを子に持ったSKSceneをビューで保持していない状態で別のシーンに遷移したり、意図的に開放してやったりすると<br />
<pre class="brush:objc">SKCSprite::removeSubSprite(SKCSprite*)</pre>
の呼び出しでEXC_BAD_ACCESSで落ちる。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBcK6jWkirWDpIgkt4K4lz8hdEh4QzNxUzL4GUTKehvx0A_cGqXyDp00WGdTE2Z-1rlzy3MSGa-t7bqGXxQN-_UjjD7MvWDepHJUq1mtPHcPp4b5WMMLDInfORiYtx6UoqHbFmjfF5U7I/s1600/EXC_BAD_ACCESS1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBcK6jWkirWDpIgkt4K4lz8hdEh4QzNxUzL4GUTKehvx0A_cGqXyDp00WGdTE2Z-1rlzy3MSGa-t7bqGXxQN-_UjjD7MvWDepHJUq1mtPHcPp4b5WMMLDInfORiYtx6UoqHbFmjfF5U7I/s1600/EXC_BAD_ACCESS1.png" height="73" width="640" /></a></div>
<div style="text-align: center;">
<span style="text-align: start;">こうなって</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFblNNC2nOapTXkNPnMlg_OlU5c3UFS8_rIs3n5rsm3YEyVYKe2CuC1Fqw9bGLNNHL9K0egv-4aguKk9UAwTv6rwOxdaWukTMsD33X55thKjQSBf07-uiLcdcDY8ng2Emd9npz4qmtzrM/s1600/EXC_BAD_ACCESS2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFblNNC2nOapTXkNPnMlg_OlU5c3UFS8_rIs3n5rsm3YEyVYKe2CuC1Fqw9bGLNNHL9K0egv-4aguKk9UAwTv6rwOxdaWukTMsD33X55thKjQSBf07-uiLcdcDY8ng2Emd9npz4qmtzrM/s1600/EXC_BAD_ACCESS2.png" height="153" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
こうなる</div>
<br />
試しにXCodeのSpriteKitのテンプレートに丸いSKShapeNodeを1つ追加してサイズと背景色だけ設定したSceneに遷移しても再現しました。<br />
<br />
自分の使い方が間違っているのかと思い、ググってみると何やらiOS7.1固有のSpriteKitのバグかもとか言われてる・・・?<br />
<a href="http://stackoverflow.com/questions/22399278/sprite-kit-ios-7-1-crash-on-removefromparent">http://stackoverflow.com/questions/22399278/sprite-kit-ios-7-1-crash-on-removefromparent</a><br />
<br />
確かに7.1の実機,シミュレーターだと再現し、7.0のシュミレーターだと再現しない様子。<br />
<br />
試しに別クラスからShapeNodeを保持するようにして、上記フォーラムのやり方で先に開放するようにしても改善せず。<br />
メモリ位置の関係なのか、ShapeNodeの生成を<br />
・呼び出し箇所で直書き<br />
・同一クラス内で関数化して呼び出し<br />
・サブクラス経由で生成<br />
と変えてみると、再現率が変わったりと不安定。<br />
Zombiesにも引っかからないし。<br />
いっそ全てのシーンをビューから保持したままにしてやろうかとか、頭を抱えてしまいました。<br />
<br />
SKShapeNodeのサブクラスや該当のSKSceneのサブクラスで<br />
<pre class="brush:objc">- (void)dealloc
{
if(self.children.count > 0){
[self removeAllChildren];
}
}
</pre>
とかやっても結局スーパークラスで<br />
SKCSprite::removeSubSprite(SKCSprite*)<br />
が呼ばれてしまい駄目っぽい。<br />
SKShapeNode本体にクラス拡張をしてみるとやっぱりこいつのdeallocで落ちている。<br />
一応、他のSKNodeの純正サブクラスでも試しましたが、ShapeNode以外は問題ない様子。<br />
試行回数がそれほど多くないので断言は出来ませんが。<br />
つまり<br />
<br />
・SKSceneがAutoReleaseで解放される際に<br />
・開放されるSceneに含まれるSKShapeNodeにdeallocが呼ばれる<br />
と、<br />
・メモリの状態によりEXC_BAD_ACCESS が起きる場合がある<br />
<br />
という状況らしい。<br />
・・・らしい。むむむ。<br />
<br />
海外のフォーラムでも話題になっていましたが、SKScene自体がメモリ周りが不明瞭な部分があるようで、その関連なのでしょうか?<br />
<br />
どうにも先に進まないのでひとまず諦めて<br />
<br />
1.CAShapeLayerでオフスクリーンに描画<br />
2.オフスクリーンの内容をCGImageに変換<br />
3.できたCGImageを使ってSKTexture作成<br />
4.SKTexture使ってSKSpriteNodeを作成<br />
<br />
とかなんとかしてSKShapeNodeは使わずにSKSpriteNodeで代替することに。<br />
あまりに悩みすぎて「Shape」と名の付くクラスを使うのに戦々恐々としましたが、CALayerは問題ない様子。そりゃそうだ。<br />
<br />
結局解決していない上に確定情報がなにもないというグダグダな記事ですみません。<br />
<br />
「俺、原因知ってるZE!」<br />
「それはお前が悪いだけだ」<br />
「調べ方が足りないだけで解決策が既出」<br />
など、ご指摘あればコメントいただけると幸いです。<br />
<div>
<br /></div>
soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-88684048757185050342014-01-07T18:48:00.001+09:002014-07-17T23:56:30.216+09:00Multi Life Counter 2.0.2 アップデート<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnBvANOlhP-7xjw82ZQnlNhKbR80PCDAVtNLTwwv11bmTMcrYVnPol5uJoQMYBh7K9PvgxtyAHlTyggRbZ2wK94xIZ9fY107ZqqmQEuL8qfAi7Af1lXg5DNjs99D03x3mZTlqpp5Gm6Pc/s1600/MLC_icon128.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnBvANOlhP-7xjw82ZQnlNhKbR80PCDAVtNLTwwv11bmTMcrYVnPol5uJoQMYBh7K9PvgxtyAHlTyggRbZ2wK94xIZ9fY107ZqqmQEuL8qfAi7Af1lXg5DNjs99D03x3mZTlqpp5Gm6Pc/s1600/MLC_icon128.png" />
</a>
</div>
<div style="background-color: white; color: #333333; font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif; line-height: 20px;">
<br />
・トレーディングカードゲーム用ライフカウンター <br />
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能<br />
・カウンター履歴の参照と保存が可能<br />
<br />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="color: #6699cc; text-decoration: none;" target="_blank">[詳細はこちら]</a></div>
<br />
<a href="https://itunes.apple.com/jp/app/maruchiraifukaunta/id705932212?mt=8&uo=4" style="background-image: url(http://development-linkmaker.itunes.awcloud.net//htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.svg); background: url(http://development-linkmaker.itunes.awcloud.net//htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.png) no-repeat; display: inline-block; height: 40px; overflow: hidden; width: 135px;" target="itunes_store"></a>
<br />
<div style="background-color: white; color: #333333; font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif; line-height: 20px;">
<br />
<br />
以下の修正を行いました<br />
<br />
・設定画面で一部コンポーネントのアニメーションが不自然だった問題を修正しました<br />
<br />
以上<br />
<br />
ダウンロードして頂いた方、本当に有難うございます。<br />
<br />
割りと小さな内容のため、本来であれば前回のアップデート内容と同時に申請したかったのですが、今回はコードの修正と同時にiAdの設定変更も行ったため、審査が長引いた場合に誤字が表示され続けるのがあまりに恥ずかしかったため前回のアップデートを緊急で先出ししました。<br />
<br />
今までだとアップデートを申請した場合、状態が In Reviewになってから大体数時間程度でReady for saleになることが多かったのですが、案の定、今回はIn Reviewから3日程度かかっていました。<br />
有難いことに ver 2.0.0 のアプデート以降ダウンロード数が増加しており、思ったより多くの方々に醜態を晒すことになっていたようで、分けて正解でした(汗)<br />
<br />
しかもver 1.xの頃よりアップデート数の割合も大幅に増えており、実際に使って頂いている方が増えたのかな?と妄想してみたり。偶然かもしれませんが。<br />
重ね重ね、ありがとうございます。<br />
<br /></div>
soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-74050952293863126502013-12-31T20:16:00.002+09:002014-07-17T23:56:30.213+09:00Multi Life Counter 2.0.1 アップデート<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQuUCnw8YGMPb4KAC6q3sI-7FYkuKkvpQOMhR7IrcxpV5e6x6IFipyDGhmuMnUVNpuEkFqKVRXio1mAektxX-YVDJBuEWX98NtGQcM7eAYqZtjSNqJFs-Rg6uBHiv49q_GCKqIU2KDD6c/s1600/MLC_icon128.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQuUCnw8YGMPb4KAC6q3sI-7FYkuKkvpQOMhR7IrcxpV5e6x6IFipyDGhmuMnUVNpuEkFqKVRXio1mAektxX-YVDJBuEWX98NtGQcM7eAYqZtjSNqJFs-Rg6uBHiv49q_GCKqIU2KDD6c/s1600/MLC_icon128.png" /></a></div>
<br />
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
Multi LifeCounter / マルチライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・トレーディングカードゲーム用ライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・カウンター履歴の参照と保存が可能</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="color: #6699cc; text-decoration: none;" target="_blank">[詳細はこちら]</a></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<a href="https://itunes.apple.com/jp/app/maruchiraifukaunta/id705932212?mt=8&uo=4" style="background-image: url(http://development-linkmaker.itunes.awcloud.net//htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.svg); background: url(http://development-linkmaker.itunes.awcloud.net//htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.png) no-repeat; display: inline-block; height: 40px; overflow: hidden; width: 135px;" target="itunes_store"></a><br />
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br />
以下の修正を行いました。<br />
<br />
・日本語版にて一部誤字を修正<br />
<br />
以上<br />
<br />
誤字に気がついた時には時既にReady for sale。<br />
すごく焦りました(汗)<br />
大変失礼致しました。<br />
<br /></div>
soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-33858657524612542932013-12-25T17:47:00.002+09:002015-10-13T23:11:53.885+09:00Multi Life Counter 2.0.0 アップデート<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQuUCnw8YGMPb4KAC6q3sI-7FYkuKkvpQOMhR7IrcxpV5e6x6IFipyDGhmuMnUVNpuEkFqKVRXio1mAektxX-YVDJBuEWX98NtGQcM7eAYqZtjSNqJFs-Rg6uBHiv49q_GCKqIU2KDD6c/s1600/MLC_icon128.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQuUCnw8YGMPb4KAC6q3sI-7FYkuKkvpQOMhR7IrcxpV5e6x6IFipyDGhmuMnUVNpuEkFqKVRXio1mAektxX-YVDJBuEWX98NtGQcM7eAYqZtjSNqJFs-Rg6uBHiv49q_GCKqIU2KDD6c/s1600/MLC_icon128.png" /></a></div>
<br />
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
Multi LifeCounter / マルチライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・トレーディングカードゲーム用ライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・カウンター履歴の参照と保存が可能</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="color: #6699cc; text-decoration: none;" target="_blank">[詳細はこちら]</a></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<a href="https://itunes.apple.com/jp/app/maruchiraifukaunta/id705932212?mt=8&uo=4" style="background-image: url(http://development-linkmaker.itunes.awcloud.net//htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.svg); background: url(http://development-linkmaker.itunes.awcloud.net//htmlResources/assets/ja_jp//images/web/linkmaker/badge_appstore-lrg.png) no-repeat; display: inline-block; height: 40px; overflow: hidden; width: 135px;" target="itunes_store"></a><br />
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br />
以下の修正を行いました。</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white;">
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">・デザインを変更しました</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">・カウンター画面の操作方法を変更しました</span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">・カウンター画面から履歴が確認できるようになりました</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">・対戦ごとの履歴を保存できるようになりました</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">・カウンター画面を除く一部画面に広告が表示されます</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">・一人分のカウンターのみ表示する画面を廃止しました</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">以上</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">ダウンロードいただいている方、本当に有難うございます。</span></span><br />
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">不具合やご意見がありましたらアプリ詳細ページ等でコメントして頂ければと思います。</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 15px; line-height: 20px;">以前からアップデート分でも告知させて頂いた通り、大幅な修正を行いました。</span></span></div>
<div>
<br /></div>
<div>
・デザインの変更</div>
<div>
iOS7に合わせてフラットなデザインに変更しました。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9QmzUMmrRVZXgF5sdzYj55ixwPZ3cH2WVNHsRUhOlISiXbM401QiwhHO7Rlg4kvHg1RIbM4HJmdj2OBdx1LS2AozuRo8CKVAmLpq20_J3HYAKqhioscuymckAyum22SxjGwIZmeJpnp4/s1600/MLC200SS_40-0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9QmzUMmrRVZXgF5sdzYj55ixwPZ3cH2WVNHsRUhOlISiXbM401QiwhHO7Rlg4kvHg1RIbM4HJmdj2OBdx1LS2AozuRo8CKVAmLpq20_J3HYAKqhioscuymckAyum22SxjGwIZmeJpnp4/s320/MLC200SS_40-0.png" width="180" /></a></div>
<div style="text-align: center;">
トップ画面も変更しました。</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
・<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">一人分のカウンターのみ表示する画面の廃止</span></div>
<div style="text-align: left;">
<span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">デザイン画面デザインと入力方法の変更に伴い、必要性が感じられなくなったため、以前のバージョンであった「一人分のカウンターのみを表示する画面」は廃止しました。</span></div>
</div>
<div>
<br /></div>
<div>
・入力方法の変更</div>
<div>
カウンターの画面で数字を減らしたり増やしたりする操作方法を変更しました。</div>
<div>
今までは</div>
<div>
「表示されている画面から入力用の画面へ移動してから変更、確定、戻る」</div>
<div>
という流れでしたが、カウンターの画面から直接数値の変更ができるようになりました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQPQDAIFplnQHTUczydQnFVsPubA8qWhktLzaYxA9YJJEx3TfiF7I6az0FE9b3Q3qYHK7LYOCyb6F8ecimDjBFPn8NKS06rcW9YkZkfz-nb5EVj6sJCQYr8Hpi1UsmHxDa_CiIh9L1ess/s1600/SS1f.png" imageanchor="1"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQPQDAIFplnQHTUczydQnFVsPubA8qWhktLzaYxA9YJJEx3TfiF7I6az0FE9b3Q3qYHK7LYOCyb6F8ecimDjBFPn8NKS06rcW9YkZkfz-nb5EVj6sJCQYr8Hpi1UsmHxDa_CiIh9L1ess/s320/SS1f.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
カウンターの画面で</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3YbdEr2WEfkZGwVLpdJZA4u-PqbuusvUXDf_Q7Xopke8EXL9Mfc5dGEHIUkqI4R4III-zRwR4j5kTh9wETEvb9A0WecycGj-9DCLZK7-2uy3hkFrIyrET_AoHTdchJHwXE5GDUdLz178/s1600/SS2f.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3YbdEr2WEfkZGwVLpdJZA4u-PqbuusvUXDf_Q7Xopke8EXL9Mfc5dGEHIUkqI4R4III-zRwR4j5kTh9wETEvb9A0WecycGj-9DCLZK7-2uy3hkFrIyrET_AoHTdchJHwXE5GDUdLz178/s320/SS2f.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
ライフ(変更したいカウンター)をタップするとボタンがでます。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk6SUu-jzVqDuIhkg7inTJyluUCNuRdIE1y29C35VoddhGk9HPpaNjWzB-gGD1yq3KrxajekYdtTK9uyh2xMZ0MDgQix2W-4XprKy4Egv3rPhZgP3Q1NCpBbWY2wQIOwfHito1TBxREpQ/s1600/SS3f.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk6SUu-jzVqDuIhkg7inTJyluUCNuRdIE1y29C35VoddhGk9HPpaNjWzB-gGD1yq3KrxajekYdtTK9uyh2xMZ0MDgQix2W-4XprKy4Egv3rPhZgP3Q1NCpBbWY2wQIOwfHito1TBxREpQ/s320/SS3f.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
減らしたり増やしたりして、</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf0o6DIx1m_ylUa0cNMkNjC9hfc3zIN3FYEzkFV4dmAYwAk_jEy5U5pgTuFXkiSkaK4DvIoQn2f7pv6zYkqlULTSv5EpbFr9ZttDjF53p3nG3ACufbhjvaDognybDVZXXtqI06qZ_qBD4/s1600/SS4f.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf0o6DIx1m_ylUa0cNMkNjC9hfc3zIN3FYEzkFV4dmAYwAk_jEy5U5pgTuFXkiSkaK4DvIoQn2f7pv6zYkqlULTSv5EpbFr9ZttDjF53p3nG3ACufbhjvaDognybDVZXXtqI06qZ_qBD4/s320/SS4f.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
もう一回ライフをタップすると戻ります。</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
どうでしょうか。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhajYMFhHESvUPFecDGmndICLhqfINweE4iDoFg4ufHup_GsI66xIHmMPT2YYyYlwn7lvaPpAwLb0waTV6ZP71v99uLolPGaGDsHMm4SKYdKiOGk5D_qHiI1Ts2ZftbnWAgd4cHbbKJjaQ/s1600/SS5f.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhajYMFhHESvUPFecDGmndICLhqfINweE4iDoFg4ufHup_GsI66xIHmMPT2YYyYlwn7lvaPpAwLb0waTV6ZP71v99uLolPGaGDsHMm4SKYdKiOGk5D_qHiI1Ts2ZftbnWAgd4cHbbKJjaQ/s320/SS5f.png" width="320" /></a></div>
<div style="text-align: center;">
桁数が多いとこんな感じ。</div>
</div>
<div>
<br />
以前のバージョンで課題だった<br />
<br />
- -1 / -5 ボタンで楽に入力したい<br />
- 画面にたくさんのボタンを配置するスペースがない<br />
- ゲームに必要な桁数を自由に設定したい<br />
<br /></div>
<div>
を解決しようとした結果、こんなふうしてみました。<br />
この仕様は他の作者様の「最初から画面に -1 / -5 ボタンが出ている」カウンターに比べると「ボタンを出す/消す」操作が多いですが、逆にこの<br />
<br />
「ボタンを消す」<br />
<br />
ときにカウンターの履歴を更新しているため、ログを確認する機能を付けることができました。<br />
<br />
・ログの参照、保存機能の追加<br />
カウンター画面で中央上部のログボタンを押すことで、その時点までのカウンターの履歴を確認することが出来ます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3mGwGCm9WOARWvltwhFJMZm-BOu2ccxzkk8WIRSk_OasWaI2V2LknYXc1FPS00UC9SdxgW6N3D6wtOHGpPAacJT4ZAfY3C6nzhfkSdBELKcBBHoWEa4q_SfPngIp1A12fNNW8DTSe1Q/s1600/SS6-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3mGwGCm9WOARWvltwhFJMZm-BOu2ccxzkk8WIRSk_OasWaI2V2LknYXc1FPS00UC9SdxgW6N3D6wtOHGpPAacJT4ZAfY3C6nzhfkSdBELKcBBHoWEa4q_SfPngIp1A12fNNW8DTSe1Q/s320/SS6-1.png" width="320" /></a></div>
<div style="text-align: center;">
これを押すと、</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCGGKCp7v3Cfa_akhocZRZCrCFWwTcdd8Ps1KYksl0izch_bXuKEOSLXqwITS7vTWcn8OfgUgKAXIfFXt8dY8l0WGmUe8V6DOduKq3w6TGMQw9F5en8WD1NULF1kQMXKMqm30Gmz1Iwc/s1600/SS6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCGGKCp7v3Cfa_akhocZRZCrCFWwTcdd8Ps1KYksl0izch_bXuKEOSLXqwITS7vTWcn8OfgUgKAXIfFXt8dY8l0WGmUe8V6DOduKq3w6TGMQw9F5en8WD1NULF1kQMXKMqm30Gmz1Iwc/s320/SS6.png" width="320" /></a></div>
<div style="text-align: center;">
下から ニュっとログが出ます。</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
リセットボタンを押すか、リセットせずにトップ画面に戻ろうとすると保存するか聞かれるので「保存する」を選べばそのゲームのログが保存が出来ます。</div>
<div style="text-align: left;">
保存されたログはトップ画面の「保存ログ」から確認ができます。<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw2a7LlRoMOpHa5G2PLB46JpqdviZgP6Cjt7x5Iw2C9NAIl0tFKfW1qpjuDmsg1XQ8-oel1zr3fm2OrDhHZQ9q-TuXNK4cPdZISqIJzH3JOpMSqALv5EfjsHBqunTNCOrf0V4VTwIjx5I/s1600/SS7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw2a7LlRoMOpHa5G2PLB46JpqdviZgP6Cjt7x5Iw2C9NAIl0tFKfW1qpjuDmsg1XQ8-oel1zr3fm2OrDhHZQ9q-TuXNK4cPdZISqIJzH3JOpMSqALv5EfjsHBqunTNCOrf0V4VTwIjx5I/s320/SS7.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOSAKoFGNKJGOswdW76fl76li-59xWxWgz4Tr5PafTkzzvdpVTfe9lZZa71rCN9VUEto0TuV5WlpV5fWoBdbiGAYsaXGlwi5c-k5W99ebA9UA2O-hxSYyIl5Z7y5GekDutCFrrBrjMv6c/s1600/SS8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOSAKoFGNKJGOswdW76fl76li-59xWxWgz4Tr5PafTkzzvdpVTfe9lZZa71rCN9VUEto0TuV5WlpV5fWoBdbiGAYsaXGlwi5c-k5W99ebA9UA2O-hxSYyIl5Z7y5GekDutCFrrBrjMv6c/s320/SS8.png" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
一覧画面では名前の変更、削除ができます。</div>
<div class="separator" style="clear: both; text-align: left;">
・iAdについて</div>
<div class="separator" style="clear: both; text-align: left;">
今回から一部画面に広告が表示されるようになりました。</div>
<div class="separator" style="clear: both; text-align: left;">
ご理解、ご協力を頂ければ幸いです。</div>
<div class="separator" style="clear: both; text-align: left;">
とかいいつつ、iAdだけだとそもそもあまり表示されない・・・?</div>
<div class="separator" style="clear: both; text-align: left;">
iAdを表示させるためにUITableViewControllerをUIViewControllerで実装しようとした上でUITableViewCellにテキストフィールド仕込んだら割りと死にそうになった話とかはまた別で記事にするでしょう。</div>
<div class="separator" style="clear: both; text-align: left;">
調べてもすぐにヒットしなかったので備忘録的に。</div>
<div style="text-align: center;">
<br /></div>
</div>
</div>
soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-65814574148367569352013-11-24T11:08:00.001+09:002014-07-17T23:56:30.210+09:00Multi Life Counter 1.0.2 アップデート<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="clear: left; color: #6699cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZAhUzrKBr7Vea53oqUSJonXgtN6iRi3qoBcnovs2sz1VLhX9PT7wYVkkLzkO5Icvu0tXvyblis6iSF3BsD6DBV1uZlOJYnsEwpIrX1caSjlEX9E2K-wocqXYMZVWly27UihPep_v3LrU/s1600/MLC_Icon.png" style="border: none; position: relative;" /></a></div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
Multi LifeCounter / マルチライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・トレーディングカードゲーム用ライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能</div>
<br style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;" />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="background-color: white; color: #6699cc; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px; text-decoration: none;" target="_blank">[詳細はこちら]</a><br />
<br />
<br />
<br />
以下の問題を修正しました。<br />
機能の変更、追加はありません。<br />
<br />
・設定画面でサポート範囲外の値が入力された場合の処理が不適切だった問題を修正<br />
<br />
以上<br />
<br />
ダウンロード頂いている方、ありがとうございます。<br />
<br />
バグというほどではないのですが内部処理がよろしくなかった部分を修正しました。<br />
また、アップデートの文章でもお知らせさせて頂いていますが、次回のアップデートでデザインを大きく変更するする予定です。<br />
<br />
・iOS7に合わせたフラットデザイン化<br />
・入力の簡素化<br />
<br />
を行う予定で、デザインの変更についてはiOS7に寄せたデザインに変更する予定です。<br />
また、最近Storeのレビューで<br />
<br />
「タップすると1ずつ減るようにして欲しかった」<br />
<br />
とのご意見をを頂きました。<br />
レビューを書いて頂いた方、本当に有難うございます。<br />
このご意見、至極ごもっともで、開発中もとても悩んだんです。<br />
<br />
例えばMagic: the Gatheringのようなライフの大きくないゲームの場合、<br />
・ライフの表示もしくは同一画面の中の+1/+5とかのボタンをクリックで増減<br />
にすれば<br />
・画面遷移を伴わないので操作が煩わしくない<br />
・分かりやすい<br />
・見やすい<br />
と、いいところだらけです。<br />
実際、他のアプリを見てみてもそのような操作になっているカウンターが多いですね。<br />
<br />
今回、敢えてそうしなかったのは<br />
「ライフ桁数が大きいゲームにも対応したものを作りたかったから」<br />
です。<br />
乱暴な例えをすると初期ライフ8000のゲームで2000ダメージを食らった場合、2000回押すのかという問題。<br />
「+5」ボタン作っても400回。<br />
他のアプリの中には「+100」「+500」「+1000」「+5000」…<br />
と、たくさんボタンを作られている方もいらしゃいました。<br />
ただ、ボタンを増やすと画面スペースが足りなくなるわけです。<br />
各コンポーネントの表示も小さくせざるを得なくなりますし。<br />
<br />
この問題に際して「UIPickerViewを使ったらいいんじゃね?」という着想から作り始めたのが今回のアプリだったわけです。<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinOwMcDr9zlJ9bUMLEdNUCVzYWM5jCmwJQ8QPjeI8TiNahwlmKfgn93WC34MeGStq_f7OL7aH43eqp_MNrfMpqo3JzClPF9uo3SqYJMYCigJQ573fMdAiL6kSPgnRyNboqpFPYhRfSDJw/s1600/picker.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinOwMcDr9zlJ9bUMLEdNUCVzYWM5jCmwJQ8QPjeI8TiNahwlmKfgn93WC34MeGStq_f7OL7aH43eqp_MNrfMpqo3JzClPF9uo3SqYJMYCigJQ573fMdAiL6kSPgnRyNboqpFPYhRfSDJw/s320/picker.png" height="213" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">UIPickerView iOS7 / iOS6</td></tr>
</tbody></table>
桁ごとに手動で回しちゃえば問題を解決できるんじゃないかと。<br />
が、実際に使ったり周りで使ってみてもらったりするとやっぱり使いづらい部分が浮き彫りになってきました。<br />
特に<br />
・操作が煩雑、手順が多い<br />
ということ。<br />
手動で回すほかに、ダメージ値を直接入力できるようにもしたせいで専用の入力画面への遷移が発生し、入力から完了までの手順がやたら多く、かつ解りづらくなってしまいました。<br />
<br />
というわけで、この点を解消するべくデザインと操作の変更を進めています。<br />
画面遷移を伴わずに入力できるようにし、手順を減らし、かつ画面もごちゃごちゃしないようになる予定です。<br />
1人表示の画面も大幅に変更予定。<br />
<br />
使用感に対してご意見、ご要望あればコメントいただけると嬉しいです。<br />
また、今後の改善や機能追加の方向性を見定めるために<br />
「どのTCGで使おうとしてダウンロードして頂いたのか」<br />
などのコメントも頂ければ有難いです。<br />
<br />
そして更新の文面で告知させて頂いているもう一点。<br />
iAdの勉強も兼ねて広告の挿入をさせて頂く予定です。<br />
当然、対戦中に影響のないように、カウンター画面以外に表示させて頂くつもりです。<br />
ご理解頂ければ幸いです。soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-22162292165020502412013-11-04T10:42:00.000+09:002014-07-17T23:56:30.195+09:00感謝、1000ダウンロード。完全に趣味でリリースさせて頂いた<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;"><a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" target="_blank">Multi Life Counter</a>。</span></span><br />
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="clear: left; color: #6699cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZAhUzrKBr7Vea53oqUSJonXgtN6iRi3qoBcnovs2sz1VLhX9PT7wYVkkLzkO5Icvu0tXvyblis6iSF3BsD6DBV1uZlOJYnsEwpIrX1caSjlEX9E2K-wocqXYMZVWly27UihPep_v3LrU/s1600/MLC_Icon.png" style="border: none; position: relative;" /></a></div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
Multi LifeCounter / マルチライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・トレーディングカードゲーム用ライフカウンター</div>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能</div>
<br />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" style="background-color: white; color: #6699cc; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px; text-decoration: none;" target="_blank">[詳細はこちら]</a><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;"><br /></span></span>
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;"><br /></span></span>
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;"><br /></span></span>
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;">リリースから一ヶ月あまり。</span></span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;">10月29日の時点で1000ダウンロードを超えました。</span></span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;">ダウンロードしていただいた方、本当に有難うございます。</span></span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;"><br /></span></span>
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;">ほかのアプリに比べれば大したこと無い数だと思いますが、</span></span><span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 16px;">全くダウンロードされないことを覚悟していたので</span><span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 16px;">完全に予想外です。</span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 16px;">日本のみならず海外からも多数のダウンロードをして頂いています。</span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;">やってよかったローカライズ。</span></span><br />
<br />
ローカライズといえば、<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 16px;">日本語UIがなんだか不格好に見えてしまう気がするのが何とかしたいのですが、どうしたものか。</span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 16px;">しかもiOS7でコンポーネントがフラットデザインになり、特にボタンがボーダーレスになったことで日本語フォントでの表示によりいっそう気を使わなければならなくなった気がします。</span><br />
<span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="line-height: 16px;">理想を言えばアイコンだけですべての機能が分かってもらえるといいのですが、なかなかそうもいかず。。。</span></span><br />
この辺りはアプリ自体のフラットデザイン化とあわせて検討したいと思います。<br />
<br />
というわけで、これからもUIや機能の調整など、改善できそうな点は手を入れていくつもりです。<br />
改善要望や不具合の発覚など、お気づきの点があれば当ブログのアプリのページのコメント欄よりご連絡頂ければと思います。<br />
こんなアプリでも使って頂ける奇特な方がいらっしゃればお付き合い願えれば幸いです。<br />
<br />soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-54366892959172436062013-09-27T15:59:00.000+09:002014-07-17T23:56:30.204+09:00Multi Life Counter 1.0.1 アップデート公開間もないですが修正版のリリースです。<br />
機能の追加はありません。
<br />
以下の問題を修正しました。<br />
<br />
・入力画面の直接入力ピッカーの位置がiOS6以下の端末でずれる場合がある問題を修正<br />
<br />
以上<br />
<br />
<br />
2人用表示の横画面から入力用の縦画面に遷移した際に<br />
内部的には画面の向きが横向きのままで、<br />
<pre class="brush:objc">[UIScreen mainScreen].applicationFrame.size.height
</pre>
の値がステータスバー分減算されてなかったのが問題だった。<br />
端末の向きに依らずステータスバーの高さを取得できる処理に修正。<br />
iOS7での仕様変更に起因する問題かと思ったら全然そんなことはない初歩的なミスだった。<br />
<br />
本を正せばiOS7でのステータスバーの扱いが変わったせいで分岐処理してる中のコードなので関係あるっちゃあるんだけど。<br />
<br />
分岐させる原因、コンポーネントを親ビューに配置した際の座標がiOS6以下とiOS7でステータスバーの20pixel分違うのが地味にいやらしいし、面倒くさいし、解りづらい。
<br />
<pre class="brush:objc">wantsFullScreenLayout = YES;
</pre>
にしても変化しないし。iOS7では非推奨ですしおすし。<br />
きれいに処理する方法無いのだろうか・・・?<br />
もう一度ドキュメント読んでみよう。soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0tag:blogger.com,1999:blog-3599547771042097599.post-18807801730209632172013-09-26T00:31:00.001+09:002014-07-17T23:56:30.192+09:00カードゲーム用ライフカウンター for iOS リリース<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://a%20very%20simple%20life%20counter%20for%20collectible%20card%20game.%20it%27s%20useful%20to%20various%20amount%20of%20life%20in%20game./" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZAhUzrKBr7Vea53oqUSJonXgtN6iRi3qoBcnovs2sz1VLhX9PT7wYVkkLzkO5Icvu0tXvyblis6iSF3BsD6DBV1uZlOJYnsEwpIrX1caSjlEX9E2K-wocqXYMZVWly27UihPep_v3LrU/s1600/MLC_Icon.png" /></a></div>
<br />
Multi Life Counter / マルチラウフカウンター<br />
<br />
<div>
・トレーディングカードゲーム用ライフカウンター</div>
<div>
・2桁から5桁までの表示/入力に対応し、<br />
様々なTCGで使用可能</div>
<br />
<a href="http://soboro-lab.blogspot.jp/p/tcg-lifecounter.html" target="_blank">[詳細はこちら]</a><br />
<br />
<br />
<br />
自分用に作っていたものをせっかくなので手直ししてリリースしてみました。<br />
カウンターが最大5桁までの直接入力に対応しているので、ライフの桁数が多いTCGでも使えます。<br />
詳細やスクリーンショットはリンク先のページで。<br />
<br />
英語→日本語の順でUIを作ったらボタンや説明の日本語がなんだか機械翻訳のような雰囲気になってしまいましたが、分かりやすさ優先であえてこのようにしました。<br />
一見して機能が分かってもらえるUIを作るのって難しいですね・・・。<br />
不格好にならないように片仮名やアルファベットを使うと機能が判りづらくなるジレンマ。<br />
しかも時期がiOS7と被ってUIの整合性で悩んだり。<br />
どうしようか考えましたが、iOSは5.1から対応させました。<br />
<br />
万が一にでも使って頂けた方がいらっしゃれば、フィードバックがあれば可能な限り修正したいと思います。(詳細ページの下のコメントからお願いします)<br />
<br />
<br />soborohttp://www.blogger.com/profile/01766172111670904149noreply@blogger.com0