Ios 如何确定EKEvent的EKParticipationStatus是否为pending(尚未接受)?

Ios 如何确定EKEvent的EKParticipationStatus是否为pending(尚未接受)?,ios,iphone,objective-c,eventkit,ekevent,Ios,Iphone,Objective C,Eventkit,Ekevent,我已经试过了 if ([event participationStatus] == EKParticipantStatusPending) 它正在发挥作用。但是EKEvent的participationStatus没有公开,我害怕使用它,因为它可能会因为一个私有API而导致拒绝 我还尝试了遍历所有event.attenders,但似乎EKParticipant isCurrentUser没有给出正确的值。它总是返回NO for (EKParticipant* participant in

我已经试过了

if ([event participationStatus] == EKParticipantStatusPending)
它正在发挥作用。但是EKEvent的participationStatus没有公开,我害怕使用它,因为它可能会因为一个私有API而导致拒绝

我还尝试了遍历所有event.attenders,但似乎EKParticipant isCurrentUser没有给出正确的值。它总是返回NO

  for (EKParticipant* participant in event.attendees)

  {
    if ([participant isCurrentUser])

    {
      if (participant.participantStatus == EKParticipantStatusPending)

      {
        NSLog(@"NEEDS RESPONSE");
      }

    }

  }

最后,我找到了一种让
isCurrentUser
为任何参与者工作的巧妙方法

根据,我们可以通过
EKParticipant.URL.resourceSpecifier

好吧,你会得到正确的电子邮件,除了两个人。一个是组织者,另一个是在此设备上使用AppleID的当前用户

当您访问这两个家伙时,他们的
资源说明符类似

/amta3mdaxje0mzewnzawmb6y7grnw2ocqza8gkpxsctnzjxrzpebhm/principal/


不是电子邮件格式。

isCurrentUser
仅适用于
[活动组织者]
。正如您所观察到的,对于组织者以外的参与者,它总是返回NO。这是预期的行为吗?这是观察到的(未记录的)行为。如果您可以访问用户名或电子邮件(通过其他方式),您可以自己在与会者中找到该用户,并以这种方式检查状态。我不明白您如何知道该参与者是否是当前用户。@如果您无法获取该用户的电子邮件,则表示该用户是当前用户或组织者,则RaduVlad。我只使用了
EKParticipant.URL.resourceSpecifier
方法,并获得了电子邮件地址。我用了一个临时会议从我的一个谷歌帐户到另一个。我从来没有得到过类似于
/aMTA3MDAxMjE0MzEwNzAwMb6Y7GrNw2OCqzA8gkpxsctNZJxrzpebHm/principal/
@RaduVlad的东西。你确定你的活动是由iCloud创建的,而不是由iCloud从谷歌日历同步的吗?它可能已经同步了。