This app built in swift 4. It displays Qibla direction based on user location.
git clone https://github.com/taaa22/Qibla-Swift4.git
cd Qibla-Swift4/
open Qibla.xcodeproj -a xcode
𝑠𝑖𝑛(𝜆𝐿−𝜆𝑀)
tan(𝑄) = -------------------------------------
𝑐𝑜𝑠(𝜑𝐿).𝑡𝑎𝑛(𝜑𝑀)−𝑠𝑖𝑛(𝜑𝐿).𝑐𝑜𝑠(𝜆𝐿−𝜆𝑀)
- 𝜑𝑀 = Makkah (Qibla) Latitude.
- 𝜆𝑀 = Makkah (Qibla) Longitude.
- 𝜑𝐿 = User location Latitude.
- 𝜆𝐿 = User location Longitude.
//𝜑𝑀
let phiM = 21.4*CGFloat.pi/180.0
//𝜆𝑀
let lambdaM = 39.8*CGFloat.pi/180.0
//𝜑𝐿
let phiL = CGFloat(location.coordinate.latitude) * CGFloat.pi/180.0
//𝜆𝐿
let lambdaL = CGFloat(location.coordinate.longitude) * CGFloat.pi/180.0
let qiblaAngle = 180.0/CGFloat.pi * atan2(sin(lambdaM-lambdaL),cos(phiL)*tan(phiM)-sin(phiL)*cos(lambdaM-lambdaL))
Check this app on app store: