2010-06-16 9 views
3

Dans mon application iPhone, j'ai ce bouton, qui ouvre une webcal: // URL dans un UIWebView comme suit:Abonnez-vous à une URL WebCal dans iOS 4.0

#define kHostName @"webcal://www.markthisdate.com/kalender/World_Cup_Football_2010_Match_Schedule_10251.ics" 

    - (IBAction)putInCalendar:(id)sender{ 
    NSURL *url = NULL; 
    url = [[NSURL alloc] initWithString:kHostName]; 
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL: url]; 
    [webView loadRequest: request]; 
    [request release]; 
    [url release]; 
    } 

Dans iOS 3.x, ce qui déclenche une séquence de dialogues "Abonnez-vous au calendrier ...." etc, similaire à ce qui se passe si vous ouvrez la même URL dans Mobile Safari: l'événement associé est ajouté en tant qu'abonnement au calendrier de l'iPhone.

D'une certaine manière, dans iOS 4.0, cela ne fonctionne pas à partir de mon application, bien que l'ouverture de l'URL dans Mobile Safari dans iOS 4.0 fonctionne. Quelqu'un peut-il m'expliquer pourquoi cela ne fonctionne pas, mais encore mieux: quelle serait la bonne approche iOS 4.x pour cette fonctionnalité. J'ai jeté un coup d'oeil sur le nouveau Kit d'événements qui a été ajouté à la version 4.0, parce que cela semble avoir trait à ce genre de choses; La documentation sur Event Kit est cependant plutôt maigre, et je n'ai pas été capable de trouver des exemples de projets utilisant Event Kit.

Répondre

1

Cela a été reconnu comme un bug par Apple, et je l'ai déposé en tant que tel. Il n'y a actuellement aucune solution ....

+0

Cela fait travailler à nouveau dans la dernière version. Quelles versions ne fonctionnent pas? Oh Apple ... – david

0

Il suffit de mettre ce code et vérifier

#define kHostName @"webcal://www.markthisdate.com/kalender/World_Cup_Football_2010_Match_Schedule_10251.ics" 

[[UIApplication sharedApplication]openUrl:[NSUrl urlWithString:[NSString stringWithFormat:@"%@",KHostName];