問題タブ [abrecordref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
458 参照

multithreading - iPhone:アドレス帳が時々消去される

ABAddressBookは自分のアプリでを使用しています。
ABへのアクセスは、UIを解放するために別のスレッドから行われます。
ABインスタンスへのアクセスは常に同じスレッドからでなければならないという事実を認識しており、この理由でラッパーを作成しました。
ラッパーはシングルトンであり、独自のバックグラウンドスレッドを維持します。
ラッパーに届くすべてのメッセージは自動的にバックグラウンドスレッドにリダイレクトされますが、呼び出し元のスレッドは実装が終了するまで待機し、最後に関連データ(連絡先リスト、特定の連絡先など)を引数に入力します。

それでも、デバイスのアドレス帳が空になる(消去される)ことがあります。
アプリの10〜20回目の使用ごと。

だから、私はいくつかの質問があります:

  • 専用スレッドのABからABRecordRefを取得した後、同じスレッドのABRecordRefからデータを取得する必要がありますか、それとも別のスレッドである可能性がありますか?ABRecordRefのラッパーもあるので、ABから連絡先を取得するときは、personラッパーオブジェクトに入力し、その後、元のスレッドからそれを使用します(ABRecordRefから読み取ります)。
  • AB UI API(パーソンピッカーナビゲーションコントローラー、新しいパーソンビューコントローラーなど)を使用してそれらにABAddressBookのインスタンスを渡す場合、APIが同じスレッドからのこのABインスタンスを使用しないという事実を心配する必要があります。それを作成しましたか?ABインスタンスの代わりにNULLを渡すことができ、APIが独自のABを使用することを確認しましたが、連絡先を変更する場合はどうすればよいですか?この場合、ABRecordRefインスタンスを渡す必要があります...
  • 私が考えていなかった他の何かがありますか?

前もって感謝します。

-
マイケル

0 投票する
1 に答える
972 参照

objective-c - ABGroupCreateの問題

iOS アドレス帳へのグループの追加に問題があります。シミュレーターではすべてがうまく機能し、グループを追加して連絡先を割り当てます。ただし、同じアプリケーションが iPhone または iPad で実行されている場合、グループは作成されないため、新しい連絡先はその特定のグループに割り当てられません。

メソッド ABGroupCreate はエラーを返しません。

解決策を教えてください。:)

0 投票する
3 に答える
155 参照

objective-c - 戻り値の型は何ですか?

thisPerson は ABRecordRef です

ありがとう

0 投票する
4 に答える
16372 参照

iphone - NSUserDefaults へのデータの保存

私の iPhone アプリには、特定の連絡先への参照として機能するContactで構成されると呼ばれるクラスがあります。ABRecordRef

これらの連絡先のグループを に保存する必要がありますが、 はカスタム クラスであるNSUserDefaultsため、うまくいきません。Contact

この場合、何をすべきかについてのアイデアはありますか?

0 投票する
1 に答える
362 参照

iphone - 連絡先が選択された後、AddressBookから削除されます

私は自分のアプリケーションとiPhoneのAddressBookとの統合に取り組んでいます。これが私のプログラムの流れです。

  1. ユーザーが連絡先をインポートしたい
  2. アプリは「ABPeoplePickerNavigationController」をユーザーに提示します。
  3. ユーザーは必要な連絡先を選択します。
  4. デリゲートメソッドは次のように呼び出されます。

コードは次のとおりです。

5:- (void)showNewContactViewThroughController:withRecord:でAbNewPersonViewControllerを作成します。

そしてそれを押します。

6:ユーザーが「キャンセル」を押してABNewPersonViewControllerビューを終了します。
7:連絡先アプリを確認します。手順3で選択した連絡先がなくなります。プーフ、なくなった、削除された、削除された。

この問題を修正するために、ABRecordRefを(インスタンス変数 "selectedContact"に)保存します。次に、- (void)newPersonViewController:didCompleteWithNewPerson:私は持っています:

ただし、これは何もしないようです。コードは実行されますが、「OldContact」であるself.selectedContactはAddressBookに保存されません。だから、私の連絡先はまだ消えています。私は何が間違っているのですか?ABNewPersonViewControllerで[キャンセル]をクリックした場合、アドレス帳から提供されたデータが「削除」されたように見えますか?それで私がそれを与える人はそれから死ぬのですか?どんな助けでもいただければ幸いです!

0 投票する
2 に答える
6393 参照

iphone - ABRecordRef のすべてのプロパティのリストを取得するにはどうすればよいですか?

kABPersonFirstNameProperty、kABPersonLastNameProperty の iOS 定義済みキーを使用せずに、ABPersonRef および ABGroupRef のすべてのプロパティのリストを取得したいと考えています...アドレス帳で遊んでいて、特定の人。事前定義されたキーがあることは知っていますが、Apple は将来新しいキーを追加する可能性が非常に高いので、次のようなことをしたいと思います。

後でループする必要がある複数値の項目に遭遇することはわかっていますが、目標は、単一値のプロパティに対して反復できるキーのリストを取得することです。返されたクラスが何であるか、NSArray、NSDictionary などは気にしません。

アドバイスをいただければ幸いです。

0 投票する
2 に答える
828 参照

iphone-sdk-4.1 - ABRecordRefの配列を格納します

ABRecordRefこれを別のクラスで後で使用できるように、リストを保存してアクセスするにはどうすればよいですか?

0 投票する
1 に答える
1360 参照

ios - アドレス帳にレコードを追加する

ABPeoplePickerNavigationControllerを使用せずにアドレス帳に新しいレコードを追加するにはどうすればよいですか?

0 投票する
1 に答える
1136 参照

core-data - ABRecordRefをコアデータに保存する

ABRecordRefをコアデータの「クライアント」エンティティに保存したいと思います。

ABRecordRefがプリミティブCデータ型であることをリンゴのドキュメントで読みました。私の知る限り、オブジェクトを挿入できるのはコアデータのみです。これを念頭に置いて、コアデータに保存するための最良の方法は何ですか?

ストレージ用にNSNumberに変換することを考えましたが、使用するためにABRecordRefに変換し直す方法がわかりません。

また、ラッパーとして機能するだけでNSArray / NSSet / NSDictionaryに入れることができると思いましたが、これがばかげている/非効率的である/機能するかどうかさえわかりませんでした。

感謝します。

どうもありがとう

0 投票する
1 に答える
674 参照

iphone - iPhone で ABPersonViewController を閉じることができません

ABPersonViewController を閉じるにはどうすればよいですか? これが私のコードです

.h ファイルで ABRecordRef レコードとして宣言された ivar のレコード。ABPersonViewControllerDelegate メソッドが呼び出されることはありませんか? 何がうまくいかないのですか?どんな種類の助けも大歓迎です。ありがとう