Ich möchte iOS7 auslösen, um Benutzer um Erlaubnis zu bitten, Bluetooth- und Twitter-Konto zu verwenden

Dies ist etwas rückständig zu dem, was die meisten Leute verlangen. Ich möchte absichtlich den Dialog auslösen, in dem der Benutzer um Erlaubnis gebeten wird:

Stellen Sie eine Verbindung zu Bluetooth-Geräten her, auch wenn diese offline sind.Greifen Sie dort auf ein iOS-basiertes Twitter-Konto zu.

Ich habe bereits einen ähnlichen Dialog für den Standort, der gut funktioniert. Ich mache das, weil ich den Prozess des Ersuchens um Erlaubnis etwas sanfter gestalten möchte, wie Heyday, indem ein Begrüßungsbildschirm angezeigt wird, in dem erklärt wird, warum die App diesen Dienst benötigt, wenn der Benutzer auf OK tippt, die Anforderung initiiert und den Dialog auslöst.

Ich habe schon einige Dinge ausprobiert. Für Twitter habe ich folgendes ausprobiert:

- (void)triggerTwitterApprovalWithCompletion:(void (^)(BOOL, NSError *))completion  {
  self.accountStore = [[ACAccountStore alloc] init]; //setup as a property.
  ACAccountType *twitterAccountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
  [self.accountStore requestAccessToAccountsWithType:twitterAccountType  options:nil completion:^(BOOL granted, NSError *error) { //completion handling is on indeterminate queue so I force main queue inside
    dispatch_async(dispatch_get_main_queue(), ^{
      completion(granted, error); //triggers displaying the next screen, working
    });
  }];
}

Obwohl die Berechtigung erteilt wurde, erfolgt sie automatisch und nicht, indem dem Benutzer ein Dialogfeld angezeigt und dieses genehmigt wird.

Bei der Bluetooth-Version muss ich noch einen Code finden, der es auslösen würde. Sowohl in den Dokumenten als auch in den Programmierhandbüchern wird relativ leise nach Berechtigungen gefragt. Der einzige Hinweis, den ich finden kann, ist, dass ich einen Plist-Schlüssel für habebluetooth-peripheral Der Benutzer wird beim Start der App automatisch dazu aufgefordert. Dies ist zu früh im Fluss, um nützlich zu sein.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage