5

ユーザーが国際キーボードでユーザー名を入力できるようにする iOS 5 アプリケーションがあります。入力 (NSString *) に絵文字が含まれているかどうかを確認したい。

絵文字キーボードを無効にすることはできません (UIKeyboardTypeASCIICapable を使用すると、一部の国際キーボードが無効になります)。

私はこれを試し ましたただし、これらのような一部の文字は検出されません。

この問題を解決する良い方法はありますか?

4

4 に答える 4

10

次の方法を使用して、iOS5およびiOS6の絵文字キーボードですべての絵文字を検出できました https://gist.github.com/4146056

于 2012-11-26T00:56:09.193 に答える
1

https://github.com/woxtu/NSString-RemoveEmojiカテゴリを使用しますが、iOS 9.1 では上記の方法で認識されない絵文字が追加されていることに注意してください (特にこれらの絵文字:)。

修正:メソッド
return (0x1d000 <= codepoint && codepoint <= 0x1f77f);内を次のように置き換えますisEmoji
return (0x1d000 <= codepoint && codepoint <= 0x1f77f) || (0x1F900 <= codepoint && codepoint <=0x1f9ff);

于 2015-11-04T18:10:40.047 に答える
-1
NSData *data = [yourstringofemo dataUsingEncoding:NSNonLossyASCIIStringEncoding];

NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];


if ([goodValue rangeOfString:@"\u"].location == NSNotFound) 
{
      goodvalue string contains emoji characters
} 
else
{
      goodvalue string does not contain emoji characters
}
于 2012-10-31T09:47:56.083 に答える