标签: eventkit

尝试使用EventKit时获取"未定义的符号"?

我试图使用基于doco和SimpleEKDemo应用程序的EventKit,但是我收到以下单个错误.

这个错误意味着什么以及建议采取哪些步骤进行故障排除(我第一次遇到这样的链接错误而且我有点丢失 - 我已经解析了我的代码而不是示例代码,我看不到任何错误明显的差异).

Undefined symbols:
  "_OBJC_CLASS_$_EKEventStore", referenced from:
      objc-class-ref-to-EKEventStore in AppointmentListController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

请注意,在控制器的头文件中我使用的事件包代码我有:

#import <EventKit/EventKit.h>
#import <EventKitUI/EventKitUI.h>
Run Code Online (Sandbox Code Playgroud)

iphone undefined-symbol ios eventkit

7
推荐指数
1
解决办法
2722
查看次数

Apple是否提供用于编辑/添加提醒的UI?

我知道有一个用于以编程方式添加提醒的API.但是有提醒的视图控制器吗?我查看了EventKitUI框架,但我不确定是否EKEventEditViewController适用于提醒,或仅适用于日历项目.

像Apple一样为SMS,Mail,Calendars,Twitter,Facebook提供.

objective-c eventkit ios6

7
推荐指数
1
解决办法
1131
查看次数

如何自定义EKEventEditViewController

EKEventEditViewController在我的应用程序中使用默认,我想自定义它,目前它显示默认的所有字段EKEventEditViewController,但我不想显示URL字段,也想添加时区字段.我可以这样做吗?如果是,那么请求我知道我该怎么做? 在此输入图像描述

iphone calendar ios eventkit

7
推荐指数
1
解决办法
2627
查看次数

EKEvent接受邀请

你如何接受EKEventiOS邀请?我知道Fantastical,Calendars 5和其他日历应用程序可以使用此功能,但我没有看到暴露的非只读属性来更改用户在事件方面的状态.知道怎么做吗?

谢谢,

objective-c ios eventkit ekevent

7
推荐指数
1
解决办法
522
查看次数

EventKit单元测试 - 在主线程上停止

我需要在Xcode中为Unit Test创建多个日历事件.由于访问权限请求,呼叫需要是异步的:

 eventStore.requestAccess(to: EKEntityType.event, completion: {
            granted, error in
             //create events
     })
Run Code Online (Sandbox Code Playgroud)

这是在setUp()循环中完成的,以创建多个事件.问题是,当测试开始运行时,并非所有完成块都已完成.我已实施该waitForExpectations()方法,使其等到计数器满足要求.但是我收到以下错误消息:

Stall on main thread
Run Code Online (Sandbox Code Playgroud)

这是相关的代码 - setUp:

override func setUp()
{

    super.setUp()

    if let filepath = Bundle.main.path(forResource: "MasterCalendar", ofType: "csv") {
        do {

            let expectationCreation = expectation(description: "create events expectation")
            let contents = try String(contentsOfFile: filepath)
            //print(contents)

            let testDataArray = importTestDataArrayFrom(file: contents)



            createTestEvents(testDataArray: testDataArray)
                { (eventsArray) in
                    self.testEvents = eventsArray
                    print("finished creating events")
                    expectationCreation.fulfill()
            }

            waitForExpectations(timeout: 10.0) { (error) in
                if error != …
Run Code Online (Sandbox Code Playgroud)

xcode unit-testing eventkit ekeventkit swift

7
推荐指数
0
解决办法
293
查看次数

EKEventViewController不显示事件详细信息

我目前正在iOS11b6工作,我的代码部分打开一个事件EKEventViewController并没有显示事件详细信息 - 它只显示'新事件','2001年1月1日','无标题日历'.

我的代码显示事件的部分如下(在iOS10中正常工作)

func openEvent() {
    eventIdentifier = eventClipboardIdentifier

    let eventViewController = EKEventViewController.init()
    eventViewController.event = self.getEventFromEventClipboard()
    print(eventViewController.event.title)

    eventViewController.delegate = self
    eventViewController.allowsCalendarPreview = false
    eventViewController.allowsEditing = true

    let navBar = UINavigationController(rootViewController: eventViewController)
    print(eventViewController.event.title)

    present(navBar, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

我在Xcode调试器中遇到的错误如下.

2017-08-20 20:25:48.001329+1000 CalendarApp[1113:281191] *** -[__NSCFCalendar components:fromDate:]: date cannot be nil
Future exception.
A few of these errors are going to be reported with this complaint, then further violations will simply be ignored.
Here is the backtrace where this …
Run Code Online (Sandbox Code Playgroud)

ios eventkit ekevent swift

7
推荐指数
1
解决办法
440
查看次数

如何测试需要设备特定信息的函数/计算属性?

我正在开发一个日历应用程序,我正在努力为使用用户设备上的日历的功能创建测试.该 calendar: EKCalendar变量取自用户事件存储,因此当单元测试在XCode的模拟器上运行时,它们会因日历不存在而失败.使用我的个人设备工作但我们的构建服务器上的测试将失败.

测试使用用户日历/事件存储的函数/计算属性的好方法是什么?

    ///Return the user's name. If this hasn't been saved extract their name from their Enterprise calendar and save it.
static var name: String? {
    if let savedName = defaults.string(forKey: "name") {
        return savedName
    }

    // calendar is a specific EKCalendar members of my company will have.
    guard let calendar = MeetingsFetcher().getUserEnterpriseCalendars().first,
        let parsedName = calendar.title.firstMatch(from: Regex.organizerNameFromEKCalendar) else {
            return nil
    }
    defaults.set(parsedName, forKey: "name")
    return parsedName
}


func getEnterpriseCalendars() -> [EKCalendar]{
    guard EKEventStore.authorizationStatus(for: .event) == …
Run Code Online (Sandbox Code Playgroud)

unit-testing ios eventkit xctest swift

7
推荐指数
1
解决办法
497
查看次数

EKEventstore和唯一的日历标识符

我对EKCalendar的calendarIdentifier财产有疑问.此ID在全局级别或每个源级别上是唯一的吗?例如,我可以安全地将calendarIdentifier存储在我的应用程序中,以便在事件存储中的所有日历中顺利识别日历(无论他们在哪个EKSource中),还是还需要保存与日历相关联的EKSource标识符?

我的应用程序中有一个日历选择功能,我想在应用程序重启时安全地存储和加载正确的日历(在正确的帐户内).

提前致谢.

calendar ios eventkit ios5

6
推荐指数
1
解决办法
1795
查看次数

如何使用eventKit框架为特定日期设置提醒(警报)

我在iOS 5中使用EventKit框架,并使用以下代码成功地将事件添加到iOS日历中

EKEventStore *eventDB = [[EKEventStore alloc] init];

    EKEvent *myEvent  = [EKEvent eventWithEventStore:eventDB];

    myEvent.title     = @"New Event";
    myEvent.startDate = [[NSDate alloc] init];
    myEvent.endDate   = [[NSDate alloc] init];
    myEvent.allDay = YES;

    [myEvent setCalendar:[eventDB defaultCalendarForNewEvents]];
Run Code Online (Sandbox Code Playgroud)

现在如何为此活动添加警报(提醒)?

谢谢Ranjit

ios4 ios eventkit ios5 ekeventkit

6
推荐指数
1
解决办法
6190
查看次数

EventKit:提醒dueDateComponents vs Alarm

我想从我的应用程序创建一个提醒,所以我创建了一个提醒(EKReminder)并设置了一个警报:

NSTimeInterval timeInterval = 100000;
NSDate *alarmDate = [NSDate dateWithTimeIntervalSinceNow:timeInterval];
EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:alarmDate];
[reminder setAlarms:@[alarm]];
Run Code Online (Sandbox Code Playgroud)

但我发现EKReminder上还有一个dueDateComponents属性.设置警报和dueDateComponents有什么区别?

还有一种方法可以创建一个警报:alarmWithRelativeOffset:(NSTimeInterval)offset但是文档说偏移参数可能是否定的,过去怎么可能发出警报?

objective-c ios eventkit

6
推荐指数
1
解决办法
2309
查看次数