アプリ内から呼んだ「ユーザ辞書」の「よみ」部分を変更する方法
1.環境
XcodeVer:6.2
Deployment Target:iOS7.1
Device:iPhone
開発言語:Objective-C
2.具体的なプログラミングの問題
顔文字をユーザ辞書に登録できるアプリを作成しています。
アプリ内から呼び出した「ユーザ辞書」の「よみ」部分を自動で「☻」文字に変更したいと考えています(よみを「☻」で辞書登録した内容は、顔文字一覧に登録されるため便利)。
現在、アプリ内からユーザ辞書を呼び出す所まではできましたが、「よみ」部分が「☻」文字に変更出来ない状況です。
3.調べた、試してみたことなど
・ユーザ辞書を呼び出すUITextFieldの非公開メソッド「- (void)_addShortcut:(id)arg1;」を確認(引数が「よみ」の値?、引数に「☻」を渡したが変化無し)。
・「class-dump」を使用して「_addShortcut:」内のコードを見ようとしましたが、ヘッダー部分しかダンプ出来ず分かりませんでした。
・「よみ」に該当するプロパティが無いか調べましたが、それらしいものは見つけられませんでした。
4.本機能を実装しているアプリ
かわいい顔文字登録:https://itunes.apple.com/jp/app/kawaii-yan-wen-zi-deng-lu/id882667868?mt=8
かわいい顔文字「かおもじシンプル」…:https://itunes.apple.com/jp/app/kawaii-yan-wen-zi-kaomojishinpuru/id788417205?mt=8
5.コード内容
// FIXME:辞書登録機能の処理
- (void)runJisyoSignUpTextField:(UITextField*)textField text:(NSString*)text {
// テキストフィールドに顔文字を代入
textField.text = text;
// テキストフィールド内のテキストを全選択
[textField selectAll:nil];
// ユーザ辞書呼び出し
if([textField respondsToSelector:@selector(_addShortcut:)]) {
[textField performSelector:@selector(_addShortcut:) withObject:nil];
}
// テキストフィールドのテキストを空にする
textField.text = @"";
// テキストフィールドのキーボードを閉じる
[textField resignFirstResponder];
}
ご存知の方がおられましたら、ご教授頂けないでしょうか。
よろしくお願い致します。