New OS Features Adaptation for Mobile App

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
New OS Features Adaptation for Mobile App
Medium
~3-5 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Adapting Mobile Application to New OS Features

Every September Apple releases new iOS — and every year part of applications look outdated next to updated system apps. Dynamic Island, Live Activities, interactive widgets, Stage Manager on iPad, Lock Screen widgets — users notice when your app doesn't use what the platform offers for free.

iOS 16: Lock Screen Widgets and Live Activities

Lock Screen Widgets — widgets right on the lock screen. Technically this is WidgetKit with new families .accessoryCircular, .accessoryRectangular, .accessoryInline. Existing Home Screen widget doesn't work on Lock Screen without explicit support for these families.

struct LockScreenWidgetView: View {
    @Environment(\.widgetFamily) var family

    var body: some View {
        switch family {
        case .accessoryCircular:
            Gauge(value: progress, in: 0...1) {
                Image(systemName: "star")
            }
            .gaugeStyle(.accessoryCircular)
        case .accessoryRectangular:
            VStack(alignment: .leading) {
                Text(title).font(.headline)
                Text(subtitle).font(.caption)
            }
        default:
            EmptyView()
        }
    }
}

Lock Screen widget color scheme — .widgetAccentable() for elements that use user's custom lock screen accent color. Without this modifier, widget looks "dead".

Live Activities (ActivityKit) — dynamic chips on Lock Screen and Dynamic Island. Updated via push notifications (ActivityKit pushes) or directly from the app. Typical scenario: delivery, taxi, sports match.

// Starting Activity
let attributes = DeliveryAttributes(orderId: "12345")
let state = DeliveryAttributes.ContentState(status: .preparing, eta: Date().addingTimeInterval(1800))

let activity = try Activity.request(
    attributes: attributes,
    content: .init(state: state, staleDate: nil),
    pushType: .token
)

Key point — pushType: .token. Server gets push token of this activity and can update it via APNs without waking main app. Server-side implementation — mandatory part of the task.

iOS 17: Interactive Widgets and TipKit

Interactive Widgets — widgets with buttons and Toggle. Before iOS 17, tap on widget only opened the app. Now Button and Toggle in WidgetKit execute AppIntent directly from the widget:

struct QuickActionWidget: Widget {
    var body: some WidgetConfiguration {
        StaticConfiguration(kind: "QuickAction", provider: Provider()) { entry in
            QuickActionWidgetView(entry: entry)
                .containerBackground(.fill.tertiary, for: .widget)
        }
    }
}

struct QuickActionWidgetView: View {
    var entry: Entry
    var body: some View {
        Button(intent: ToggleTaskIntent(taskId: entry.taskId)) {
            Image(systemName: entry.isCompleted ? "checkmark.circle.fill" : "circle")
        }
    }
}

containerBackground — new requirement iOS 17: widgets must set background through this modifier, otherwise Xcode warns and widget may look wrong on iOS 17.

TipKit — native framework for teaching tips:

struct NewFeatureTip: Tip {
    var title: Text { Text("Try voice input") }
    var message: Text? { Text("Tap the microphone for quick task addition") }
    var image: Image? { Image(systemName: "mic.fill") }

    var rules: [Rule] {
        #Rule(Self.$hasUsedSearch) { $0.donations.count < 3 }
    }
}

TipKit tracks display rules, stores state (shown/closed/action done), and syncs across devices via iCloud. No need to write custom show tracking.

iPadOS: Stage Manager and Multitasking

Adapting to Stage Manager (iPadOS 16+) is primarily about supporting arbitrary window sizes. The app must work correctly at any aspect ratio, not just fixed iPad sizes.

// Check multiple window support
UIApplication.shared.supportsMultipleScenes // true on iPad with Stage Manager

UIWindowScene.sizeRestrictions lets you set min and max window size for Stage Manager:

windowScene.sizeRestrictions?.minimumSize = CGSize(width: 400, height: 300)
windowScene.sizeRestrictions?.maximumSize = CGSize(width: 1200, height: 900)

AutoLayout with correct constraint priorities and UIContentSizeCategoryAdjusting for fonts — mandatory. Hardcoded sizes in code (frame = CGRect(x: 0, y: 0, width: 375, height: 812)) — guaranteed problems on Stage Manager.

Adaptation Process

Audit: list of new features for specific iOS version, analyze which apply to product and give real value to user.

Prioritization: not every novelty is needed for your app. Live Activities make sense for real-time tracking; Lock Screen Widgets — for quick access to frequently used data. Implementing for the sake of it — not our approach.

Development with @available(iOS 16, *) — older iOS should continue working.

Testing on specific iOS versions, not just the latest.

Timeline Benchmarks

Feature Timeline
Lock Screen Widgets (extending existing) 1–2 days
Live Activities + server integration 3–5 days
Interactive Widgets (iOS 17) 1–2 days
Stage Manager adaptation for iPad 2–3 days
Comprehensive adaptation to new iOS 3–5 days