2015年11月30日月曜日

アプリのレジューム検知

レジュームとは別のアプリなどを開いて一度バックに入ったアプリを再度開くことです。

ブラウザでは $window.addEventListener("focus",) のようにwindowを再フォーカスした場合にレジュームを検知できますが、cordovaではこのイベントは発行されないので以下のイベントで検知できます。

 document.addEventListener("resume",function(){},false);


2015年11月26日木曜日

プッシュ通知(記載中)


プッシュ通知用のプラグイン

  • phonegap-plugin-push
    • Android, iOS, Windows
    • 利用者が多そうです
    • phonegapと書かれているがcordova単体でも利用可
    • インストール手続きなし
  • cordova-plugin-push-notification
    • Android, iOS, Windows, Fire OS, Windows Phone
    • インストール手続き有り
  • GCMPushPlugin
    • Android, iOS
    • GCMを使ってAndroid,iOSへ送信できます
    • GCMを使わずにネイティブのiOSへの送信も可能
    • インストール手続き有り


参考


2015年11月19日木曜日

socketfilterfw 187.7%


xcode7.1.1を起動すると同時にsocketfilterfwのプロセスも燃え上がります。
現在のところ187.7%が最高記録です。

Webのいろいろなやり方を試しましたがいまいち有効な対応方法がわかりません。
アップル社の社員の方はどうしているのでしょうか。

187.7%を超えた方はコメントください

2015年11月16日月曜日

ios9 transport security cordovaの取り扱い

ios9からhttpsアクセスを防ぐというApp Transport Securityですが、cordovaが標準でどのように扱っているのかよくわかりませんでした。

config.xml
<access origin="http://hogehoge.com" />
<access origin="http://fugafuga.com" />

と記載していると {アプリ名}-info.plistには以下のように自動的に追加されています。

platform/ios/{アプリ名}/{アプリ名}-info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>hogehoge.com</key>
<dict/>
<key>fugafuga.com</key>
<dict/>
</dict>
</dict>

やろうとしていることは<accsss>に記載されたURLへは例外として通してくれようとしてくれているとは思いますが、理解が全く足りていませんが、まずは
NSAllowsArbitraryLoads を falseにして、NSExceptionAllowsInsecureHTTPLoadsをそれぞれのurlのdictに加えることが必要ではないでしょうか。

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>hogehoge.com</key>
<dict>
    <key>NSExceptionAllowsInsecureHTTPLoads</key>
    <true/>
 </dict>
<key>fugafuga.com</key>
<dict>
    <key>NSExceptionAllowsInsecureHTTPLoads</key>
    <true/>
</dict>
</dict>
</dict>

これでhttp://hogehoge.comにアクセスできるようになりました。
しかし、ビルドの度にplistは書き換えられるので、フックして書き換える処理をいれるか、cordovaのビルド後に最後に修正というのがよいのでしょうか。

GoogleMobileAds does not contain bitcode

アーカイブ時にbitcodeのリンクエラーがAdmobに出る場合は、Admobがbitcodeに対応していない(?未確認)かもしれないので Bitcodeをoffにしてアーカイブすると通ります。


2015年11月5日木曜日

Plugin doesn't support this project's cordova-ios version. cordova-ios: 3.9.2, failed version requirement: >=4.0.0-dev

エラー内容
Plugin doesn't support this project's cordova-ios version. cordova-ios: 3.9.2, failed version requirement: >=4.0.0-dev
Skipping 'cordova-plugin-whitelist' for ios

エラーの内容通りで cordova-whitelist 1.1.0 はまだ正式リリースされていない cordova ios 4.0.0以上に対応らしいです。
whitelistのバージョンを1.0.0に落とせばいいらしいのですが・・・