2つのiPhoneアプリ間でテキストデータを共有したい。この目的でペーストボードを使用するにはどうすればよいですか。誰でもサンプルコードを手伝ってくれますか? 前もって感謝します。私の仕事を達成するためにペーストボードよりも良い方法があるかどうか提案してください。
2 に答える
単純に IPC を使用したい場合は、両方のアプリが URL スキームを認識できるようにします。それから電話する
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"theOtherApp://dataToShare"]];
送信し、受信するために使用-application:handleOpenURL:
します。
ペーストボードを介して文字列を共有するには、次を使用します
UIPasteboard* board = [UIPasteboard generalPasteboard];
board.string = @"Some string to share";
保存し、board.string
共有する文字列を取得するゲッターとして使用します。ただし、ユーザーが共有データの間に何かをコピーすると、共有データが失われます。
または、次の方法で共有できます。
- アドレス帳。ダミーの連絡先を作成し、共有に使用します。
- キーチェーン。共有キーチェーン アイテムを作成します。3.x のみ。
- 共有フォルダーからの読み取り/書き込み。
/var/mobile/Library/AddressBook
アプリがサンドボックス化されKeyboard
てPreferences
いる場合でもアクセスできます。ただし、これは SDK の規則に違反する可能性があります。
カスタム URL スキームを使用して、アプリ間で通信できます。
ユーザーが特に何かをクリップボードにコピーしたい場合を除き、ユーザーのクリップボードを汚染することはありません — テキストのスニペットをクリップボードに保存し、別のアプリにデータを送信するためだけに一部のアプリにそれを上書きさせるという苛立ちを想像してみてください...優れたユーザー エクスペリエンス。
アップデート:
@ohhorobがコメントしたように、カスタム ペーストボードを作成することが可能です。ペーストボードを介してデータを共有する場合は、必ず独自の (永続的な) アプリケーション ペーストボードを作成し、メインのペーストボードの代わりにこれを使用してください。詳しくはこちらをご覧ください。