안녕하세요 저는 신속한 IOS 프로그래밍에 익숙하지 않습니다. 하루 중 시간에 따라 하루에 6 번 사용자에게 알리는 6 가지 알림을 설정했습니다. 알림이 작동하지만 앱이 처음 시작될 때 어떤 이유로 6 개의 알림이 모두 알림 센터에 동시에 표시됩니다. 어떤 도움이라도 대단히 감사하겠습니다. 화재 날짜에 상관없이 앱을로드하자마자 UILocalNotification이 항상 표시됩니다.
이
이는 여섯 개 가지 통지func prayerAlert (prayerName : String, prayHour : Int, prayMinute : Int) {
dateComp.year = Int(currentDate.year)
dateComp.month = Int(currentDate.month)
dateComp.day = Int(currentDate.day)
dateComp.hour = prayHour
dateComp.minute = prayMinute
dateComp.timeZone = NSTimeZone.systemTimeZone()
var calender : NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
var date : NSDate = calender.dateFromComponents(dateComp)!
var notification : UILocalNotification = UILocalNotification()
notification.alertBody = prayerName
notification.fireDate = date
UIApplication.sharedApplication().scheduleLocalNotification(notification)
}
내 함수 인 AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let notificationTypes : UIUserNotificationType = UIUserNotificationType.Alert | UIUserNotificationType.Badge
let notificationSetting : UIUserNotificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSetting)
return true
}
의 코드이며, 내가있는 viewDidLoad
에서 함수를 호출하고있어 곳이다override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
pray.setTimeFormat(0)
self.locationManager.requestAlwaysAuthorization()
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
self.locationManager.startUpdatingLocation()
}
var timesArray = pray.getDatePrayerTimes(currentDate.year, andMonth: currentDate.month, andDay: currentDate.day, andLatitude: locationManager.location.coordinate.latitude, andLongitude: locationManager.location.coordinate.longitude, andtimeZone: pray.timeZone)
var convertedTime = convertPrayArray(timesArray as NSMutableArray)
prayerAlert("Time for Fajr", prayHour: convertedTime.hourArray[0], prayMinute: convertedTime.minuteArray[0])
prayerAlert("Time for SunRise", prayHour: convertedTime.hourArray[1], prayMinute: convertedTime.minuteArray[1])
prayerAlert("Time for Dhuhr", prayHour: convertedTime.hourArray[2], prayMinute: convertedTime.minuteArray[2])
prayerAlert("Time for Asr", prayHour: convertedTime.hourArray[3], prayMinute: convertedTime.minuteArray[3])
prayerAlert("Time for Maghrib", prayHour: convertedTime.hourArray[5], prayMinute: convertedTime.minuteArray[5])
prayerAlert("Time for Isha", prayHour: convertedTime.hourArray[6], prayMinute: convertedTime.minuteArray[6])
}
방금 시도한 것과 동일한 동작입니다. 아무것도 변경되지 않았습니다. – gnm1978
여전히 정확한 동작을 나타냅니다. – gnm1978
아니요 동일한 동작이 아닙니다. 당신이 생각하고있는 바로 그것입니다. –