ラベル iOS の投稿を表示しています。 すべての投稿を表示
ラベル iOS の投稿を表示しています。 すべての投稿を表示

2016年8月2日火曜日

Apache Cordovaを利用したiOSアプリでCustome URL Scheme呼び出しでhandleOpenURLが呼び出されないエラーの対処法

タイトルが長くなってしまった。

そして、久しぶりにブログを書きます。
どういうキャラで書いていたのかも忘れるくらい。

久しぶりなので前置きが長くなるのは許してください^^;;

ちょっとCordovaとの出会いについて。。。
ハイブリッドアプリのいうワードの加熱期をすぎ、騒がれなくなりましたね。
既存のウェブ技術でモバイルアプリが開発できるのでウェブのフロントエンドデベロッパーにはもってこいの技術。
さらにオンライン上で開発ができるMonacaっていうサービスもあるし簡単に始められる。

私が仕事でハイブリッドアプリを作り始めたのは2014年ごろ、やはりMonacaでした。開発に参加した当初はMonaca上で開発していました。
しかし、無料アカウントだと色々と制限があったので、Cordovaに全て移行することになって現在まで来てると。

本題に入ります。
なぜ、ブログを書くのかというと久々に3、4時間くらいハマった問題(タイトルの通り)があったからメモしないとまたいつかはまるかもしれないので。

◆環境
・Macbook Pro 15 2015late
・Mac OS X 10.11.6
・実行環境:iPad Pro 9.7 iOS 9.3.3
・Xcode 7.3.1
・Cordova 6.3.0
・bower 1.7.9(これは使わないけど一応)
・Atomエディタ
・リソース管理やビルド作業にはshell scriptとgruntを使ってます

2015年12月15日火曜日

Cordovaのプロジェクトにcordova-plugin-wkwebview-engineでつまづいた

開発に携わっている既存のCordovaプロジェクトで、
iOSでのパフォーマンスアップさせるためにUIWebViewの代わりにWKWebViewの導入を検討してるとこ。

とりあえず試してみるべと、
安易にプラグインをインストールしていくとアプリが起動中でプリーズする。
ログを見てみると、file://プロトコルで読み込もうとしている部分がすべてこけてる。

なんで?

ググってみると案の定WKWebViewでfile://でこけてる人がたくさんいた。
リンクは割愛するので「wkwebview file protocol」でググってみてください。

特定のディレクトリでしかfile://は動かないと。。。

現在の状態だとアプリバンドル内のwwwというディレクトリにすべてコピーされ、
file://で読み出そうとしている状態。

特定のディレクトリでfile://が動作するならば、
そもそもリソースのアップロード先を変更すれば解決できるそうだ!
これから検証していくけど、険しい道のりになるかもしれない。

2015年10月21日水曜日

kAudioFormatAppleLosslessの型が変わったみたい

勉強がてらSwiftでアプリ開発してる時の話。
AVAudioRecorderで録音をしたいと思い初期化のサンプルを探した。

辞書型で設定を渡すと書いてあったが、
Xcode7.0.1ではエラーが出てしまう。
SOFによると原因は赤字の部分のようだ。
※参考(http://stackoverflow.com/questions/32509565/how-to-resolve-type-of-expression-is-ambiguous-without-more-context-for-an-audio)
var recordSettings = [
            AVFormatIDKey: kAudioFormatAppleLossless,
            AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue,
            AVEncoderBitRateKey : 320000,
            AVNumberOfChannelsKey: 2,
            AVSampleRateKey : 44100.0

        ]

kAudioFormatAppleLosslessがIntからInt32/UInt32になったそうです。
Int32はNSNumberにブリッジされるために起きていました。

以下のようにIntにすればエラーは無くなります。
var recordSettings = [
            AVFormatIDKey: Int(kAudioFormatAppleLossless),
            AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue,
            AVEncoderBitRateKey : 320000,
            AVNumberOfChannelsKey: 2,
            AVSampleRateKey : 44100.0

        ]

細かい変更で出回っているサンプルが動かないことは他にもありそう。
学習コストはまだまだかかりそうだ。

2014年12月18日木曜日

iOSアプリの64bit対応義務化

アップルからデベロッパー向けにメールが来ました!
2015/2/1からは64bit対応必須、iOS8でビルドするようにと。

ほとんどはビルドオプションを変更すればいいけど、32bitで作ってる部分は修正が必要そうだ。

今後のXcodeはデフォルトで64bitビルドになるのかな?

2014年6月11日水曜日

iOS8にアップデートしてみて

iOSのデベロッパーになってから3ヶ月。
iOS8にしてやろう!とOSファイルをダウンロード。

意気揚々とアップデートしたー!

再起動を繰り返すアイフォン。
対応してないアプリたちがクラッシュしていく。

LINEでさえクラッシュして使い物にならない。

まだまだ不安定なのでどうにかリカバリーモードでiOS7.1に復元。


快適!!!!