PhoneGap アプリケーションで、.m Objective C ファイルから JavaScript の行を返そうとしています。1 つの変数では問題なく実行できますが、もう 1 つの変数は黙って失敗します。NSString 変数 *text の宣言方法に矛盾があるように見えますが、私は Objective C を初めて使用するので、コードの何が問題なのかわかりません。以下のコードを参照してください。
- (void)umSwipe_receivedSwipe:(NSNotification *)notification {
NSLog(@"umSwipe_receivedSwipe called");
NSData *data = [notification object];
NSString *text = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
// FAIL: This fails silently
NSString* orig = [NSString stringWithFormat:@"alert('%@')", text];
[super writeJavascript:orig];
// This works great
NSString* someVar = @"B1234221012341234^LAST/FIRST^151710100000000099000000?;1234221012341234=15171010000000099?";
NSString* concat = [NSString stringWithFormat:@"alert('%@')", someVar];
[super writeJavascript:concat];
}
背景として、これはiPad でUniMag 磁気ストリップ スキャナーを利用することです。
同じ文字データが含まれている場合、一方の変数が機能し、もう一方の変数が機能しないのはなぜですか? iOS PhoneGap アプリケーションで JavaScript に送信する文字列にこの変数を組み込むにはどうすればよいですか?
ところで、何かへの単なるリンクではなく、コードが修正されている場合、回答を高く評価して理解する可能性がはるかに高くなります。
ありがとう。
編集: エラーが JavaScript エラーであることを発見しました。問題の正確な原因はまだわかりませんが、NSString 変数には、JS エクスペリエンスを無効にする何らかの不可視の文字が含まれている必要があります。たぶん、NSLogしたときに表示されない改行...?