Extensions

RSS for tag

Give users access to your app's functionality and content throughout iOS and macOS using extensions.

Posts under Extensions tag

200 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Is there a way to use any kind of server authentication in Message Filtering iOS App extension?
Greetings! I am currently working on Message Filtering iOS App extension: https://developer.apple.com/documentation/sms_and_call_reporting/sms_and_mms_message_filtering We are using the approach to defer the query to an associated server: https://developer.apple.com/documentation/sms_and_call_reporting/ilmessagefilterextensioncontext/2880240-deferqueryrequesttonetwork Although iOS ensures that no other app extension can make these requests to the server via associated domains feature, the security team is concerned a lot about creating an endpoint which has no client-server authentication at all (OAuth or bearer token authentication). It means that the endpoint may potentially be used by some thirdparty scripts, apps, etc, and we won't be able to distinguish this from valid clients on the backend. I am aware of the note in documentation saying For privacy reasons, the system handles all communication with your associated server; your Message Filter app extension can’t access the network directly. Your app extension also can’t write data to containers shared with the containing app. But maybe there is a way to add any client-server network authentication to requests made by deferring the message filter query to our server? Thanks in advance, Konstantin
1
0
823
Aug ’23
group.is.workflow.my.app Is this a necessary app? Do others have access?
Hi I'm a total novice on this stuff so please know that in advance. Won't go into details but my former employer has repeatedly hacked into my network, email etc. It's being dealt with legally. That said you can imagine my paranoia all the time and I never know is okay or what is suspicious. I find it really hard to get actual information on google etc., so I'm turning to you far more experienced and knowledgeable mac people. I stumbled on the above looking for something in terminal. It's obviously in the applications software section. Falls under Users/me/Library/application scripts/group.is.workflow.my.app The timing of the installation is exactly when there was a certain event. Also, on all of my files, I have to remove Staff from accessing. I don't know what that's about but if anyone has insight let me know. Please see attached. Thank you!!
5
0
3.4k
Sep ’23
Using the same widget extension for both iOS and WatchOS
Isn't it possible to use the same widgetkit extension for both iOS and WatchOS? In the WWDC's BackyarBirds project from Apple, I can see the widget extension is added to both the multiplatform (including iOS) and the watch targets. I can also see that the SwiftUI code even uses macros to check which platform the code is running on. However, I'm having several issues with adding the same extension to both targets. When I add it to the watch target, I get a build error that I'm trying to embed an application that also builds for iOS and that is not allowed for the watch app. Not sure if any code here is helpful, but this is my widget UI code: struct AkvaWidget: Widget { private let kind = "Akva Widget" var families: [WidgetFamily] { #if os(iOS) return [.accessoryCircular, .accessoryRectangular, .systemSmall] #elseif os(watchOS) return [.accessoryCircular, .accessoryRectangular, .accessoryInline, .accessoryCorner] #endif } var body: some WidgetConfiguration { StaticConfiguration( kind: kind, provider: AkvaSnapshotTimelineProvider() ) { entry in AkvaWidgetView(entry: entry) } .configurationDisplayName("Akva") .description("Keep track of your water intake.") .supportedFamilies(families) } }
1
0
1.2k
Jul ’23
Strange behavior and log entries for Mac Catalyst Action
I have a text based action for iPhone and Mac Catalyst I am developing in Xcode 14.3.1 on macOS 13.4.1. I have the container app, an action and an AppGroup defined. I have confirmed that I can read the necessary shared defaults when the action launches. At this point the UI for the action is a simple textview in which I hope to display a modified version of the text passed to the action in the NSExtensionItems. I am not using a simulator. I am running the action directly using Xcode. What is happening is that the ActionViewController viewDidLoad runs but no visible window opens. In the console I see this as the action launches: 2023-07-05 18:27:23.692277-0700 XYZ[4634:279295] [ViewBridge] ViewBridge attempted to look up a hosted window with identifier 8E816BD5-67D3-402D-ADEB-AC59EDFA1F3B, but it was never registered. 2023-07-05 18:27:23.692408-0700 XYZ[4634:279295] [WindowHosting] UIScene property of UINSSceneViewController was accessed before it was set. .... The last line above is repeated 12 times.... Any helpful ideas would be deeply appreciated! Steve
1
0
893
Mar ’24
Unable to change binary version and build for Widgets in Xcode 15
My current app's version is 3.0 and build 4 (which i set in the identify tab as shown in the picture below). When I created a new Widget Extension and when I build I get this warning: The CFBundleVersion of an app extension ('1') must match that of its containing parent app ('4'). I know for a fact that this is the issue with the build and version number not being the same as my app. But I just don't see a place where I can change it in the Xcode tabs instead of manually changing it in my info.plist I remember seeing and using the option to change the build and version numbers for widget extensions in Xcode 13, 14. This how it looks for the iOS app: This how it looks for the Widget Extension: Hoping this is just a bug!
2
5
2.9k
Oct ’23
Notification Service Extension in iOS works sometimes but stops working other times. User needs to restart device to get it working again.
We have an app where the notification service extension works well most of the time. However, sometimes we have noticed that the extension completely stops working even when the notification is sent successfully via the APNS server in production. We do not see even the log from the didReceive() function in that case. The only way we can get the extension working again is after restarting the iPhone. Trying to understand when this might happen? Is it something that is throttled by iOS? Would it happen when the device memory is low or the app is using too much memory? We have seen the extension crash sometimes due to hitting memory limits, however, the extension process is spawned again when a new notification comes in. Any kind of help or guidance would be greatly appreciated. Thanks We have setup acknowledgment API calls in the notification service extension processing to be notified when the notifications reach the device. So based on that we know how often the devices stop responding with the ACK to sent notifications. It happens seldom with some users and we have to ask them to restart their device to get the extension functional again.
4
1
1.6k
Jan ’24
Can't debug ILMessageFilterExtension
I have an application that filters messages using ILMessageFilterExtension. I have app groups set up and sertificates/profiles. The filtering worked a couple of months ago, but recently I noticed that I can't debug the extension( ILMessageFilterExtension's init() didn't called). When I connect to the "Messages" process, I get the following errors. What could be the problem? 2023-07-17 19:52:31.450808+0200 MobileSMS[2344:373404] [ServerBag] Checked bag access permission -- allowed? YES {self: <IDSCourierServerBag: 0x2816a0240>, hasMachAccess: YES, hasEntitlements: YES} 2023-07-17 19:52:31.498361+0200 MobileSMS[2344:373407] [AppConfiguration] [com.apple.MobileSMS:F297CBA2-105E-4D38-9EB1-BB09500B39C7] Error when getting current app configuration for action identifier ConversationListFocusFilterAction, error='Error Domain=DNDErrorDomain Code=1007 "No current action is available. Supply the caller with the default." UserInfo={NSLocalizedDescription=No current action is available. Supply the caller with the default.}' 2023-07-17 19:52:31.545894+0200 MobileSMS[2344:373351] [ViewController] Calling -viewWillAppear: directly on a view controller is not supported, and may result in out-of-order callbacks and other inconsistent behavior. Use the -beginAppearanceTransition:animated: and -endAppearanceTransition APIs on UIViewController to manually drive appearance callbacks instead. Make a symbolic breakpoint at UIViewControllerAlertForAppearanceCallbackMisuse to catch this in the debugger. View controller: <CKSearchViewController: 0x979059000> 2023-07-17 19:52:31.550596+0200 MobileSMS[2344:373351] [CompositionalLayout] Invalid absolute dimension, must be > 0.0. NOTE: This will be a hard-assert soon, please update your call site. 2023-07-17 19:52:31.550619+0200 MobileSMS[2344:373351] [CompositionalLayout] Invalid absolute dimension, must be > 0.0. NOTE: This will be a hard-assert soon, please update your call site. 2023-07-17 19:52:31.550632+0200 MobileSMS[2344:373351] [CompositionalLayout] Invalid absolute dimension, must be > 0.0. NOTE: This will be a hard-assert soon, please update your call site. 2023-07-17 19:52:31.550642+0200 MobileSMS[2344:373351] [CompositionalLayout] Invalid absolute dimension, must be > 0.0. NOTE: This will be a hard-assert soon, please update your call site. 2023-07-17 19:52:31.614473+0200 MobileSMS[2344:373408] [PAAccessLogger] Failed to log access with error: access=<PATCCAccess 0x2800b90e0> accessor:<<PAApplication 0x2800a8370 identifierType:inProcess assumedIdentity:(null)>> identifier:EECF4598-342E-4DC7-9BC4-277B1E7B294F kind:intervalEvent timestampAdjustment:0 visibilityState:0 assetIdentifierCount:0 tccService:kTCCServiceAddressBook, error=Error Domain=NSCocoaErrorDomain Code=4097 "connection to service with pid 1317 named com.apple.privacyaccountingd" UserInfo={NSDebugDescription=connection to service with pid 1317 named com.apple.privacyaccountingd} 2023-07-17 19:52:31.618769+0200 MobileSMS[2344:373351] [Warning] Could not determine if com.apple.messages.browser.MorePlugin is a recent or favorite! 2023-07-17 19:52:31.620785+0200 MobileSMS[2344:373351] [Warning] Could not determine if com.apple.messages.browser.MorePlugin is a recent or favorite! 2023-07-17 19:52:31.630814+0200 MobileSMS[2344:373351] [Warning] Could not determine if com.apple.messages.browser.MorePlugin is a recent or favorite! 2023-07-17 19:52:31.803429+0200 MobileSMS[2344:373404] [General] Failed to get any results from PersonalizationPortrait. (null)
1
0
903
Oct ’23
Location push service extension not getting awake
I'm trying to implement the Location Push Service Extension in my app.I have added location push service extension. When I call startMonitoringLocationPushes(completion:) method, I also got the APNs token as data. When I send the location push with this APNs token, it successfully delivered to the target device. But none of these below methods has been called in the app: didReceiveLocationPushPayload serviceExtensionWillTerminate locationManager( .... didUpdateLocations ...) locationManager(... didFailWithError ....) So, I think location push notification is not awaking the location push service extension. I am using development for APS environment. May I know am I missing anything in XCode configuration?
0
0
523
Jul ’23
Unable to register custom URL for MessagesExtension app
I'm trying to authenticate with a OAuth2.0 service when my MessagesExtension app loads. I see that one of the parameters the service requires is a redirect_uri, which will pass back an authorization code to my application through the redirect callback. However, I'm unable to provide a redirect_uri that will invoke my application since MessagesExtension applications do not have an appDelegate. Is it just not possible to authenticate with services requiring a redirect_uri with a MessagesExtension application?
0
0
404
Jul ’23
Widgets not loading on iOS 16.x
We have a few widgets with configurations enabled. These have been loading/refreshing just fine on iOS 15.x devices across all configurations. However, on iOS 16.x devices only a few configurations load while others just show a skeleton view. Also, we did verify on simulators for all the configurations on iOS 15.x, 17, and widgets load as expected on them expect for 16.x simulators. I have read a few articles where people have been experiencing simialr issues with widgets on iOS 16.x - https://piunikaweb.com/2023/03/10/ios-16-lock-screen-weather-widget-not-updating-or-blank-issue/ Any help or suggestions to resolve this?
1
1
1.1k
Oct ’23
iOS 16 webRTC: Picture is choppy when scrolling the page on iphone
I use the Replaykit extension to recode the screen and transform the CMSampleBufferRef to CVPixelBufferRef, then add the video frame like this: let rotation = RTCVideoRotation(rawValue: videoRotation) let rtcPixlBuffer = RTCCVPixelBuffer(pixelBuffer: imageBuffer) let rtcVideoFrame = RTCVideoFrame(buffer: rtcPixlBuffer, rotation: rotation ?? ._0, timeStampNs: Int64(timeStampNs)) webRTCClient.addVideoCapture(videoFrame: rtcVideoFrame) } func addVideoCapture(videoFrame: RTCVideoFrame) { videoSource?.capturer(videoCapturer!, didCapture: videoFrame) } It works ok on iOS 15, but when I test it on iOS 16, I scroll the page on the sender, and I find the picture is choppy on the receiver. Does anyone know how to resolve this issue?
0
0
383
Jul ’23
LocationPushServiceExtension is not calling
I have my own iOS app that works great. But I needed to connect Location Push Service Extension to this application. The steps I performed: I got the entitlement for location push type, created certificates, profiles for this service, then I implemented this service by connecting all profiles to it and adding to .entitlements com.apple.developer.location.push. In the AppDelegate of my application, I create a service that has a CLLocationManager in it, which monitors the departure of the application to the background and immediately calls the startMonitoringLocationPushes method. startMonitoringLocationPushes works fine and gives me APN token. But when I try to send a notification to the device, the service is not even called. The push structure looks like this: payload: {}, compiled: false, aps: {}, expiry: -1, priority: 10, topic: 'ru.profsoft.alertonDev.location-query', pushType: 'location' } [headers] { 'apns-topic': '<MainAppID>.location-query', 'apns-push-type': 'location' } I use a small service on Node JS to send push notification to APN and it successfully delivers them, and the Apple console also successfully delivers them But when device is successfully gets any location push, service is not calling. I started to use Debug -> Attach to process by PID or Name and got this error: Thread 1: EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=24 MB) But my LocationPushService contains only autogenerated code without any extra implementation. Also I checked Console and found these errors when I delivered push to the device: This is first error's description: Failed to get LSApplicationRecord for <RBSLaunchRequest| xpcservice<ru.profsoft.alertonDev.AlertonLocationPushServiceDev([osservice<com.apple.locationpushd>:201])>; "Launching extension ru.profsoft.alertonDev.AlertonLocationPushServiceDev(BB972E40-8E19-48D5-B05D-13A5D9D7005B) for host 201"> with error Error Domain=NSOSStatusErrorDomain Code=-10814 "(null)" UserInfo={_LSLine=1538, _LSFunction=runEvaluator} Can anybody help with this?
0
0
488
Aug ’23
Is wallet extension an mandatory implementation for Apple Pay and Add to wallet?
I am working on a banking application (includes iPhone and iPad) which includes add to wallet feature. During the implementation I saw one document it is mentioned that for iPad app, the app must be extended to support Apple pay functionality. Details from document says "Card Issuers with an iOS mobile banking app must support Card Issuer iOS Wallet extension functionality to enable Card issuer mobile app customers to provision new cards directly from the iOS Wallet app with all eligible Apple iOS devices. If the Card Issuer has a dedicated iPad App, that App must be extended to support Apple Pay functionality. " Is wallet extension implementation required for Apple pay to work in iPhone and iPad? Is wallet extension a mandatory implementation for Add to Apple Wallet feature to work and approved by Apple? I am little confused in this. Anyone who integrated Apple pay or done add to Apple Wallet feature recently without wallet extension faced any rejection? Any help would be much appreciated.
3
1
2.5k
May ’24
How to create UIImage in an extension - ShieldConfigurationExtension
I'm trying to modify a ShieldConfigurationExtension, but am having trouble adding an icon. I have tried directly adding a png to the ShieldConfiguration extension folder and creating a UIImage from it, but it doesn't seem to work. Am I working with images within an extension properly? This code displays the default configuration override func configuration(shielding application: Application, in category: ActivityCategory) -> ShieldConfiguration { // Customize the shield as needed for applications shielded because of their category. let image = UIImage(named: "icon") return ShieldConfiguration( icon: image) } This code properly displays a customized configuration return ShieldConfiguration( title: ShieldConfiguration.Label(text: "test", color: .white))
1
0
823
Aug ’23
Keyboard extension input auto enter
Hi all, So im develop a keyboard extension to have it custom for my distinct host app. The keyboard are connect with hardware barcode scanner. I have problem to auto 'send' the form when the barcode read. So, if I have other string (barcode) combine with the ("\r"), this will not trigger the auto send. func performBarcodeScan(barcode: String, scanner: String) { textDocumentProxy.insertText(barcode+"\r") } But, I tried with this situation where i already type some string input in the field and have only ("\r") as below, that will work func performBarcodeScan(barcode: String, scanner: String) { textDocumentProxy.insertText("\r") } have the insertText twice to separate the string also not work. I hope anyone can help with this as i have been stuck forrr a longgggg time. Thanks in advanced!
0
0
327
Aug ’23
Notification Content Extension failing to run on Mac
Hi, I'm trying to use UNNotificationContentExtension for a SwiftUI Mac application, and I'm unable to get it to run - the default notification type is displayed instead. I'm using Mac OS 12.6.7 and Xcode 14.2 To reproduce, create a new SwiftUI Mac application, and replace the contents of the ContentView body VStack with the following: Button("Request Permission") { UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { success, error in if success { print("All set!") } else if let error = error { print(error.localizedDescription) } } let notificationCategory = UNNotificationCategory(identifier: "test", actions: [], intentIdentifiers: []) UNUserNotificationCenter.current().setNotificationCategories([notificationCategory]) } Button("Schedule Notification") { let content = UNMutableNotificationContent() content.title = "Testing" content.categoryIdentifier = "test" content.sound = UNNotificationSound.default // show this notification five seconds from now let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.1, repeats: false) // choose a random identifier let request = UNNotificationRequest(identifier: "myApp", content: content, trigger: trigger) // add our notification request UNUserNotificationCenter.current().add(request) } Then do New->Target->Notification Content Extension. In the extension Info.plist, set UNNotificationExtensionCategory to 'test'. My understanding was that this should be enough to get the extension to load, but it doesn't seem to be. Am I missing something? Thanks in advance!
1
0
350
Aug ’23
File Sharing: ‘Open in App’ option is not available along with Share extension from iOS 16 and above
Hi, My iOS app used to import say abc.xyz file using ‘Open in App’ option which is achieved using Uniform Type Identifiers(UTI). This abc.xyz file was attached and shared via an email client. [Note: My app also has Share extension to import other file type] Upto iOS 15, When I try to import this file to my app I can see 2 options(Expected behaviour): Open in app Share with app But from iOS 16 and above(latest iOS 17 beta 4), I can only see below option, Share with app To debug further, I created a project(iOS 17 beta 4) and added UTI support for abc.xyz file format(Same as above). When the same file is attached in email client and try to import to app, I can see below option, Copy to app When this file is saved locally(on device) and later try to import from the Files folder, I can see below option, Open in app But the moment I add Share extension(Which is the requirement of my app), the only option to import file is Share with app From the above observation my queries are, Why there is behavioural change from iOS 16 and above when showing the options to import file ? Has “Open in app” option removed when Share extension is present in app from iOS 16 and above ? Does that mean when Share extension target is added in project the only way to import files is via Share extension from iOS 16 and above ? Or can you please suggest if any extra parameters to be added to info.plist from iOS 16 and above to support both options i.e., Open in app & Share with app ?
0
1
977
Aug ’23