I recently tried Apple TV after using android tv for a long time.
The main missing item is having a browser. I could not find one.
i tried building Firefox for TVOS, it failed with WebKit not available.
Is there a way to build WebKit and package it along with a browser package while building it?
General
RSS for tagDelve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello!
It's my first time posting in this forum. Apple Intelligence is enabled by default in Workspace ONE (WS1). I was wondering if Apple Intelligence can access or process corporate data within (WS1) corporate apps, which are containerized?
Thank you!
Topic:
App & System Services
SubTopic:
General
I am experiencing difficulties in fully integrating my Apple Watch with a supervised iPhone under MDM control. While I have successfully paired the watch with the iPhone, I am facing issues with some apps not syncing or appearing on the Apple Watch. This issue persists despite having allowed their bundle IDs in the MDM’s whitelist. Could anyone provide guidance on which specific Apple bundle ID is crucial for maintaining the connectivity and functionality between the iPhone and the Apple Watch? Understanding this would help in ensuring that the necessary bundle ID is whitelisted in the MDM settings, thus resolving the app visibility and functionality issues on the Apple Watch.
Topic:
App & System Services
SubTopic:
General
Tags:
Watch Connectivity
watchOS
Bundle ID
Device Management
We’re trying to enable deep links for our application com.remonon.remonon. Only links that start with https://remonon.com/app/ should redirect to our app.
I’ve closely followed the tutorial at https://developer.apple.com/documentation/xcode/supporting-associated-domains.
Our apple-app-site-association is correctly placed at https://remonon.com/.well-known/apple-app-site-association and looks like this:
{
"applinks": {
"details": [
{
"appIDs": [
"25N8TLPALL.com.remonon.remonon"
],
"components": [
{
"/": "/app/*",
"comment": "Only URLs under /app/ will be handled as deep links"
}
]
}
]
},
"webcredentials": {
"apps": [
"25N8TLPALL.com.remonon.remonon"
]
}
}
Our *.entitlements looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>production</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:remonon.com</string>
<string>webcredentials:remonon.com</string>
</array>
<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.remonon.remonon</string>
</array>
</dict>
</plist>
Our apple-app-site-association was published two weeks ago to make sure apple’s caches were able to catch up in the meantime.
Still, opening the link https://remonon.com/app/test on a real device with our app installed does not open our app but safari.
A while ago, when all remonon.com-urls should open our app instead of only those which have the "app" path prefix, the deep links was working perfectly fine.
What am I missing?
Topic:
App & System Services
SubTopic:
General
I have an iOS app, watchOS app, and iOS Widget that shows the most recent data in the database.
The watch app sends data to the iOS app over the WCSession and is received in session(didReceiveMessage, replyHandler). After that data is processed, reloadAllTimelines() is called.
When running in Simulator or on device plugged in to debugger, it works, the widget updates when the app is closed (in background, even if force quit).
But when running TestFlight or App Store build, the data is still processed and saved to Core Data (I open the app and it's there), but the widget doesn't update.
It seems that reloadAllTimelines only works when the app is in foreground (at least in non debug builds). I dont have an iOS 17 device to check but I think this is a recent bug with iOS 18.
Speech Framework
I've been checking for SFSpeechRecognitionMetadata to determine the end of a sentence when using Voice Recognition.
Yet it doesn't detect small pauses but only large ones, so that I've transcribed basically an entire paragraph before going onto the next one.
Besides implementing your own timer, are there any other ways to have more natural pauses to detect the end of sentences, similar to the browser's Web Speech recognition? Since it's in Safari, I assume there should be some similar feature that can be equivalent in MacOS.
Hi everyone,
We came an issue that, In some scenarios in our app we cannot fetch any resources from device (Photo and Contact).
One case we catched is putting app in background and spending time in other commonly used apps and coming back to our app cause this issue but there is a small chance that get this issue during using the application.
In cell, we are trying to fetch the image like this
imageFetchTask = Task {
let image = await CompositionRoot.shared.photosManager.image(requestType: .imageCollections, forId: photoAsset.photoId)
self.photoImageView.image(image)
}
and inner layers of this code we get the PHAsset and request image
PHAsset.firstAsset(for: id)
let manager = PHImageManager.default()
manager.requestImage(for: asset, targetSize: request.targetSize, contentMode: .aspectFill, options: request.options) { (image, info) in
continuation.resume(returning: image)
}
We figured out that issue not happening only in Photos also Contacts and
any web request. So any help according to this situation is well appreciated.
Thanks
Topic:
App & System Services
SubTopic:
General
Tags:
Contacts
PhotoKit
Background Tasks
Background Assets
When I open Iplaytv on my Apple TV it says refresh needed but I don’t know how
Hi,
My iphone 12 has been restarting unexpectedly, and often followed by wifi, bluetooth, and airdrop grayed out. I had to force restart/shutdown several times to turn it on again.
Found this analytics after crash. Please help if somebody know what this means:
ExcUserFault_CategoriesService-2024-12-23-064503.ips
Hello, I am currently optimizing the performance of my application. I would like to obtain information about users being killed after leaving the application in the background, in order to evaluate whether the application is running normally in the background. I noticed that there is a Background Termination information in Xcode ->Organizer that records background exits. I would like to know the rules for obtaining this information and what is the health standard for this indicator on the Apple side?
I have an app written in swift.
It has multiple pods dependencies installed.
When the app is generated with Xcode 15.4 the size of app is ~148Mb
and when the same app is generated with Xcode 16.2 the size is ~246MB
When I extracted and analysed the app, it was observed that one of the framework installed via pods Dependencies("DocumentReaderCore") was consuming more size(42.9 MB vs 215 MB) the DocumentReaderCore present in the Payload/.app/Frameworks/DocumentReaderCore.framework/DocumentReaderCore was of type linux executable when generated using Xcode 15.4 vs the other was od document type and size was 215MB.
Hi All,
I have created a Push Notification certificate from my Apple Developer account. After downloading the aps.cer file and adding it to my Keychain, the certificate was added successfully, but the private key is missing.
Has anyone encountered a similar issue in the past? What could be causing this problem?
Hi,
I'm trying out the beta for music kit. In the current version of my app, my widget can show multiple albums. I preload the images of the album covers. In the beta's the url that is returned for the artwork starts with: "musickit://", which does not work with URLSession. How can I preload the data using the new url scheme?
Current code:
func fetchArtworkFor (musicID: MusicItemID, url : URL?) async throws -> UIImage? {
guard let url = url else {
return nil
}
let urlRequest = URLRequest (url: url)
let data = try await URLSession.shared.data(for: urlRequest)
let image = UIImage(data: data.0)
return image
}
// Some other function
for album in albumsToShow {
if let url = album.artwork?.url(width: context.family.imageHeight, height: context.family.imageHeight), let image = try? await fetchArtworkFor(musicID: album.id, url:url) {
images[album] = image
}
}
I recently encountered an issue with Xcode 16.2 while attempting to integrate Settings.bundle into a new app. I added Settings.bundle as a new file (using the provided template), but when I ran the app (the default "Hello World" project), the expected three default controls (Name, Enabled, Slider) did not appear in the app's settings.
To troubleshoot, I downgraded my system to macOS Sonoma 14.7.2 and Xcode 15.4 (on a 2023 Mac Mini, M2). After this downgrade, everything worked as expected. With a new project, adding Settings.bundle, and running the app, the settings entry for the app appeared, including the three default fields.
This behavior suggests a potential issue or incompatibility with Xcode 16.2.
I have an iOS app that installs a Content Filter in order to block certain types of content at the network/socket level. The Family Controls framework stipulates that this can only be done successfully on a FamilyControlsMember.child account type (or on a supervised device). Our initial release has been really successful, but I would say that perhaps 75% of our users are .individual (probably over 18). Perhaps a topic for another forum post is to discuss how Apple's policy here doesn't seem to be meeting a real need here for non-minors, but I'll leave that alone for now.
The problem we're facing is that as far as I can tell, the only way to determine if someone has the right account type is to initiate an authorization request using AuthorizationCenter.shared.requestAuthorization(for:) and then inspect the error. I think it could really help the usability of the app if we could detect the account type and preemptively show a helpful message if the authorization could not succeed, and recommend some alternatives. But I've looked so far in vain for some way to do this.
Is there any api in Family Controls (or elsewhere) that can query the system for this information? Any pointers would be greatly appreciated!
Touchscreen gestures in CarPlay aren't recognized in the app (delegate CPMapTemplateDelegate functions aren't called). Tried also in the Coastal Roads demo app to add test functions to check that pan functions are called - the same:
func mapTemplateDidBeginPanGesture(_ mapTemplate: CPMapTemplate) {
MemoryLogger.shared.appendEvent("Did begin pan gesture.")
}
func mapTemplate(_ mapTemplate: CPMapTemplate, panBeganWith direction: CPMapTemplate.PanDirection) {
MemoryLogger.shared.appendEvent("Did begin pan gesture with direction \(direction.rawValue).")
}
Note: buttons (on carplay app) are working when pressing on them. Also, the desktop of carplay can be panned (by swipe gesture).
Using Xcode 14.3, MacBook pro M1
@APPLE TEAM
WHAT WRONG WITH YOUR WORKER??? I STILL WAITING FOR REVIEW FOR A VERY IMPORTANT BUG IN MY APP...WHY IT TAKES SO LONG?
I've been testing the Live CallerID feature using the Apple-provided local server example - live-caller-id-lookup-example. I've been running a local server with tunneling using ngrok for the initial setup. Everything was working perfectly with the following setup:
@main
final class CallerID: LiveCallerIDLookupProtocol {
var context: LiveCallerIDLookupExtensionContext {
LiveCallerIDLookupExtensionContext(
serviceURL: URL(string: "https://example-tunnel.ngrok.io")!,
tokenIssuerURL: URL(string: "https://example-tunnel.ngrok.io")!,
userTierToken: Data(base64Encoded: "BBBB")!
)
}
}
However, after I updated the URLs to the production ones, I encountered an issue:
@main
struct CallerID: LiveCallerIDLookupProtocol {
var context: LiveCallerIDLookupExtensionContext {
LiveCallerIDLookupExtensionContext(
serviceURL: URL(string: "https://example.net/")!,
tokenIssuerURL: URL(string: "https://example/issue")!,
userTierToken: Data(base64Encoded: "BBBB")!
)
}
}
The problem is that during calls or when updating PIR parameters, the application still attempts to connect to the initial ngrok tunnel URLs instead of using the new production URLs. I can confirm this because the logs on my local server show incoming requests, indicating that the application is still referencing the old ngrok tunnel URLs.
Steps I’ve taken to resolve the issue include:
Deleting and reinstalling the application.
Using reset(forExtensionWithIdentifier:)
Unfortunately, these attempts have not been successful. I even extracted the binary of the app and extension to inspect the strings, confirming that the correct production URLs are present.
The server was started with the following command:
PIRService --hostname 127.0.0.1 service-config.json
Could this be some sort of caching bug on the iOS side, or am I missing something?
This is more a general question of whether it is possible to share persistent/coredata from the main app to Screentime-related extensions such as DeviceActivityReportExtension.
I've set my code up (e.g., App Groups, files to different targets, using nspersistentcontainer with app group url, etc.) in a way that it builds, and the extension seems to recognize my CoreData schema (able to query using fetchrequest). But the data returned is always null. So i'm wondering if it is even possible to READ app data from the extension.
I understand it is not possible to write or pass data from the extension back to the app. I've also been able to read data that was saved in main app from UserDefaults in my extension.
Hi
I am developing a game app with Epic Unreal Engine.
I am testing this as testFlight these days.
My problem is “launch URL” what a function in Unreal Engine.
This is a function that allows user to search the Internet with the entered URL.
It worked well before. But not now. I don't know when it did start not working. It's like after the iPhone IOS update or the Xcode update.
Mac sequoia 15.1.1
Xcode 16.2
( Unreal Engine 5.4.4 )
IOS is 18.2. but It didn't work since the just previous version.
Any advice can I get?
Topic:
App & System Services
SubTopic:
General