カテゴリー別アーカイブ: iPhone

[iOS][Objective-C]プロトコルを用いたコールバック関数実装

非同期通信を行なう部分をライブラリ化したいと思ったら,
通信完了後に呼び出すコールバック関数を実装するのをどうやるんだろうと疑問に思った.

下記を参考にやり方を把握した.(他にも適切な方法があるかもしれない)
http://d.hatena.ne.jp/sugyan/20091213/1260708978

プロトコル(JavaのInterface)を利用して実装することができる.

キーになるのは下記だと思う.
(1)コールバック関数として,登録したい関数をプロトコルで宣言する.
(2)Delegateで呼び出し側のクラスのポインタ(self)をライブラリ側に渡す.
(3)ライブラリ側は(2)で得たDelegateのポインタを利用して(1)の関数を呼び出す

一般的なライブラリではdelegateを指定することが多いが,
その理由も上記内容を理解すれば納得できると思う.

iPhone4Sのフロントパネル修復

iPhone4Sのフロントパネル交換を行ないました.

飲み会で飲み過ぎた後に,うっかりiPhoneを落としてしまい,フロントパネルを割ってしまったためです.

こちらが,割れたパネルです・・・なんとも無惨です.

2013-06-16 12.07.16-1

準備するもの

まず,割れたパネルを修理するために,下記を用意しました.

iPhone 4S タッチパネル(フロントガラスデジタイザ) 液晶パネルセット/ホワイト

iPhone5/iPhone4/4S対応! iPhoneメンテナンスツールキット「iPhone Tools」[iPhone 分解 修理 工具]

工具でネックになるのは,Appleの特殊な星形のドライバーが必要だということです.

交換するフロントパネルにもいろいろと選択肢があります.一番安全なのは,Appleの純正のパネルを用意することです.性能にこだわる方は,純正パネルがよいようです.ただし,費用は高くなります.

その他にも,互換製品として安いパネルや,スケルトン式のパネルなど,特徴あるパネルもいろいろなところで販売されています.

参考にしたサイト

修復に関する詳しい情報は,下記のようなサイトに載っています.

分解工房・iPhone4S/フロントパネル交換

【iPhone4S】 分解&修理手順 ~バッテリー、液晶、ホームボタン交換~

今回は,これらのサイトの手順に従って修復を行ないました.

修復

それでは早速,分解し,修復を行います.

まずは,iPhoneの底面のネジ2つをはずし,バックパネルをとります.

2013-06-22 22.24.45

バックパネルをスライドさせて外します.

次のようにはずれます.

2013-06-22 22.26.54 2013-06-22 22.27.01

左下のプレートのような物をはずします.

2013-06-22 22.34.14

バッテリをはずしましす.

両面テープでくっついているので,多少てこづります.

2013-06-22 22.35.59

メインメモリの左側にある,コネクタをはずします.

2013-06-22 22.41.31

次に,上部にあるカバーなどをどんどんをはずしていきます.

細かいねじがたくさんあるので注意が必要です.

2013-06-22 22.52.50

はずすと次のようになります.

2013-06-22 23.05.23

これでやっとメインボードがはずれます.

2013-06-22 23.12.29 2013-06-22 23.12.36

メインボードが外れると,だいぶ分解も進んだ印象をうけます.

バイブレータなどの,いくつかまだフロントパネルにくっついている部品を外していきます.

2013-06-22 23.22.23

フロントパネルをつけているネジを外して,ついに,とりだせます.

2013-06-22 23.45.42

上記の壊れたパネルを下の新しいパネルに入れ替えます.

今回を色を白にしてみました.裏表での色違いです.

2013-06-22 22.10.542013-06-22 22.10.38

あとは,逆順に結合していって完成です.

下記が復活iPhoneです.

2013-07-14 13.16.44 2013-07-14 13.16.51

表だけを白にすると,ホームボタンが黒くなるので,ちょっと違和感がありますね.

まあ,逆にユニークな感じになって良い気もするのでよしとします.

iPhone4SにEdyを内蔵

以前,iPhone4Sのフロントパネルが破損し,修理しました.

その時,Edyの基盤ぐらいなら,自分で取り付けることができるんじゃないかな?と思って調べたら,案の定すでにやっている人がたくさんいました.

Edyのストラップを分解して行う方法と,カードを分解して行う方法があるようですが,手軽なEdyストラップの方法を試しました.

用意する物はおもに,下記です.(必須ではないですが,ペンチなどもあった方が作業効率はあがると思います.).

まずはEdyストラップです.下記を購入しました.(無惨に分解してしまうのに,おしゃれなのがもったいない..)

2013-07-05 23.27.45

 

カッターなどで中身を取り出すと,次のようなプラスチック容器に基盤が格納されていました.

2013-07-06 00.02.32

このプラスチック容器も分解します.この分解が若干苦労しましたが,基盤をきづつけないようにペンチなどで慎重に分解します.

すると下記のように基盤だけがとりだせます.

2013-07-06 00.47.34

次に,干渉エラー防止シートの準備です.

干渉エラー防止シートはそのままでも使えますが,割と厚く,バックパネルを閉じる時にかなり無理矢理な感じになってしまうので,これも分解します.

干渉エラー防止シートの中に,銀色のシールのような物が含まれています.これが干渉シートの実体のようです.これを取り出します.

2013-07-24 01.54.21

次に,iPhoneのバックパネルを外して,基盤を取り付けます.

iPhoneの底面のねじ二つを外せば,バックパネルは外れます.

iPhone

あとは,iPhone本体の上に干渉エラー防止シート,Edy基盤,バックパネルの順に挟み込めば完了です.(干渉エラー防止シートは裏表があるようなので注意してください)

2013-07-18 00.36.16

ただ,一点理由はわかりませんが,Edy基盤を置く場所がiPhoneの中央だとうまくEdyが認識されませんでした.このため,今回はホームボタンの近くにおきました.(バックパネル側に銀色のシールのようなものが張られており,それが遮断してしまっているのかとも思ったのですが,無理にはがすのも微妙だったので,特に確認はしていません.)

バックパネルのふたを閉じて,Edyが認識されることが確認できれば完了です.