如何识别EKEvent是否有待处理的EKParticipationStatus(尚未接受)?

时间:2014-02-24 01:53:49

标签: ios iphone objective-c eventkit ekevent

我已经尝试了

if ([event participationStatus] == EKParticipantStatusPending)

它正在发挥作用。但是EKEvent的参与状态没有暴露,我害怕使用它,因为它可能会因为私有API而导致拒绝。

我也试过循环遍历所有的event.attendees,但似乎EKParticipant isCurrentUser没有给出正确的值。它总是返回NO

  for (EKParticipant* participant in event.attendees)

  {
    if ([participant isCurrentUser])

    {
      if (participant.participantStatus == EKParticipantStatusPending)

      {
        NSLog(@"NEEDS RESPONSE");
      }

    }

  }

1 个答案:

答案 0 :(得分:1)

最后,我找到了让isCurrentUser为任何参与者工作的棘手方法。

根据https://stackoverflow.com/a/17222036/3683845,我们可以通过EKParticipant.URL.resourceSpecifier

收到与会者的电子邮件

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

当你访问这两个人时,他们的resourceSpecifier就像是

/aMTA3MDAxMjE0MzEwNzAwMb6Y7GrNw2OCqzA8gkpxsctNZJxrzpebHm/principal/

不是电子邮件格式。