Extensions

RSS for tag

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

Posts under Extensions tag

206 results found
Sort by:
Post not yet marked as solved
31 Views

Keyboard extension disappears from selected keyboards list on iOS 15

Hi! Does anybody encountered a problem when selected custom keyboard disappears from keyboards list after updating to iOS 15? We have a lot of complaints from our users, once a day they need to go to Settings to re-add our keyboard extension. FB9700027 in case someone from Apple can take a look. Thanks!
Asked
by arturomya.
Last updated
.
Post not yet marked as solved
222 Views

FileProvider: File badge and status icon not refreshed

ISSUE: "testL2R" is a local folder added. After uploaded to server, I set its meta as isUploaded=YES and set the badge as SyncDone, and signal its parent. Through fileproviderctl tool, I can see the badge name is correctly set. But finderUI never update unless I go to root folder and reenter Private folder again. I also tried signal workingSet, signal multiple times. Neither of them work. How can I get FinderUI updated?
Asked
by angle0047.
Last updated
.
Post not yet marked as solved
166 Views

How to get "Additional Permissions Requested" header with iOS Safari extension?

Other iOS Safari extension show an "Additional Permissions Requested" header with a Review button on pages that require extension access. On my own extension this is not showing. Content scripts aren't injected until a user finds the extension in the toolbar opened from the browser address bar, and gives permission there. How can I get this permission dialog to show for my own extension on pages where I want to inject content scripts?
Asked
by bramiam.
Last updated
.
Post not yet marked as solved
179 Views

rvictl- Device gets disconnected on iOS 15

After upgrading to iOS 15, rvictl does not work as expected. It starts the device at rvi0 successfully but within few seconds rvi0 interface is getting closed. Wireshark says interface no more connected. "rvictl -s" prints "Could not get list of devices" after few seconds. Is this a known issue with iOS 15? Any workaround? I've tried on macOS Big Sur, version 11.6
Asked
by mmeera.
Last updated
.
Post not yet marked as solved
114 Views

MacOS Structs, Constants, TableView Delegate (Implement a Variable) Question

The question: Is it possible to have a tableView delegate access a variable … ? The applications sample test code is trying to do the following: 1. The application is trying to make the first column number (a variable), requested by the applications main viewController, visibly stand out in the secondary viewControllers tableView with a large bold different colour font. The application code: 1. The applications main viewController (the engine) searches the tableView data source for column numbers, requested by the (USER). 2. The applications secondary viewController receives the first column number with a (Notification) sent by the main viewController in viewDidLoad. 3. The applications secondary viewController also identifies the (first column number) as a (Struct Constant) from (MyApplicationConstants_File.swift) in the tableView Delegate. 4. The applications secondary viewController tableView (extension FirstViewController: NSTableViewDelegate) identifies the (first column number Notification) as zero (0). 5. The applications secondary viewController tableView (extension FirstViewController: NSTableViewDelegate) identifies the (Struct Constant first column number). I have not found literature to illustrate how to make a (variable) visible to the tableView with protocols or delegation, then again, I am not sure, just yet, whether implementing a protocol / delegate class design is the correct path to follow. A literature source with possible suggestions to modify a (variable) to behave like a (Struct Constant) within the tableView delegate would be welcome, and or the comment (not possible). (Not possible) would allow me to shutdown this avenue of pursuit, gracefully. Again as always, thank you, and best regards, jim_k The secondary viewController code: The secondary tableView (first column number) code snippet: } else if tableColumn?.identifier == NSUserInterfaceItemIdentifier(rawValue: "firstColumn") { /// The (USER) entered the number (10). /// Identify the (STRUCT CONSTANT) for the (FIRST NUMBER). /// This (STRUCT CONSTANT) from the constants Swift file is recognized. let someFirstNumber = TheRequestedNumbersToFind.theFirstNumber print("First Number Struct Constant Received :: \(someFirstNumber)") // Prints : // First Number Struct Constant Received :: 10 // /// Identify the (TRANSFERRED NOTIFICATION NUMBER) for the (FIRST NUMBER). // /// The (TRANSFERRED NOTIFICATION NUMBER) is (10) but recognized as Zero (0). // let someFirstNumber = theFirstNumberReceived // print("THE TRANSFERRED NOTIFICATION NUMBER :: \(someFirstNumber)") // // Prints : // // THE TRANSFERRED NOTIFICATION NUMBER :: 0 /// Identify the tableView (theFirstNumberTextField) let theFirstNumberTextField = Int32(twoNewArrayData[row].first) /// Test the condition. if (theFirstNumberTextField) != someFirstNumber { /// This code identifies the (NOT EQUAL) correctly. <=== No errors. print("The (someFirstNumber) is (NOT EQUAL) to the (theFirstNumberTextField).") /// Therefore continue to leave the (theFirstNumberTextField) unchanged. cellView.textField?.intValue = Int32(twoNewArrayData[row].first) } else { /// The application is here because the condition was met, /// therefore change the (theFirstNumberTextField) font. /// This code identifies the (EQUAL) correctly. print("The (someFirstNumber) is (EQUAL) to the (theFirstNumberTextField).") /// A few numbers (6, 12, 5) are marked incorrectly (Do not know why.) /// Identify the (theFirstNumberTextField) to change. cellView.textField?.intValue = Int32(twoNewArrayData[row].first) /// Change the (TEXT FIELD COLOUR TO BLACK). cellView.textField?.textColor = NSColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0) /// Change the (TEXTFIELD FONT SIZE) with CGFloat. /// The (ORIGINAL FONT SIZE) is set to (11). let fontSize = 14 cellView.textField?.font = NSFont.boldSystemFont(ofSize: CGFloat(fontSize)) } // <=== End of *** if (theFirstNumberTextField) != someFirstNumber *** } else if tableColumn?.identifier == NSUserInterfaceItemIdentifier(rawValue: "secondColumn") { // (code continues for other column textFields) } return nil } // <=== End of *** func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? ***
Asked
by jim_k.
Last updated
.
Post not yet marked as solved
66 Views

Change MessageFilterExtension Display Name

I am able to create multiple MessageFilterExtension modules in my application. However, when viewed in the Settings > Messages > Unknown & Spam list, they all have the same name: the name of the application. I tried setting the Product Name when adding the target and the Display Name after creating it, but they all still have the same name in the list. How can I change the display name to differentiate multiple MessageFilterExtension targets? Or do I have to put them in three different apps to have three different display names?
Asked
by jdgregson.
Last updated
.
Post not yet marked as solved
113 Views

iOS Content Blockers Reload - Couldn’t communicate with a helper application

Hi everyone and thanks for your time. Intro I'm developing an iOS app that has Content Blockers as one of its features. For this, we have a list of predefined rules the user can enable/disable at will, and also an option to enter custom rules. Whenever there's a change (enable, disable, add or remove), I get all the rules and recreate the JSON files, one file for every 150K rules (we have more than one content blocker). Most users just need one JSON file though. And then call the content blockers reload. The Problem Most of the time, it works well. The content blocker reloads and I can verify in Safari that it's working. But, sometimes within the completionHandler of: SFContentBlockerManager.reloadContentBlocker(withIdentifier:completionHandler:) It returns the following error: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.SafariServices.ContentBlockerLoader" UserInfo={NSDebugDescription=connection to service named com.apple.SafariServices.ContentBlockerLoader} Localized description: Couldn’t communicate with a helper application. Can't find a reason why this is happening. Some previous research said this could be related to: App groups, but I verified them and they are correctly set (even because the blockers reload works most of the time); Content blocker process being killed. But why would it be killed just sometimes? And how to I verify if this is the case? I'm seeing a number of these errors (added a log) in production. Thanks for the help.
Asked
by Felipewil.
Last updated
.
Post not yet marked as solved
92 Views

Xcode Mac Catalyst Share Extension import problem

When I setup Share extension or Action extension on iOS to import a Vcard into my app it works great but when running the app on Mac catalyst I'm left with a Vcard at the bottom of my screen and I can't close it or do anything, deleting the app and reinstalling doesn't even fix it, I'm going to have to format my computer. How do I deal with these? the just keep building up, How do I make sure my app doesn't do this? How do I close the ones that are open, I'm stuck. Theres a few things I tried. The .plist option to 'Supports Document Browser' is set to 'No' 'Supports opening documents in place' has to be se to 'Yes' or not included for a Mac Catalyst app or I get this error - error: 'LSSupportsOpeningDocumentsInPlace = NO' is not supported on macOS. Either remove the entry or set it to YES, and also ensure that the application does open documents in place on macOS. What I'm thinking is I did not ensure that the app did not open a document in place? Now I have no idea how to undo what I've done. Its just stuck there, attached to my app somehow. I tried deleting the app and all the files associated to the app I could find, but its still there. How do I prevent this from happening but still get all the card info into my app. it does work to populate the card info into my app, its just this thing here is not closing or I don't want that to happen, that's probably what the error is warning me about.
Asked Last updated
.
Post not yet marked as solved
77 Views

iOS 15 Background Sound

Will there be more background sounds that will be added? I have a few more suggestions such as: Rain with Thunder Light & Heavy Rain Fall Restaurant Customers talking Forest Surroundings I feel like those will be great additions towards the Background sounds and how to improve it well!
Asked Last updated
.
Post marked as solved
117 Views

Some questions on NEPacketTunnelProvider on iOS 15

Recently I tested my VPN application on iOS 15 beta 8 / Xcode 13 beta 5. It looks like that the precedence is IPSec VPN > iCloud private relay > NEPacketTunnelProvider VPN. When the iCloud private relay is switched on if use IPSec VPN(I think it's using the IPSec interface) the browser's network traffic is still being routed to the IPSec tunnel. But for the implementation with NEPacetTunnelProvider VPN(UTUN interface) the browser's traffic is being routed to the private relay. I don't see any doc describing this but it seems this is the design. And another question is the IncludeAllNetworks setting for the VPN. If set the IncludeAllNetworks to be 1 then the device global traffic would be routed to the VPN, but the excludedRoutes settings in the VPN would be unavailable, no routes would be excluded. Is the above understanding correct?
Asked
by jeffreyc.
Last updated
.
Post not yet marked as solved
226 Views

How to list keychains "created" by persistent extension

Hello, I'm investigating the use of persistent extension to expose certificates and keys to applications. I am investigating on macOS and iOS but I am currently testing on macOS. I'm able to list the exposed certificate. I thought I could restrict the search to my particular token with kSecAttrTokenID (and the ID I provided to addTokenConfiguration(for: ), e.g. the string "COMPANY-macOS-pext"), but it doesn't work. So I tried to list all the tokens available from my app, using the following code adapted from SecurityTool: static func listAllKeychains() {     listKeychains (ofType: SecPreferencesDomain.user)     listKeychains (ofType: SecPreferencesDomain.system)     listKeychains (ofType: SecPreferencesDomain.common)     listKeychains (ofType: SecPreferencesDomain.dynamic)   }     static func listKeychains (ofType type: SecPreferencesDomain) {     var searchList: CFArray?           let status = SecKeychainCopyDomainSearchList(type, &searchList)     if ( status != errSecSuccess) {       logger.debug("error getting Keychains list : \(status).")       return     }     guard let keychains = searchList as? [SecKeychain] else {       logger.debug("Error on retrieved keychains")       return     }           for keychain in keychains {       var pName = Array(repeating: 0 as Int8, count: 1024)       var pLength = UInt32(pName.count)       let oStatus = SecKeychainGetPath(keychain, &pLength, &pName)       if oStatus == errSecSuccess {         let buffer = [UInt8](unsafeBitCast(pName, to: [UInt8].self))         let name: String = String(bytes: buffer, encoding: .ascii) ?? "Unable to get string"         logger.debug("Keychain \(keychain.hashValue) : \(name)")       } else {         logger.debug("Error getting pathname of keychain \(keychain.hashValue)")       }     }   } I just get the user keychain and the system keychain. Am I missing something here ? How can I list the keychain provided by the extension ? Is it possible to restrict a search for the items provided by my extension ? Regards, ++dom
Asked
by dom_.
Last updated
.
Post not yet marked as solved
176 Views

Communication Notification capability intended use

Hi, We're working on a non-communication app that would like to send important (health related) updates through the local notification system (UserNotifications). We're sure that these notifications could fit into the "time sensitive" category due to their health relevance. However, one important feature that we need is querying if the user has focus mode enabled and if we're allowed to break through the current focus mode set by the user. Apple provides the Intent API to check if there's a current focus mode enabled, however, it is bound to the "Communication Notification" capability. This capability have its intended use just for chat/instant messenger apps. We're wondering if we could leverage this capability for our purposes even without fitting into the "Communication" app category.
Asked Last updated
.
Post not yet marked as solved
103 Views

Inconsistent SHA256 hashes for NSExtensionItem attachments in iOS 15

I've built an app and app extension that accepts images from the Photos app and uploads them to our servers. In iOS 14 and before, when using attachment.loadFileRepresentation to retrieve the images selected by the user, we would always get a consistent sha256 hash for a given selected image, even across instance of selecting that image in the photos app and attempting to reupload it. In builds of our app made using the XCode 13 release candidate against the iOS 15 release candidate however the sha256 hash is inconsistent across selection attempts. Has something knowingly changed about the way NSExtensionItem.attachments are implemented in iOS 15 that would cause this? The file size of the files appear to be consistent across selection attempts so I am curious if there is an iOS 15 bug at play here or a known change. Is there some other way that I can track that I have seen files in previous selection attempts other than file hashes? Thanks.
Asked
by gg@lf.
Last updated
.
Post not yet marked as solved
98 Views

iOS 15 Today Extension Resize Delays

There is a delay when resizing the iOS 15 preferredContentSize widget. It is the same when setting NCWidgetDisplayModeCompact, NCWidgetDisplayModeExpanded. Is it possible to adjust without delay? It seems to be an ios 15 bug.
Asked Last updated
.