2016年2月2日火曜日

Windows Universal アプリ開発 アプリ認定キット不合格 UTF-8 ファイル エンコード

ver4.2.0で本問題は修正されています。

useminを使ってjsファイルを小さくすると以下のエラーがアプリ認定キットで出るようになりました。

展開と起動のテスト
バイトコードの生成
•エラーが見つかりました: バイトコード生成テストで、以下のエラーが検出されました:◦ファイル **** には、JavaScript の構文またはその他の問題があります。
Cordova windows 4.3.0では以下の現象は起きなくなりました。

ファイルのエンコードのテスト
UTF-8 ファイル エンコード
•エラーが見つかりました: UTF-8 ファイル エンコード テストで、以下のエラーが検出されました:*** は UTF-8 で正しくエンコードされていません。ファイルを UTF-8 をもう一度保存してください (バイト オーダー マークを含む)。

修正方法に従って以下の手順を行いました
該当ファイル(js,css.html)を開き、ファイル->名前をつけて保存
「上書き保存」の右にある下マークをクリックして「エンコード付きで保存」
「Unicode(UTF-8 シグネチャ付き) - コードページ65001 を選択

その結果 該当ファイル以外がVisual Studioより認識されなくなりました.....
もちろんこの状態で実行してもファイルが足りないのでアプリは実行できません。

wwwを選択し「プロジェクト」->「すべてのファイルを表示」 を押すと半透明で認識されなくなったファイルが表示されます。
次に半透明のファイルやフォルダを選択してから、「プロジェクトに含める」で再度認識させます。

これで認定テストが通ります。

2016年1月29日金曜日

Cordova 6.0.0 リリース

Cordovaもメインバージョンが6.0.0に上がりました。大きなのは各プラットフォームのディフォルトバージョンが Cordova Androidは5, Cordova iOSは4 となったことでしょうか。

公式ブログ

Cordova Android4.1.1 -> 5.1.0 にアップデート

  • 開発端末のアプリのデータがリセットされたので注意が必要です。

Cordova iOS 3.9,2 -> 4.0.1へのアップデート

  • 公式としてWKWebViewをサポート。
  • sqliteプラグインとの相性が悪いのかDBが開けないことがあります。
  • bitcodeが最初からoffになっています。(自分でoffにする必要なし)
  • LanguageがEnglishのみになっていました。
  • アイコンの画像がビルドに含まれないので自分で含んであげる必要がありました。

Cordova Windows 4.2.0 -> 4.3.0(4.3.1)へのアップデート

  • 認定テストツールでの文字コードエラーがなくなるため対応不要になりました。
  • [注意] 重大なバグ修正を含んだ4.3.1がでていますが、こちらはバグ修正の影響で逆にindex.htmlのパスを見つけられなくなってしまいました。動かない場合は4.2.0を使うしかありません。  今は4.3.0は動かず4.3.1が動きます。

jQuery Mobile は生きている

既に現在のメインリリースバージョン1.4が出てから1年以上経ち、プロジェクトがまだ生きているのか疑問視する声が上がっていましたjQuery Mobileですが、本日開発ブログが1年3ヶ月ぶりに更新されました。

A long overdue status update

jQuery Mobileと他のモバイルフレームワークとの違いは PCのWebブラウザ(IEなど)もサポートしていることでした。
しかしながら、あまりにもサポート範囲を広く取りすぎてパフォーマンスの面などで劣っていましたが、今後はIE11以上などをサポートしていく方針などを打ち出されています。

「Cordovaでスマホアプリ」も「PCのWebアプリ・サイト」も両方開発する場合などには選択肢として選ぶことができるのではないでしょうか。
ionic,onsenuiも次のバージョン2ではネイティブにより近いデザインとなっていきますが、カスタマイズを前提としたオリジナルデザインのフレームワークとして頑張って欲しいです。

2016年1月28日木曜日

Cordova Windows Universalアプリ開発 ストアからアプリを削除

アプリをストアから非公開にしたいと思い、ボタンを探しましたが見つかりませんでした。
Webで調べるとやはり同じような状況の方がいらっしゃいました。

Windowsストアアプリの公開を停止してみた(Windows Dev Center)

自分用に手順を箇条書きすると

  • 申請を新たに作成
  • 「価格と使用可能状況」
  • 「分布と認知度」
  • 「非表示にして取得できないようします」をチェック
  • 保存して申請
  • 申請が許可されると「非売品」の表示に変わります





Visual Studioアカウント接続エラー

visual studio で予期しないエラーが発生したため、Microsoftアカウントサービスに接続できません

上記のようなエラーが出てストアアプリのパッケージ化ができなくなりました。
それにしても何も解決の糸口すら与えないこのエラーメッセージはいいですね。諦めがつきそうです。

Microsotのサポートに問い合わせたところ、現在(2016/1/28)対策中とのことでしたので同様の症状の方がいらっしゃいましたらとりあえず待ちましょう。

エラーが出なくなり無事にアプリをパッケージ化できるようになりました。

cordovaでwindows universalアプリ作成 プラグイン使用時の注意事項

Sqliteプラグイン

--archs="x86"をビルド時に設定しなければエラーとなる。

sqlite3ファイルの場所

{ドライブ}¥Users¥{ユーザ名}¥AppData¥Local¥Packages¥{パッケージ}¥LocalState

LocalStoreに置かれました。iosと違いこのあたりの置き場のディフォルトの指定がどうやって行うのかわかりませんでした。

プラグインのドキュメントにはdeleteDatabaseが実装されていないと書かれていたが使える。(8.1のみ使えないのかも)

SocialSharingプラグイン

Android,iosはメッセージ,リンク,画像のシェアができますが、画像のシェアができません。
現状画像のシェアができるプラグラインがないので後ほど作成したいと思います。


Admobプラグイン

Admobはwindows8 phoneのみの対応である。
(windows universalアプリはPC,タブレット,スマホも含まれるためAdmobが対応していないのも仕方がないと思います)

Fileプラグイン

cordova.fileを参照することができない(バグ?)

2016年1月27日水曜日

CordovaでWindows Universalアプリ作成 他の言語(オランダ語)が自動的に追加される

英語と日本語しか対応していないにもかかわらずストアリリース用にパッケージ化して、ストアにアップロードするとなぜか、オランダ語も含まれており、説明文やスクリーンショットの記載を求められました。

 Webで調べるとブルガリア語が追加されている方もいらっしゃいました。

Windows 8:ブルガリア物語顛末 眠るシーラカンスと水底のプログラマー

Cordovaの問題かと思いましたが、パッケージ化するVisual Studioの自動言語抽出機能?が問題のようでした。cordovaプラグインにnlドメインを使うものがあるため、プラグイン内でオランダ語を使っているのかもしれません。

対応

  • ***.appxmanifestファイルをコードベースで開きます。
  • <Resources><Resource Language="x-generate" /> を見つけます
  • <Resource Language="x-generate" />を削除します。
  • 代わりに以下を入れます(日本語と英語(米国)を入れる場合)
    • <Resource Language="JA" /><Resource Language="EN-US" />