iPod Touchより一回り大きいだけの感じ。薄い。
iPhoneじゃなくてiPod Touchのよう。


※画面の明るさの違いはiPodTouchの方は輝度を落としてるだけなので大きさだけ比べて下さい
TouchID(指紋認証)もいいね。
AppleIDには長いパスワードをつけてるのでアプリのアップデートの時とかにいちいち長いパスワードを打つ必要がなくなるのは結構いい。
あと、WiFiが11a(5GHz)だとつながらない(電波ははいってて設定はできる)
11g(2.4GHz)はつながるのでとりあえずはいいけど、なんで?早く直して。(追記:8.02で直ってました)
さて、本来の目的のxcodeで開発済のopencvを使ったアプリを動かそうとすると、まず
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64,VALID_ARCHS=armv7)
とエラーが出てビルドできない
Valid Architectureにarmv64を追加して Build Active Architecture OnlyのDebugのとこをNoにしたらbuildは通った。
次はProvision Profileが無いといって動かない。
これは当然予想してたので、Provision Profileにデバイスを追加しようとしたら
前はxcodeのorganizerの中にあったと思ったけどDevicesが別メニューになってる?
そして”このデバイスを開発に使う”とかいうボタンがあったはずだけど見当たらない。
デバイスの追加なんて1年ぶりだから全然憶えてない。
仕方ないのでiOSdevcenterの方でデバイスを追加してMobileProvisionファイルをダウンロードしてxcodeのDevicesの右メニューのShow Provision Profileから"+"でダウンロードしたProfileを追加したら動くようにはなった。
けど、今度はAVCapturDeviceがやたらと遅くてカメラ画像を1画面表示するのに30秒以上かかる。ダメだこりゃ。
エラーが出るならまだ調べようもあるけど遅いだけで動くことは動くから厄介。何かの設定が悪いのだろうけど(かAppleのバグか)…→嘘でした、ごめんなさい
ということでAVCaptureDeviceを使ってるアプリはiPhone6だと全滅…
困ったもんだ…
と思ったらAVCaptureDeviceが遅いってわけでもないな…動くのは動く…opencvが悪いのか?調査は続く
結局、opencvがARM64 nativeで動いてないのが原因でした。
でも
ld: framework not found opencv2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
が消せずに苦戦…
→frameworkのファイル名をopencv2.frameworkからopencv2_9.frameworkに勝手にリネームしてたのと(ファイル名を変えたらだめなのね)ディレクトリのサーチパスに古いフレームワークを置いてたディレクトリが先になっててarm64対応してない古いframeworkを参照してたのが原因と判明。わかってしまえばなんでもないけど見つけるのは結構たいへん。
さて、buildは通るようになったけど異常に遅いのは直らず… うーん…
→ 結局自分のバグでした…
-(void)captureOutputの中に色々詰め込みすぎて重くなってました
dispatch_asyncで別スレッドにしたら解決
iPhone6対応は解像度対応が面倒なだけかと思ったらARM64対応の方がたいへん。
へたしたら自前のライブラリーとかframeworkを全部arm64対応にbuildし直さなきゃならない…
posted by one-hand-engineer at 10:01|
Comment(0)
|
TrackBack(0)
|
日記
|

|