dateComponentsRange
An expected range of delivery or shipping dates for a package, or the time range when an item is available for pickup.
Declaration
@NSCopying var dateComponentsRange: PKDateComponentsRange? { get set }Discussion
Use this object to set the expected date range for shipping a package, or the time an item is available for pickup. The payment sheet displays the range as part of the shipping method on the main sheet.
The example below shows setting a two-day time range for shipping a package that starts three days from today:
let shippingMethod = PKShippingMethod(label: "Delivery", amount: NSDecimalNumber(string: "10.00"))
let today = Date()
let calendar = Calendar.current
let shippingStart = calendar.date(byAdding: .day, value: 3, to: today)!
let shippingEnd = calendar.date(byAdding: .day, value: 5, to: today)!
let startComponents = calendar.dateComponents([.calendar, .year, .month, .day], from: shippingStart)
let endComponents = calendar.dateComponents([.calendar, .year, .month, .day], from: shippingEnd)
shippingMethod.dateComponentsRange = PKDateComponentsRange(start: startComponents, end: endComponents)