28

EKEvent'sどの出席者 ( EKPartipants) が現在のユーザーであるかを判断しようとしています。iOS6 では、isCurrentUserEKParticipantというプロパティを公開します

http://developer.apple.com/library/ios/#documentation/EventKit/Reference/EKParticipantClassRef/Reference/Reference.html#//apple_ref/occ/cl/EKParticipant

この情報を正確に提供するはずです。残念ながら、プロパティを検索するたびに、EKParticipant's isCurrentUser明らかにそうでない場合でも、NO が返されます。

どんな助けでも大歓迎です!

更新された調査結果:

isCurrentUser == YESイベントの主催者を調べると、自分が主催者であれば正しく返ってきます。ただし、出席者のセットから自分自身を取得すると、 が返されますisCurrentUser == NO

2 つの異なる EKParticipant オブジェクトが同じ電子メール アドレスを持つ同じ人を参照しているコンソール出力の例:

(lldb) po [ekEvent.attendees objectAtIndex:3]
$20 = 0x208c1220 EKAttendee <0x208c1220> {UUID = CCD17C5E-FCB5-4BC9-8D9E-7E957B20025D;       
name= ----- -----; email = --------wa@me.com; status = 2; role = 0; type = 1}

(lldb) print [(EKParticipant *)[ekEvent.attendees objectAtIndex:3] isCurrentUser]
(BOOL) $15 = NO

(lldb) po ekEvent.organizer
$19 = 0x20b720e0 EKOrganizer <0x20b720e0> {UUID = FD0E434D-2C9F-4A6E-98DC-    
7FA6F27C3D1E; name = ----- -----; email = --------wa@me.com; isSelf = 1}

(lldb) print ekEvent.organizer.isCurrentUser
(BOOL) $16 = YES
4

2 に答える 2

1

イベントの主催者はデフォルトでは出席者リストに含まれていないため、明示的に出席者として追加します。

主催者は出席者とは異なると見なされ、属性主催者で示されます。そのオブジェクトを使用して isCurrentUser にアクセスすると、Yes という値が返されます。

主催者の電子メール ID を出席者として明示的に追加すると、別のユーザーと見なされるため、出席者の URL を比較して確認する必要があります。

例 : ユーザー a..@a.com が会議またはイベントを開催し、b..@b.com を招待した場合、出席者には b..@b.com のみが表示され、a..@a.com は次のように使用できます。主催者。

a..@a.com を出席者として追加した場合、そのプロパティ isCurrentUser は No であり、出席者の URL 文字列自体を主催者と比較することで確認できます。

于 2014-12-16T14:43:46.870 に答える