2016-07-05 1 views
0

私はEKEventからプロパティbirthdayContactIdentifierにアクセスすると、私はいつもすぐに(にチェックnilにできていなくても)BAD_ACCESSエラーを取得birthdayContactIdentifier BAD_ACCESS

これは私が私が見つけた

import UIKit 
import EventKit 
class ViewController: UIViewController { 

let eventStore : EKEventStore = EKEventStore() 
override func viewDidLoad() { 
    super.viewDidLoad() 

    eventStore.requestAccessToEntityType(.Event) { (granted, error) in 
     if granted == true { 
      let startDate = NSDate() 
      let endDate = startDate.dateByAddingTimeInterval(7.0*86400.0) 

      let events = self.eventStore.eventsMatchingPredicate(self.eventStore.predicateForEventsWithStartDate(startDate, endDate: endDate, calendars: nil)) 

      for event in events { 
       if event.calendar.type == .Birthday { 
        NSLog("\(event.title)") 
        NSLog("\(event.birthdayContactIdentifier)") // BAD_ACCESS 
       } 
      } 
     } 
    } 
    } 
} 

答えて

0

を取得するために使用していたコードですバグ番号22475180 here。 birthdayPersonIDを試してみてください。現在のところ、iOS 9では廃止されていますが、動作が異なる可能性があります。

+0

これまでのところ、Appleはこれに不都合な解決策を提示していませんでした。私はbirthdayPersonIDを試みますが、それは連絡先フレームワークと互換性がない可能性が高いです。しかし、私はやり直して報告します。 – Guus

+0

birthdayPersonIDで試しただけでエラーは発生しませんが、識別子が異なるため正しい連絡先が取得されません。 – Guus

+0

birthdayContactIdentifierの障害が発生した場合、それがどう違うかどうして確認しますか? (そこに手掛かりがあると思います) – Feldur

関連する問題