Public Sub CreateNotificationWithContent2(Title As String, Body As String, Identifier As String, Category As String, nDateTimeTick As Long)
Dim ln As NativeObject
ln = ln.Initialize("UNMutableNotificationContent").RunMethod("new", Null)
ln.SetField("title", Title)
ln.SetField("body", Body)
Dim n As NativeObject
ln.SetField("sound", n.Initialize("UNNotificationSound").RunMethod("defaultSound", Null))
If Category <> "" Then ln.SetField("categoryIdentifier", Category)
Dim dateComponents As NativeObject
dateComponents = dateComponents.Initialize("NSDateComponents").RunMethod("new", Null)
dateComponents.SetField("year", DateTime.GetYear(nDateTimeTick))
dateComponents.SetField("month", DateTime.GetMonth(nDateTimeTick))
dateComponents.SetField("day", DateTime.GetDayOfMonth(nDateTimeTick))
dateComponents.SetField("hour", DateTime.GetHour(nDateTimeTick))
dateComponents.SetField("minute", DateTime.GetMinute(nDateTimeTick))
dateComponents.SetField("second", DateTime.GetSecond(nDateTimeTick))
Dim trigger As NativeObject
trigger = trigger.Initialize("UNCalendarNotificationTrigger").RunMethod("triggerWithDateMatchingComponents:repeats:", Array(dateComponents, False))
Dim request As NativeObject
request = request.Initialize("UNNotificationRequest").RunMethod("requestWithIdentifier:content:trigger:", _
Array(Identifier, ln, trigger))
Dim NotificationCenter As NativeObject
NotificationCenter = NotificationCenter.Initialize("UNUserNotificationCenter").RunMethod("currentNotificationCenter", Null)
NotificationCenter.RunMethod("addNotificationRequest:", Array(request))
End Sub