2011-05-16 14 views
4

のアカウント情報を取得します。 は、私は私のアプリでEventKitを使用していますし、カレンダーが属するアカウント何かを見つけるしたいと思いますEKCalendar

iPhoneのカレンダーアプリ

は「 [email protected]」インスタンスのアカウント名、または「GmailのMYNAME」で、アカウントごとにグループ化され、すべてのカレンダーを表示します。これらのアカウント名はどこから入手できますか?

EKEventStoreからEKCalendarのリストを取得できますが、各カレンダーのタイトルを取得できますが、どこからアカウント名を取得するかわかりません。このための正式なAPIはありますか?この情報を他にどのように取得できますか? App Storeでアプリによっては、アカウント名が表示されませんので、(また、承認プロセスをすり抜ける...)方法

おかげで、 トーマス

更新がなければならない: どこか他のI私有財産への参照が見つかりました。私が自分でそれを探し始める前に、誰がその物件の名前が分かっているのですか?

また、他の人がdescription(アカウントを含む)の解析を提案しましたが、これはあまり安全ではなく、エレガントな方法ではありません。

アップデート2: 私は私有財産(およびその名前)があることを発見した、正常に動作するようです。

+0

参照[この質問](http://stackoverflow.com/questions/6417632/how -to-access-an-ekcalendars-account-property)を使用して、プライベートAPIに関する情報と、iOS 4.3でのプライベートAPIの使用を回避するためのハックを可能にします。 – puzzle

答えて

2

私はAppleのドキュメントを通して見てきたし、アカウント名は、パブリックAPIを介して利用していないようです。プライベートプロパティを使用すると、あなたのアプリは即座に拒否されるので、App Store上の他のアプリは、デシジョン解析メソッドを使用しているとします。

私はあなたがAppleとバグレポートを投稿して、彼らはパブリックAPIを介してアカウント名を使用できるように要求示唆しています。彼らは(彼らが行う場合)を行うまでは、私はあなたの唯一のオプションは、あなたがEKCalendarからEKSourceにアクセスできるのiOS 5.0以来のApp Store

0

上のアプリをしたい場合の記述を解析することだと思います。 あなたはその元の名前&種類を取得することができます。

  • CalHotmail:取引所(TypeExchange)
  • BirthHotmail(読み取り専用):取引所(TypeExchange)
  • MyCoolAccountCal:ヤフー(TypeCalDAV)
  • EKEventStore * eventStore = [[EKEventStore alloc] init]; 
        NSArray * calendars = [eventStore calendarsForEntityType:EKEntityTypeEvent]; 
        NSArray * typeNames = [[NSArray alloc] initWithObjects:@"TypeLocal",@"TypeExchange",@"TypeCalDAV",@"TypeMobileMe",@"TypeSubscribed",@"TypeBirthdays", nil]; 
        for (EKCalendar * calendar in calendars) { 
         NSString * calendarTitle = calendar.title; 
         EKSource * source = calendar.source; 
         NSString * accountName = source.title; 
         EKSourceType type = source.sourceType; 
         NSLog(@"%@ : %@ (%@)", calendarTitle, accountName, typeNames[type]); 
        } 
    

    ログのようなルックスを生成しました

  • Calendrier:デフォルト(TypeLocal)誕生日:Other(TypeBirthdays)
  • Calendrier:[email protected]。 FR(TypeExchange)
  • ArnoTest:Gmailの(TypeCalDAV)
  • 連絡先の誕生日やイベント:Gmailの(TypeCalDAV)
関連する問題