開発手記140828

Guide.開発記

ガイドグリッド間隔の拡大率対応実装をする
DSC0220373.png


DSC0220374.png


ピンチによるUIScrollViewの拡大縮小は
Delegateメソッドの
- (void)scrollViewDidZoom:(UIScrollView*)scrollView
を実装した上で
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
にて拡大させたいUIViewをreturnする。

定規の表示更新はscrollViewDidZoom内でカスタムクラスをsetNeedsDisplayしている。

これで画像の拡大によって、グリッド間隔の更新が出来る
DSC0220373.png
DSC0220376.png

ちなみに、UIScrollViewを拡大縮小した時に中央揃えにするのは↓のサイトを参考にしています。(通常左上付きになる)
http://hmdt.jp/blog/?p=194


このままだと表示がぎちぎちになってしまうので、拡大率によって表示を分けなければいけない。


次回
画像の拡大率によってラベルの間隔、表示の更新を行う実装をします。
拡大率によって、グリッド間隔の調整も行います。



アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。

開発手記140827

Guide.開発記

定規のアルゴリズムを考えていきます。

先日作成したイメージラフがこちら
DSC0220367.png


イメージしている動作の元となっているものを詳しく観察してみます

良く見るPhoto○hopとか、W○rdとかExc○lとかのルーラーですね


・動作確認
DSC0220369.png
まだ単なる画像です。
拡大縮小に合わせて線の間隔も変更される。
拡大率によって、ラベルの内容と位置も変更される。


・実装方法
DSC0220370_2.png

定規の位置は画面端固定なので、画像ScrollViewとは別にScrollViewを配置します。
UIScrollViewのDelegateメソッド- (void)scrollViewDidScroll:(UIScrollView *)scrollViewにて、画像のスクロールに定規のスクロールを追従させる動作を実装します。

定規線は拡大率によって間隔が変更されるので、UIViewのカスタムクラスを作成してdrawRect内で線をひく事にします。
CGContextを使用して線をひいています。

UIView - iPhoneアプリ開発の虎の巻
http://iphone-tora.sakura.ne.jp/uiview.html

作成したカスタムクラスを定規のScrollViewに格納します。



・実装済み画像(シミュレータです)
DSC0220371.png
分かりやすく定規のラベルの背景色を変更しています。
青色とオレンジ色です。


画像をスクロールすると定規も追従します。
DSC0220372.png
まだ実装していないですが、0以下マイナス分も表示する様にします。



次回
ピンチによる拡大動作に対応させます。


アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。


テーマ : iPhoneアプリ
ジャンル : 携帯電話・PHS

開発手記140826

Guide.開発記

イメージラフを作成
DSC0220367.png

全体イメージを確立するために、初めに画像を作成する。
ラフと言っても、そのまま素材として使用できる様に、各パーツはちゃんと作る。
もちろん何かあれば適宜変更していく。

単なる画像なので、特に機構は実装していない。


全体イメージは出来たので、順次これらを実装していく。
とりあえずの大きな実装項目として

・ものさし表示
・ガイド付加情報管理方法の設定->ガイド付加実装

の二つ。

まずはものさし表示から実装していく事にする
DSC0220368.png


次回、ものさし表示の作成



アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。

テーマ : iPhoneアプリ
ジャンル : 携帯電話・PHS

開発手記140825

Guide. 開発記
新しいアプリケーションを作ります。

DSC0220363_20140825214934b65.png

画像に対して、ラインとポイントのガイドを付加出来るアプリです。
ガイド作成時に、自動で座標は付加すること。

注釈機能をどこまで作るか・・・。
また、今回初めてのUniversalアプリに挑戦してみたいです。

とりあえず、イメージラフから作成してみます。


開発手記140823

iPadアプリ Trace It!がリリースされました!
DSC0220366.png
とれすだい!〜お気に入りのキャラクターをトレースして練習!〜
appstore.png


iPadをトレース台として使えるアプリです!

ライブラリにある画像を位置調整してロックします。
トレースしやすい様に複数のエフェクトをかける事も出来ます。

少し部屋を暗くするとトレースしやすいかも?

絵を描いている方は、是非ご利用ください!


今回のアプリでUpload receivedからIn Reviewに入るまでの時間
7日と4時間

レビューにかかった時間
2時間

Upload後のDeveloper Rejectedは今回行っておりません。

いつもと違って、Ready for Sale(レビュー通過後のAppStore販売状態)になってから
実際にAppStoreに並ぶまで12時間程かかりました。(通常1時間もしないうちに並ぶ)

24H以内にAppStoreに表示されなかったら連絡入れてくれ、とAppleは言ってますが
何か不具合があったのかとヒヤヒヤしてしまいました・・・。

ともかく、無事リリースされました!
次は何を作ろうかな〜。

iPhone 5 スリープ/スリープ解除ボタン交換プログラムに持っていったら 本体無償新品交換された話

こんにちは!Airwire(えあわいやー)です!

普段は自身のiPhoneアプリ開発手記などを書いているのですが、今回初めてレポートを書いてみようと思います!

乱筆乱文あるとは思いますが、何卒ご容赦ください。

※注意!
この記事は、iPhone 5 スリープ/スリープ解除ボタン交換プログラムに持っていったら結果的に新品無償交換になったという一例であり
iPhone 5 スリープ/スリープ解除ボタン交換プログラムによるiPhone本体の無償交換を保証するものではございません。




さて、すこーし時期はずれの話になってしまうのですが


iPhone 5 スリープ/スリープ解除ボタン交換  プログラム


というプログラムがございます。

公式ページはこちら


今回これを受けにAppleStoreに行ってきたので
その話を書こうと思います。


このプログラムはiPhone5のスリープボタン周りの構造欠陥のため、無償で交換しますよーというお話。

要はリコールですね。



最初に言っておくと、自分のiPhone5は対象ロットでした(シリアル番号でわかる)

プログラム自体は今年(2014年)の5月2日に始まり、いつでも無償交換出来たのですが、自分は保留してました。

理由は、交換処理に4〜6日かかるという事と(一人暮らしの固定電話無し・・・)

特に自分のiPhone5のスリープボタンに問題は見られなかったためです。




・・・それに、もし無償で本体交換してくれるなら



地面に落として画面バッキバキのiPhone5をAppleStoreに持っていって



しれっと

「スリープボタンに問題があるらしいので無償で本体交換してください」


って言えばいいや。




もしiPhoneが壊れたら持っていこう。

ゲーム脳で言うところの


残機1機増えたな


程度にしか思ってなかったのです。

※AppleStoreは何かと問題があると新品のiPhoneをポン、とくれる印象が
自分の中であった





しかし、ちゃんと調べてみると

そんな浅ましい考えは通用しない事がわかってきます。


まず、交換プログラムはiPhoneまるごと交換ではなく、スリープボタンまわりのみの交換という事。

そして、交換ではなく修理であるという事(スリープボタン周りしか直してくれない)



以上2点から、特に旨味とかあるわけでは無い事と

そういえば最近スリープボタンの左端を押しても効かなくなってきた・・・

って事も合わせて

こりゃー早めに交換してもらった方がいいなー、と思い立ち




行ってきましたAppleStoreGINZA!

公式ページの準備すること(iPhoneバックアップ&初期化)を済ませて

iPhoneは工場出荷状態の完璧にまっさらな状態で、スムーズに処理に入れるようにしていざGINZAへ




・・・到着!


4F GeniusBarに行き

「すみません、iPhone5のスリープボタン交換プログラムをお願いしたいんですが・・・」

と、立ってる人に聞いてみた所


当日来訪者用GeniusBar待ちの列に並ばされる


リコール(=Appleの不手際によるサポート)なんだから、別ラインで処理してると思ってました

うーん、GeniusBarの予約が必要なら公式ページに書いておいてくれればいいのに・・・・


なんて心の中で文句を言いながら、明鏡止水の心で列に並びます。


iPhoneの画面が割れて駆け込んで来たであろう学生らしき人達に挟まれて

待つ事15分









結論から言うと、ダメでした。






「スリープボタン周りにがあるので、無償交換プログラムは受けられない」との事。










( ´゚д゚`)エー







え、って


参考写真
DSC0220364.png
これ・・・?




拡大図
DSC0220365.jpg
これ・・・?




たしかに、公式ページにも「画面のひび割れなどボタンの交換に支障をきたす損傷がある場合はそちらを先に修理する必要があります」って書いてあるけど・・・・





ともかく、この傷があるので交換プログラムは受けられないとの事




※ちなみに
「ここに傷がついてますね!これでは修理対象外です!」なんて横暴な対応ではなく
「あー…ちょっと…ここに傷がついてると経験上厳しいですね…」という非常に真摯な対応でした







で、



お話した方の提案としては

「iPhone購入1年以内でしたら、Apple製品保証が付いていますので、スリープボタン修理プログラムではなく通常の故障として技術係に相談してみたらどうか」

とのこと。


調べてもらった所、自分のiPhone5は購入から1年まであと7日(!)

ギリギリ製品保証期間内でした。


通常故障の相談にはGeniusBarの予約が必要なので
当日に予約を取ってもらい(2時間後でした)


2時間後に再来店後、スムーズに新品交換(!)してもらえました。



話を聞く限りは、iPhone 5 スリープ/スリープ解除ボタン交換プログラムのリペアセンターの修理基準も厳しくなっているみたいです・・・。

リペアセンターから修理出来ないと返されてしまうとジーニアスは困った様に言ってました。

多分、プログラム開始当初にボロボロのiPhone5一杯送られたんだろうな・・・と妄想してみます。




まとめると

・スリープボタン周りに傷が有ると交換プログラムは対象外(枠がひしゃげてなければOK?)

・「通常使用でスリープボタンが効かなくなった」という名目で、製品保証内(購入から1年)なら無償新品交換可能

・今スリープボタンが大丈夫でも、次第にダメになるから、シリアル番号調べて該当するならさっさと交換した方がいい

・可能ならGeniusBarは予約する(予約ページはこちら


自分のiPhone5がプログラムの対象かどうかはこちらの公式ページで調べる事ができます。




何はともあれ、これで自分のiPhone5は無料で新品交換されました!

今回修理を勧めてくれた担当者の方に感謝ですね!


iPhone6が出るかなーという時期に

2世代前のデバイスの話ですみません!


この記事が皆様のお役に立てば嬉しいです!




話は変わりますが、最近ゲームアプリをリリースしました。

私が全グラフィック作成してます。
可愛いカンジのドット絵かんたんRPGです!
完全無料で結構やり込めるゲームなので、良ければやってみてください〜

リンクは下の画像をクリックです
LevelGameAd.png


長文でしたが、最後まで読んで頂き、ありがとうございました!


テーマ : スマートフォンライフ
ジャンル : 携帯電話・PHS

開発手記140815

Trace It! 開発記

Large App Iconを作成
DSC0220362.png

勘違いしていたのだが、Large App Iconは国別に設定出来ない・・・
Iconにロゴを付けようと思っていたけれど、諦める事にする

DSC0220363.png
右下のロゴを削除
微妙にレイアウト空いてしまった・・・


・スクリーンショットを作成
DSC0220361.png
アプリ自体をローカライズしている国は各言語毎に作成してある

・AppStore説明文、検索ワードの設定
各言語に対応させた


以上完成!
1週間ほどしたらレビューに入ると思います!




開発手記140813

Trace It!

チュートリアルを作成+ローカライズ作業
DSC0220360_20140814021230001.png

海外の人たちをターゲットにしているので、なるべく他言語対応させたい。

今回対応したのは、いつものダウンロード国別集計から、iOSが盛り上がってそうな国を選んだ。

具体的には
・英語
・日本語
・ロシア語
・ポルトガル語
・スペイン語
・韓国語
・イタリア語
・フランス語
・ドイツ語
・トルコ語

に対応した。

アプリケーションはこれで完成!

残り作業
・AppStore文言
・AppStoreスクリーンショット
・AppStoreSEO

これらも各言語対応版を作成したい

開発手記140812

Trace It!

設定画面の実装
DSC0220360.png

UIToolBarを使って、背景をぼかした(Blur)ModalViewっぽくしている
実際にはモーダルビューは使用していない。

UIButton等はあらかじめAddSubViewしておいて、表示時に全て動かす。


設定項目自体は1項目しか無い。
起動時に輝度を最大にするかどうか、のみ。

アプリケーションで設定できない、マルチタスク用ジェスチャの切り替えをここで促す。
トレス作業における著作権上の注意も載せている。

のこり作業
・チュートリアル
・ローカライズ
・iTunesConnect関係

開発手記140811

Trace It!

エフェクトをかける際に、ドラッグに画像が追従するようにした

DSC0220357.png

タップとともに十字のボタンが表示されるので、ドラッグしたポイントでエフェクトがかかるとわかる


◆ハマったポイント
エフェクトをかける際にUIImageViewに新しい画像を指定しているのだが
画像が勝手に90度回転されて引き延ばして表示されてしまう。

なんこれ
DSC0220358.png

過去にカメラアプリを作成した時にも同じ様な状況があった
UIImageからCGImageを取り出した時に画像の上下情報が無くなるので、この様なことになる・・・と思っていたのだが・・・

過去に参考にしたURL
iPhoneカメラで撮影した画像のUIImageからCGImageを取り出すと90度傾く問題の解決法
http://blog.katty.in/105

今回は連続して使用するメソッド内での話なので
上記のdrawInRectで再度imageOrientationを指定する方法はメモリを食い過ぎる

しかも、今回は本体デバイスのorientationによって画像の方向が変わる
上記方法で解決しない



結論としては
エフェクトとして使用しているGPUImageのimageFromCurrentFramebufferから取得したUIImageが、回転情報を持っていない
UIImageのimageWithCGImageで上下の情報を指定することで解決。

// 取得した画像を回転情報を持たせてセットする
UIImage *resultImage = [UIImage imageWithCGImage:[contrastFilter imageFromCurrentFramebuffer].CGImage scale:1.0 orientation:UIImageOrientationUp];
[contrastImageView setImage:resultImage];



・アイコンを作成
DSC0220359.png

・画像のエフェクト関係の動作をFIX
  エフェクト毎に複数のUIImageViewを用意する事にした。
・メモリ関係の調整
・エフェクト動作のリファクタリング


残り作業
・チュートリアル
・設定画面




プロフィール

Airwire(えあわいやー)

Author:Airwire(えあわいやー)
 
iPhoneアプリ開発者です。
開発手記などを載せていこうと
思っています。

Feedback Recorder
(itun.es/i6Sw4dw)
累計40万ダウンロード達成!

作成したアプリケーションは画面右のリンクから

アプリの制作過程は左下のカテゴリでまとめて見られます。

リリース報告&要望、報告受付は
Twitterアカウント@Airwire_product
にて行っております。

連絡先
dev.airwire[@]gmail.com
@の横の[]を削除してください

Developer's Twitter
最新記事
月別アーカイブ
カテゴリ
作成したアプリの紹介
公開中のアプリ
検索フォーム
Airwire products. QRコード
iTunesのアーティストページが開きます
QR