問題タブ [abpeoplepickerview]
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.
ios - ABPeoplePickerNavigationController が間違った識別子をデリゲートに送信する
私の iOS アプリでは、ユーザーは ABPeoplePickerNavigationController を介して AddressBookUI からメールを選択できます。問題は、連絡先エントリの 1 つの電子メールがアドレス帳から送信され、別の電子メールが Facebook 同期から送信されることです。ユーザーが ABPeoplePickerNavigationController でこれらのメールの 1 つをタップすると、デリゲート メソッドが同じパラメーターで呼び出されます。ユーザーが選択した正しいメールを取得できません。私の場合、propertyID は 4 で ID は 0 です。
各デリゲート メソッドの結果は同じです。同じ識別子を持っていると思われるFacebookのメールアドレスがある場合にのみ、この問題が発生します。複数の電子メールを持つ他のすべての連絡先では、デリゲート メソッドのパラメーターは正しいです。誰かがこの問題で私を助けてくれたらいいのにと思います。前もって感謝します。
ios - IOS ABPeoplePickerNavigationController のクラッシュ
私はiOSアプリケーションを開発しています。ABPeoplePickerNavigationController を使用しました。ABPeoplePickerNavigationController 画面が presentModalViewController メソッドで開かれ、別の画面も presentModalViewController メソッドで開かれた場合、アプリケーションがクラッシュします。
以下はサンプルコードです。どうすれば修正できますか?
ios - peoplePickerNavigationController: shouldContinueAfterSelectingPerson: プロパティ: 識別子:
選択した携帯電話番号を取得しようとしています
私は複数の携帯電話と連絡を取り合っています (すべて「携帯」と表示されています)。最初の番号を選択すると、phoneNumber から最初の番号が返されますが、連続する番号を選択すると、phoneNumber から前の番号が返されます。
連絡先: Jay Jaymes モバイル +1111111111 モバイル +2222222222 モバイル +3333333333
最初のものをタップphoneNumber
= +1111111111
2 つ目をタップphoneNumber
= +1111111111
3 つ目をタップphoneNumber
= +2222222222
ios - PeoplePicker の使用時にアプリがクラッシュしますが、同じビューではありません
更新 2、これが誰かの役に立てば幸いです。次のリンクに解決策があります: https://discussions.apple.com/thread/5498630?start=0&tstart=0、明らかにこれは iOS のバグであり、この回避策は機能します。新しい sharedPicker を作成できますが、そこから何も取得したり、閉じたりすることはできません。リンクで提供されているものを超えてフォーマットする方法がわかりません 。それに関するヘルプは大歓迎です。
したがって、私の質問は、次のコードを取得して、実際に peoplePickerNavigationControllerDidCancel: および peoplePickerNavigationController:shouldContinueAfterSelectingPerson: のコードを作成する方法です。誰かが同様のあいまいな問題を抱えている場合に備えて、元の投稿のほとんどを残しました。
私の現在のコード:
更新 1、このアプリは iPhone 4/4s でクラッシュしますが、シミュレーターと iPhone5 では動作します。私が作成したリークを乗り越えるのに十分な力があるだけだと思います
ABPeoplePickerNavigationController
ユーザーがアプリの連絡先を選択したり、手動で番号を入力したりできるView Controllerを備えたiOSアプリがあります。数字を手動で入力しても問題ありません。ユーザーが開いた場合:
アドレス帳から新しい連絡先を選択します
アプリで使用するアドレス帳から連絡先を更新します
アドレス帳を開いてキャンセルします (すべてアクションを保存せずに)
その後、クラッシュせずにアプリ内の特定のビューに移動できません。この1つのView Controllerにアクセスできない理由、またはクラッシュの原因となる理由がわかりません。
5 つの異なるピッカーを使用しています。追加したい連絡先ごとに 1 つずつ、場合によっては保存します。として保存しますNSUserDefaults
が、前述のように、ピッカーの選択が保存されていなくてもクラッシュは続きます。問題なくサイドバー ナビゲーションからアプリ内のすべてのビューに移動できます。失敗したビューの唯一の違いは、サイドバーではなくメイン ビュー コントローラーの 1 つから表示されることです。
助けや考えをいただければ幸いです。これは私が書いた最初のアプリで、更新しようとして失敗しています。再び機能するようにしたいので、戻ってリファクタリングできます。
私の実装:
ios - ABPeoplePickerNavigationController デリゲートが機能しない
私の目標は、ユーザーが連絡先から連絡先の詳細 (電話、名前、電子メール) をインポートできるようにすることです。ABPeoplePickerNavigationController をセットアップし、デリゲートを自己に設定すると、デリゲート メソッドが呼び出されません。ピープルピッカービューが表示されています これが私のコードです:
私は何が欠けていますか?クラス ABPeoplePicker はもはや UIAddressBook フレームワークの一部ではないようだということも付け加えたいと思います。ドキュメントにもありません。
ios - モーダル フォーム シートで表示されたときの ABPeoplePickerNavigationController の UI バグ
iPad の ABPeoplePickerNavigationController (横向き) で、ユーザーが PeoplePicker の検索バーをクリックしてからキャンセルすると、キーボードが再起動されず、People Picker の UI がすべて台無しになる、非常に奇妙な UI バグが見られます。バグの写真は次のとおりです。
ABPeoplePickerNavigationController は、次のコードを使用してモーダル フォーム シートに表示されます。
UI は、ユーザーが検索フィールドをタップしてキーボードを表示し、検索フィールドをキャンセルして、iPhone のようにキーボードを破棄しないまで、期待どおりです。また、ユーザーがこのモードで連絡先リストをスクロールすると、すべての文字ヘッダー (つまり、A ヘッダー) が、検索バーのすぐ下のビューの上部ではなく、A ヘッダーが現在ある場所に固定されます。
キーボードがここで辞任されていない理由はありますか?
ABPeoplePickerNavigationController はサブクラス化できないため、これをデバッグするのに苦労しています。
macos - ダブルクリックで ABPeoplePickerView がクラッシュするのはなぜですか?
nameDoubleAction とターゲットを設定すると、名前をダブルクリックしたときに ABPeoplePickerView が期待どおりに動作します。プロパティ用の列もあります。属性インスペクターで設計時に電子メールや電話などのプロパティを追加できます。1 人の複数の電話番号など、複数の値を持つプロパティの場合でも、かなりうまく機能します。たまたまプロパティ列をクリックしても、ダブルクリックが機能するように見えます。
ただし、実際のアプリケーションで、プロパティ列をダブルクリックするとアプリがハングすることがわかりました。
上記の行で実行がハングし、デバッガーは EX_BAD_ACCESS を報告し、送信者は 0x0 です。
最小限のコードで 4 つのテスト アプリを作成しました。2 と 4 は問題なく動作し、1 と 3 は上記のようにクラッシュします。3 と 4 は、私が見る限り同一であり、互いに数分以内に作成されています。コードは一方から他方にコピーされただけです。しかし、最初のものはクラッシュし、2 つ目は問題ありません。唯一の違いは、Xib で何かを作成した順序、AddressBook フレームワークを追加した順序、または #imports を記述した順序です。
AddressBook/AddressBook.h
もう1つの不条理は、コンパイラがこの行を受け入れるためにインポートするだけでよいということです:
AddressBook/ABPeoplePickerView.h
同様にインポートする必要はないようですが、実際のアプリは後者を追加しないとコンパイルされません。