Include app symbols for your application to receive symbolicated crash logs form Apple.
のチェックを外しましょう。
Titanium Mobileで多言語化対応したいのでググってたら、どうやらstrings.xmlで指定して、tssで読み込め、viewで指定することは出来ない、とかあった。
でもそんなの面倒だし、viewで指定した方が楽だと思ったので調べていたら、viewで指定できたのでその方法をメモ。
iOSでしか試していないので、Androidで上手くいくかは不明。
strings.xmlとか作らないといけないんだけど、それはココらへんを参考に作って下さい。
<Window id="win1" title='L("en2jp_win")' tabBarHidden="false" exitOnClose="true">
こんなかんじで、文字を埋め込みたい場所にviewで'L("win_title")'
と書くだけ。
win_titleのとこは適宜strings.xmlのnameに置き換えてください。
別にtssで指定しなくてもviewで出来ます、というだけの話でした。
Sqlite3で日本語入力しようとすると、入力キャンセルされてしまうというか、日本語を入力した瞬間エラー音とともに文字が消えてしまう。
Sqlite3を直に触る機会が少なくて、使う度に日本語入力の方法をググっているのでメモ。
にある、
をチェックすればOK。入力してみる。
// "オボンのみ" を検索したい。
sqlite> select * from item where item = "\U+00E3\U+0082\U+00AA\U+00E3\U+0083\U+009C\U+00E3\U+0083\U+00B3\U+00E3\U+0081\U+00AE\U+00E3\U+0081\U+00BF";
554|オボンのみ
// タラプのみをinsertしたい。
sqlite> insert into item values(620,"\U+00E3\U+0082\U+00BF\U+00E3\U+0083\U+00A9\U+00E3\U+0083\U+0097\U+00E3\U+0081\U+00AE\U+00E3\U+0081\U+00BF");
日本語を入力した瞬間にエスケープされてしまうけど、検索結果は返ってきてるので、いけてるっぽい。
Sqlite3をいじる時はこれでよさそう。
けど文字コード?がおかしくなってしまってる。
文字エンコーディングはUnicode (UTF-8)になってるからUTF-8かと思ったら違うみたいだし、
Unicodeっぽいけど違うし、いろいろ調べたらASCII-8bit?とかいうの出てきたけどよくわからない…。
だれか分かる人いたらおしえてください!!!
Titanium SDK : 3.2.2.GA
TiCameraViewを使ってみようと思って、 build.py を動かしたんだけどエラーが出てしまったので対処法を。
Githubの Build and Installation には
$ git clone git@github.com:k0sukey/TiCameraView.git
$ cd TiCameraView
$ ./build.py
Generated be.k0suke.ticamera-iphone-x.x.zip file copy to your Titanium project
と書いてあるけど、./build.py
すると
[WARN] please update the manifest key: 'description' to a non-default value
[WARN] please update the manifest key: 'license' to a non-default value
[WARN] please update the LICENSE file with your license text before distributing
Traceback (most recent call last):
File "build.py", line 220, in <module>
build_module(manifest,config)
File "build.py", line 165, in build_module
from tools import ensure_dev_path
ImportError: No module named tools
と怒られてしまった。
サポートBBSに似たような質問があったので、それを参考に。
titanium.xcconfig というファイルがあると思いますが、これをテキストエディタで開いてください。
「TITANIUM_SDK_VERSION」という項目があると思いますが、この項目をお使いのSDKのバージョンに併せて編集してください。
デフォルトだと「TITANIUM_SDK_VERSION = 2.1.3.v20120915120319」になっているかと思います。
例えば3.0.0.GAをお使いであれば「TITANIUM_SDK_VERSION = 3.0.0.GA」としてください。
引用元: TiCordovaのビルドについて | Don't Fall - Titanium Mobileユーザー会サポートBBS
とあったので、
TiCameraView/titanium.xcconfig の
TITANIUM_SDK_VERSION = 3.1.0.GA
を
TITANIUM_SDK_VERSION = 3.2.2.GA
に書き換えて実行。
[WARN] please update the manifest key: 'description' to a non-default value
[WARN] please update the manifest key: 'license' to a non-default value
[WARN] please update the LICENSE file with your license text before distributing
Build settings from command line:
SDKROOT = iphoneos7.1
(中略)
** BUILD SUCCEEDED **
warningは出てるけど、Build完了してzipファイル出来たのでコレにて完了ということで。
いつもモジュール使ってばっかりで自分で作れないので、自分で作れるようになりたい。
数字を認識するアプリを作りたくて、Titaniumで文字認識を行えるモジュールではTiTesseractが良さそうだったので使ってみました。
インストールと実行でちょっと躓いた点があったので、利用方法をメモっておきます。
GithubのInstallationに一応手順は書いてるのだけど、フォルダ構成がこんなかんじで書かれていて見難かったりするので
Directory or file the following should have been added. . ├── example │ └── tessdata ├── Tesseract.h ├── Tesseract.mm ├── leptonica ├── liblept.a ├── libtesseract_all.a └── tesseract
インストール(モジュールのzipを作る)までをまとめていきます。
以上の4つをダウンロードし、解凍。
1.まず、TiTesseract-for-iOSを解凍したものに、
の2つをぶっこみます。
Tesseract.hには
#import <UIKit/UIKit.h>
を追加。
2.tesseract-ios-libの中にある、
の4つをまたまたTiTesseract-for-iOSを解凍したものにぶっこみます。
tesseract-ocrはここではまだ使いません。
上記の手順が完了したらTerminalで
cd TiTesseract-for-iOS
python build.py
を事項すると、たぶん
というファイルが生成されるはずです。
生成されない人は頑張りましょう。
モジュールインストールする手順は割愛します、ググって下さい。
<module platform="iphone" version="1.1.0">net.appios.titesseract</module>
をtiapp.xmlに記述します。
GithubのUsageとほぼ同じ内容になりますが、以下を.jsファイルに記述します。
var TiTesseract = require('net.appios.titesseract');
var ocrImage = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory + '/ocr.png');
var whitelist = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var lang = 'eng';
var recognizedText = TiTesseract.recognizedText(ocrImage.toBlob(), lang, whitelist);
Ti.API.info("ocr.png -> " +recognizedText);
これで実行すると、
Tesseract couldn't load any languages!
みたいなエラーが出ると思います。
そしたら、ここでtesseract-ocrの出番です。
tesseract-ocrの中にtessdataというフォルダが有ると思います。そのフォルダを
Titanium_Studio_Workspace/xxxxxxxx/app/assets/
以下に設置して下さい。
設置し終わったら、実行してみてください。
[INFO] : ocr.png -> XXMP2X8H62DGPF 78
となるはずです、以上!
nend見てたら
の文字が!
ついにTitanium Mobileでもアイコン広告が使えるようになったので早速使ってみました。
ここからDL出来ます。
といっても使い方はほぼ従来のバナー広告と同じです。
以下にサンプル載せますが、Titaniumモジュールの中にユーザーガイドがあるので、それを引用してちょこっとだけ変更しただけです。
var ad = require('net.nend');
var adHorizontalIconsView = ad.createIconsView({
spotId: [管理画面より発行されたアイコン型広告枠の spotID],
apiKey: '[管理画面より発行されたアイコン型広告枠の apiKey]',
orientation: 'horizontal', // 水平方向
//orientation: 'vertical', // 垂直方向
top: 0,
left: 0,
width: 320,// 水平方向
//width: 75,// 垂直方向
height: 75,// 水平方向
//height: 300// 垂直方向
});
win.add(adHorizontalIconsView);
pause(),resume()も従来と変わらず使えたので、実装に関しては問題無しでした。
表示結果は以下の画像のようになります。 上が水平、下が垂直です。
アイコン型広告と聞いて、アイコンを1つだけ設置みたいなことが可能になると考えていたのですが、4つ並んで表示されてしまうようです…。
しかも水平表示だと右側にスペース空いちゃうっぽい。
75 x 75 が4つならんでるので、 left:10 にするとちょうどいいんだけど、右に10ズレることになります。
アイコンを1つだけ表示したい時は、Viewをかぶせて隠すといった手法をとってもいいのでしょうか。
で、Markdown学んだので備忘録的なメモ
# Title 1
## Title 2
### Title 3
Title
=
Title2
-
こんにちは
こんにちは
こんにちは
こんにちは
こんにちは
こんにちは
---
***
___
- - -
*強調*
_強調_
**強調**
__強調__
強調 強調 強調 強調
> stay foolish
> > stay foolish
stay foolish
stay foolish
`var x = 1;`
var x = 1;
var x = 1;
var y = 2;
* item 1
+ item 2
- item 3
1. item 1
3. item 2
2. item 3
<http://google.com>
<hoge@hoge.com>
http://google.com
hoge@hoge.com
[Google](http://google.com "Title")
[Google][1]
[1]: http:google.com "title"
![ピカチュウ](http://cdn1.www.st-hatena.com/users/st/star__hoshi/profile.gif?1387477664)
![ピカチュウ][2]
[2]: http://cdn1.www.st-hatena.com/users/st/star__hoshi/profile.gif?1387477664
[![ピカチュウ](http://cdn1.www.st-hatena.com/users/st/star__hoshi/profile.gif?1387477664)](http://starhoshi.hatenablog.com/)
<a href="http://google.com" target="_blank">Google</a>
\# Title
# Title
titaniumのバージョンを上げた、ListViewを使いたかったため。
ListViewめっちゃ早くていい、ソースも綺麗になる(気がする)。
Titanium Studioも3.2になって、不具合がいくつか出たのでそれについて。
バージョンアップしてとりあえずシュミレータ起動したら
"--ios-version" value "7.0"
みたいに言われて、うわーTitaniumっぽい、暗黒臭がするエラーだ、と思ってググったら
ここで、SDKを3.2.0.GAにしろと言っているので、3.2.0.GAでビルドしたらあっさり成功した。
でももう3.1.3でビルドできなくなってしまった、まあ3.2.0でちゃんと動いているのでいいんだけど、3.2.0で重大なエラーが有った時キツくなるので3.1.3が動かないのはどうなんでしょう。
3.2.0で新しいプロジェクト作ってみて、tiapp.xml見てみたら結構変わっていた。
特にios関係のtiapp.xmlがかなり変わっていて、アイコンのてかりを消す prerendered-icon を探したんだけど無くて、
<key>UIPrerenderedIcon</key> <false/>
に変わっていた。falseをtrueに変えるとてかりが消えます。
tiapp.xmlはぱっと見ごっそり変わっていたけど、よく見ると書き方が変わっただけなので特に問題なしでした。
また、今まではデフォルトユニットが
<property name="ti.ui.defaultunit" type="string">system</property>
systemだったのが
<property name="ti.ui.defaultunit" type="string">dp</property>
になってたので、Androidも標準でdpになったみたい。
他にも、3.2.0でビルドしたらLabelがずれていたので人によっては修正する必要があると思う。
ここらへんは事象を確認する前に修正してしまったので、特に述べるところはないです。
個体値検査ずかん for XY で、ボタン連打が効かないと指摘されたので対処。
Androidはもともと連打できたけど、iOSは連打効かなかった。を参考に、ボタンクリックイベントで
<Button id="levelUpButton" onClick="levelUp">▲</Button> <Button id="levelDownButton" onClick="levelDown">▼</Button>
onClickから
<Button id="levelUpButton" onTouchstart="levelUp">▲</Button> <Button id="levelDownButton" onTouchstart="levelDown">▼</Button>
こんなかんじでonTouchstartに変えました、今のところ大丈夫そう。
AndroidもonTouchstartで問題ないっぽい。
はてな記法とかMarkDownとかよくわかんないので覚えないとツラい