私はちょうどiOS上でSWIFTプログラミングを始めています。しかし、私はJAVA、C#、PHPなど他の言語で良い経験をしています。それは、私は少し問題に遭遇していると言いました。私は地理的な場所に基づいてユーザー情報を表示する簡単なアプリケーションを作成しています。私はhereのチュートリアルに従っています。アラートボックスユーザに場所特権を与えるように指示していません
しかし、Swift 2.xと3.xの間で多くのことが変更されているので、コードを修正する必要がありました。それほど難しくなく、今まで私はそれをコンパイルするようにしました。しかし、私は決して私がデバイスの場所を使用できるようにするアプリケーションによって頼まれることはありません。
私はInfo.plistに "NSLocationAlwaysUsageDescription"を入れることに関して、アップルの指示通りにhereに従っています。しかし、私は決して尋ねられません。このアラートを表示する必要のある関連コードを以下に示します。
ご協力いただければ幸いです。ありがとう。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// 1. status is not determined
if CLLocationManager.authorizationStatus() == .notDetermined {
locationManager.requestAlwaysAuthorization()
}
// 2. authorization were denied
else if CLLocationManager.authorizationStatus() == .denied {
let controller = UIAlertController(title: "Error!", message: "Location services were previously denied. Please enable location services for this app in Settings.", preferredStyle: .alert)
let alertAction = UIAlertAction(title: "Dismiss", style: .destructive) { (action) in
print("Dismiss button tapped!")
}
controller.addAction(alertAction)
}
// 3. we do have authorization
else if CLLocationManager.authorizationStatus() == .authorizedAlways {
locationManager.startUpdatingLocation()
}
}
ヤック。あなたは 'スイッチ'について知っていますか? – matt
@mattこれは実動コードではありません。私はmapViewを動作させようとしていました。私はiOSプログラミングの初心者ですので、ご質問をお許しください。 –