Dunfey · Hotel WWDC as data, est. 1983
Front desk everything
Years
Topics

2020 Business & Education

WWDC20 · 15 min · Business & Education

Build scalable enterprise app suites

Learn how to build focused enterprise apps that work well together. In this session, we’ll introduce you to Apple Retail’s suite of enterprise apps, which help employees interact with customers, track operations, manage stores, and stay connected. Discover how Apple Retail created a unified set of apps by adopting Swift Packages and testing for app scalability. And explore how managing apps in production with configurations can help tailor app suites to different regions and locations.

Watch at developer.apple.com ↗

Transcript all transcripts

Code shown on screen · 4 snippets

App Groups swift · at 2:02 ↗
let sharedDefaults = UserDefaults(suiteName: “group.com.apple.myappgroup")!
        
sharedDefaults.set("My Cool Value", forKey: "MyKeyName")
        
let myKeyNameValue = sharedDefaults.string(forKey: "MyKeyName")
BarcodeScannerViewController swift · at 5:04 ↗
import RetailScanner

let scanOptions = BarcodeScanOptions()
scanOptions.scanRegion = .regular
scanOptions.shouldAddSupplementaryView = false
scanOptions.shouldShowBarcodeDetector = true

let barcodeViewController = BarcodeScannerViewController(scanOptions: scanOptions)
barcodeViewController.delegate = self
OCRScannerViewController swift · at 5:29 ↗
import RetailScanner

let scanOptions = OCRScanOptions(
    scanRegion: .custom(CGSize(width: 400, height: 100)),
    accessibilityBehavior: .vibrate,
    shouldAddSupplementaryView: true,
    validation: nil, 
    shouldShowResultView: true
)
scanOptions.recognitionLevel = .fast

let ocrViewController = OCRScannerViewController(
    scanOptions: scanOptions
)
ocrViewController.delegate = self
Config-driven UI - Client based configuration hosted by server swift · at 12:26 ↗
func configuredCellForLabel(for customerInfoField: CustomerInfoField, at indexPath: IndexPath) -> UITableViewCell { . . . }



func configuredCellForPhoneNumber(for customerInfoField: CustomerInfoField, at indexPath: IndexPath) -> UITableViewCell { . . . }