Starting with iOS 26.2, when Safari tabs are set to Bottom or Compact view, some pages are not rendering properly. The error does not occur in Top view.
For some pages, scrolling causes rendering to be very slow, causing the user to experience page breaks and missing parts. If the user waits a few seconds, the missing parts of the page will appear, but the issue will reoccur when scrolling further. We have tested this on all available iOS devices and the issue occurs on all iPhones running iOS 26.2. The issue does not occur on iOS 26.1, and we have not experienced it on devices running iOS 18.
The issue can be reproduced on the following pages with an iPhone running iOS 26.2:
https://fotosakademia.hu/products/course/fotografia-kozephaladoknak-haladoknak
https://oktatas.kurzusguru.hu/products/course/az-online-kurzuskeszites-alapjai
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have a new 2725QC (Dell) Monitor that uses USB-C connection to connect with the iMac (2019, 27 inch) through the back port but the problem is that the volume control can currently only be done from the hardware, not the software control using the Apple keyboard. What should I do in terms of writing code to do this (Swift or Obj-C)? Is there a third-party solution for Intel iMac and ARM Mac?
I've designed a new UI for phones.. I'd like Apple to look at it and see what they think
https://docs.google.com/presentation/d/10QSQvAdRRkL-eA9WRsSEbsL62XIayJ75Mbi93tx92DI/edit?usp=drive_link
I made a CMIOExtension (a virtual camera) which generates its own output, for use in our in-house software testing. I wanted to make a video source with 29.97, 30, 59.94 and 60fps output.
To this end, I created a CMIOExtensionDeviceSource which creates a CMIOExtensionDevice with one CMIOExtensionStreamSource with various stream formats contained in [CMIOExtensionStreamFormat], including one with both maxFrameDuration and minFrameDuration = CMTimeMake(value: 1000, timescale: 30000) and another with both maxFrameDuration and minFrameDuration = CMTimeMake(value: 1001, timescale: 30000)
I've held off on the creation of the 59.94/60fps source for now until this problem is resolved.
my virtual camera works, it produces a signal, but when I examine its associated AVCaptureDevice in the debugger, I find
(lldb) po self.captureDevice?.formats[0].videoSupportedFrameRateRanges[0].maxFrameDuration
▿ Optional<CMTime>
▿ some : CMTime
- value : 1000000
- timescale : 30000000
▿ flags : CMTimeFlags
- rawValue : 1
- epoch : 0
I get the same value, 1000000/30000000, or exactly 30fps, for all the formats of my AVCaptureDevice.
Is there something I'm doing wrong, or do CMIOExtensionDevices always round the frame rates?
I can't force CoreMediaIO to produce frames at exactly my desired frame interval, but I'd like to ensure that the average frame rate is my desired rate. How can I do that? Frame emission is governed by a repeating DispatchSourceTimer with a repeat time specified in nanoseconds with the TimerFlags set to 'strict'.
Code is download from apple official metal4 sample
[https://developer.apple.com/documentation/metal/drawing-a-triangle-with-metal-4?language=objc]
enable metal gpu trace in macOS schema and trace a frame in Xcode.
Xcode may show segment fault on App from some 'GTTrace' function when click trace button.
When replay a .gputrace file, Xcode may crash , throw an internal error or a XPC error.
The example code using old metal-renderer can trace without any problem and everything works fine.
Test Environment:
Xcode Version 26.2 (17C52)
macOS 26.2 (25C56)
M1 Pro 16GB A2442
Problem Description
When the Type-C port is connected to an ASUS ROG Swift OLED PG32UCDM monitor set to 3840×2160 @ 120 Hz, and the DP port is connected to a Samsung U28E590D monitor set to 3840×2160 @ 60 Hz, the DP port shows no response and no video output after the system wakes from sleep.
The DP monitor is not detected.
Reproduction Steps
Apple MacBook Pro (14-inch ,2024) connect the DP port to Samsung U28E590D and set the resolution to 3840×2160 @ 60 Hz.
Connect the Type-C port to ASUS ROG Swift OLED PG32UCDM and set the resolution to 3840×2160 @ 120 Hz.
Put the platform into sleep mode, then wake it up.
After wake-up, the DP port has no response and no video output.
Bug Description
When the Type-C port is connected to an ASUS ROG Swift OLED PG32UCDM at 3840×2160 @ 120 Hz, and the DP port is connected to a Samsung U28E590D at 3840×2160 @ 60 Hz, the DP port fails to output video after system sleep and wake-up, and the monitor is not detected.
Topic:
Community
SubTopic:
Apple Developers
When I have to pull in hundreds of commits from upstream, I like to try to make sure things still compile - frequently, to try to limit how far I need to go to back fix things.
One issue is missing symbols in the kext, since you won't know until you try to load the kext. And loading the kext each commit is not realistic.
So I went and made up a call to something that does not exist, in my case, strqcmp(). I could not get the various tools like kmutil libraries --all-symbols to print out that this function was going to fail, so I wrote a little script (thanks ChatGPT);
./scripts/kpi_check.py --arch arm64e -k module/os/macos/zfs.kext/
First missing symbols:
_crfree
_crhold
_strqcmp
Hurrah.
But sadly, my brain was then curious as to why crhold() and crfree() work. Worked for years. Only dtrace calls them in XNU sources but otherwise not mentioned there, not listed in my frameworks, nm is not seeing it.
Somewhat of a rabbit hole.
I don't even need to know, it does work after all. I should just let it go right?
and yet... how does it work?
My best guess is a symbols.alias pointing it to kauth_cred_ref() somewhere? Maybe?
Anyway, pretty low priority but it's an itch...
Hi,
I’m working on my Swift Student Challenge submission using iOS 26 APIs (FoundationModels) along with AVFoundation + Vision to capture user input and generate feedback.
Since Swift Playgrounds doesn’t support FoundationModels framework, I’m using an Xcode App Playground, but I heared that submissions are reviewed in the Simulator, which doesn’t support live camera feed.
I’m unsure how to handle this.
Looking for guidance on the recommended approach.
Thanks!
Topic:
Community
SubTopic:
Swift Student Challenge
Tags:
Swift Student Challenge
Swift Playground
AVFoundation
👋Hi
This problem is related to SSC.
I remember that the form submitted last year needed to be filled in with Xcode or Playground test, and it seems that it was also mentioned:
• If you use Xcode, the judges may use Simulator to run.
• If you use Playground, it's a real machine.
But my work this time will encounter two limitations:
It will use the framework/API only available in iPadOS 26 (so if it is a Playground environment, it may not run, playground can't use iPadOS 26 SDK)
It will also use some content that must be real to run (such as ARKit), which means that Xcode Simulator is not good.
So I would like to ask: Does this year's review allow you to compile and connect the iPad to the real machine? Or did I misremember last year's regulations? If the judge's environment is fixed (for example, only Playground or only Simulator), how should I adjust the submission method or implement the scheme?
Looking forward to your reply, thank you.
Topic:
Community
SubTopic:
Swift Student Challenge
Tags:
Swift Student Challenge
Swift Playground
iPadOS
Simulator
What OS will a Swift Student Challenge submission run on? I want to use iOS 26 features but the version history for Swift Playground doesn’t show it being updated past the iOS 17.5 SDK. So, can I still use features from the iOS 26 SDK?
Hi,
I was looking at the SSC website and registered for the "Get ready for the Swift Student Challenge" online session taking place on the 15th of January.
I am unsure what this session entails and is wondering if anybody could clarify what it is about?
Thanks
Topic:
Community
SubTopic:
Swift Student Challenge
Tags
NetworkExtension, NEFilterManager, Content-Filter, TestFlight, iOS, Swift, Entitlements, App-Groups
Problem Summary
I'm experiencing a critical issue with a Network Extension Content Filter that works perfectly in debug mode but fails in TestFlight with:
```
-[NEFilterManager saveToPreferencesWithCompletionHandler:]_block_invoke_3:
failed to save the new configuration:
Error Domain=NEFilterErrorDomain Code=5 "permission denied"
UserInfo={NSLocalizedDescription=permission denied}
```
This is blocking completion of a client project and requires urgent assistance.
Environment
• Platform: iOS
• Minimum Deployment: iOS 16.0
• Development: Xcode with Flutter integration
• Testing Method: TestFlight (production build)
• Works in: Debug mode (direct device deployment)
• Fails in: TestFlight builds
What Works vs. What Fails
WORKS IN DEBUG MODE (✓):
• Network extension installs successfully
• System permission dialog appears correctly
• Filter starts and blocks content as expected
• All domain management functions work
FAILS IN TESTFLIGHT (✗):
• System permission dialog never appears
• NEFilterManager.saveToPreferences fails immediately
• Error Code 5: "permission denied"
• Cannot set up the filter at all
Implementation Details
ARCHITECTURE:
The implementation consists of:
Main App (Flutter) - handles UI and configuration
Network Extension Plugin (Swift) - bridges Flutter to NetworkExtension framework
FilterDataProvider (Swift) - implements content filtering logic
App Group - shared storage for configuration (group.app.v1.dev0)
PERMISSION REQUEST CODE:
```swift
func requestPermissions(completion: @escaping (Result<Bool, Error>) -> Void) {
NEFilterManager.shared().loadFromPreferences { error in
if let error = error {
DispatchQueue.main.async { completion(.failure(error)) }
return
}
let config = NEFilterProviderConfiguration()
config.organization = "Testing
config.filterBrowsers = true
config.filterSockets = true
let manager = NEFilterManager.shared()
manager.providerConfiguration = config
manager.localizedDescription = " Screen Shield"
manager.isEnabled = true
manager.saveToPreferences { saveError in
DispatchQueue.main.async {
completion(saveError == nil ? .success(true) : .failure(saveError!))
}
}
}
}
```
EXTENSION INFO.PLIST:
```xml
ENTITLEMENTS:
```xml
What I've Already Tried
VERIFIED ENTITLEMENTS (✓)
• Both main app and extension have matching entitlements
• App Group identifier is identical in both targets
• content-filter-provider capability is set
CHECKED PROVISIONING PROFILES (✓)
• Created distribution provisioning profiles with Network Extension capability
• App Group is included in all profiles
• All capabilities are enabled in App Store Connect
VERIFIED APP GROUP CONFIGURATION (✓)
• App Group exists in Apple Developer portal
• Added to both App ID and Extension App ID
• Regenerated provisioning profiles after adding
CODE SIGNING (✓)
• Both targets build and sign successfully
• No code signing errors during archive
• Extension is embedded in main app bundle
TESTFLIGHT REQUIREMENTS (✓)
• Using distribution certificate for archive
• Archive validation passes without warnings
• Upload to TestFlight successful
BUILD CONFIGURATION (✓)
• Minimum deployment target is iOS 16.0 for both targets
• Extension deployment target matches main app
• All required frameworks are properly linked
Specific Questions
Permission Dialog: In debug mode, the system permission dialog appears. In TestFlight, it never shows. Is there a TestFlight-specific permission issue with Network Extensions?
Entitlements Propagation: Are there known issues with entitlements not being properly included in TestFlight builds despite being present in the archive?
Distribution vs Development: Are there any differences in how Network Extensions are authorized between development builds and distribution builds?
Additional Context
• The extension works flawlessly when deployed directly from Xcode
• No console errors or warnings in TestFlight build
• UserDefaults(suiteName:) successfully accesses the App Group in both modes
• Filter logic itself is tested and working (confirmed in debug mode)
• This is urgent as it's blocking client project completion
I tested this with both adult acc and also with child app
What I Need
Specific steps to diagnose why NEFilterManager.saveToPreferences returns Code 5 in TestFlight
Confirmation of whether Network Extension entitlements require special handling for TestFlight
Any known issues or workarounds for this specific error in production builds
Debugging techniques that work in TestFlight environment (since console logs are limited)
System Information
• Xcode Version: Latest stable
• iOS Target: 16.0+
• Swift Version: 5.0
• Framework: Flutter with native iOS plugin
• Build Type: Distribution (Ad Hoc via TestFlight)
Thank you for any assistance. This is blocking critical client work and I need to resolve it urgently.
i am creating a app on "appmysite" while it runs its build test an error message pops up saying build failed. "it seems your app build has encountered an issue. the certificate used to generate the uploaded provisioning profile does not match the uploaded certificate." I understand why its saying it because the uploaded certificate had to be uploaded as ".p12". The certificate in the provisioning profile is made of ".cert". I am using a apple mac book and a xenovo windows computer. Im simply trying to figure out how to put the ".p12" certificate into the provisioning profile? whenever i go to my developer account and try to create a new provisioning account with the new ".p12" certificate. The only options that pop up for me to select are only the certificates that are in ".cert" form. I've tried exporting through "key access" and they show up in my files but no way to transfer to my developer account to combine it with a provisioning account. Any help is greatly appreciated, this is literally the only thing keeping my app from being ready for submission to review. ive been stuck on this for 3 days.
I’m a newly enrolled Apple Developer Program member and am trying to notarize my first macOS app using notarytool.
My enrollment is fully completed:
Payment completed
Free Apps and Paid Apps Agreements are Active
Banking and tax (W-8BEN) are Active
DSA compliance (EU) is Active
However, every notarization submission is immediately rejected with:
statusCode: 7000
“Team is not yet configured for notarization.”
The rejection happens before any analysis (ticketContents is null), which suggests an account-level provisioning issue rather than a signing or app problem.
I’ve already opened a Developer Programs Support case under:
Development & Technical → Other Development or Technical Questions,
and provided recent Job IDs for escalation.
For developers who have encountered this recently:
Is this typically resolved by Apple enabling Developer ID notarization on the backend?
Is there anything else required from the developer side once agreements are active?
Any confirmation or shared experience would be appreciated.
Hi,
i programmed an app the uses MultipeerConnectivity to connect iOS-Devices to exchange Video-Files from the camera (https://pellepepper.my.canva.site/jumpcontrol). In general the solution works fine but I have some challenges:
The connection is pretty stable when there are only few other devices around. It seems to become more fragile when there are more other iOS-Devices in the area
Testing of the App worked with several meters of distance (up to 10). In real environments of athletics venues the solution is only stable in a region of about 2 meters
It seems that newer iOS-Releases make the connection more unstable. Last weekend we used it with iOS 18-Devices on older hardware, what worked fine. Integrating an iOS 26 device made trouble. Working on iPhone 13 with iOS 26 is hardly not usable.
What can I do to improve stability of the connection and therefore the App. What are the metrics to look for? Is there something I can do on the code base to make to connection more stable?
Many thx
Rainer
We are using a java program as an installer for a software suite.
This program is bundled inside a signed and notarized Mac app, but it uses the system installed Java (from env).
For installing software, it requires the App Management permission (currently under System Settings › Privacy & Security › App Management).
Since the program runs via the system provided Java executable, that one is the executable, that needs said permission.
In the past, it was possible to add java to said permissions list. With macOS 26.2 it is no longer possible.
I think, this change happened with 26.2. It was definitely still working with macOS 15 (I can reproduce it there), and I am confident, that it also still worked under 26.1.
In Console.app I can see errors like this one
/AppleInternal/Library/BuildRoots/4~CCKzugBjdyGA3WHu9ip90KmiFMk4I5oJfOTbSBk/Library/Caches/com.apple.xbs/Sources/SecurityPref/Extension/Privacy/TCC+PrivacyServicesProvider.swift:227 add(record:to:) No bundle or no bundle ID found for record TCCRecord(identifier: "/opt/homebrew/Cellar/sdkman-cli/5.19.0/libexec/candidates/java/11.0.29-tem/bin/rmic", identifierType: SecurityPrivacyExtension.TCCIdentifierType.path, access: SecurityPrivacyExtension.TCCAccess.full, managed: false, allowStandardUserToSetSystemService: false, subjectIdentityBundleIdentifier: nil, indirectObjectIdentityBundleIdentifier: nil, indirectObjectIdentityFileProviderIdentifier: nil, tccAuthorization: <OS_tcc_authorization_record: 0xa97d0ba80>)
This is reproducible for various different Java installations.
I can also not add Java to the other permissions that I tried.
Since Java is not installed in a bundled app but instead as a UNIX executable in a bin-folder, the error No bundle or no bundle ID found for record makes sense.
I expect this to also affect other use cases where programs are provided as UNIX executables such as Python or C-Compilers like g++.
While it is possible to bundle an entire JRE inside each app, we intentionally chose not to as this massively increases app size.
If this issue is not resolved or a workaround can be found, this is the only option that remains for us.
I am however worried that there are other use cases where this is not an option.
Hi everyone,
I’m experiencing a persistent issue when trying to download the iOS Simulator Runtime 26.1 on Xcode (version 26.1). The download always fails with the following error
Download failed due to a bad URL. (Catalog download for com.apple.MobileAsset.iOSSimulatorRuntime)
Domain: com.apple.MobileAssetError.Download
Code: 49
I’m located in Brazil, so I initially thought it might be region-related, but I’ve already tried several attempts to fix it, including:
Using VPNs for the US and Europe
Installing the Xcode 26.2 beta
Downgrading Xcode to earlier versions
Reinstalling the same version of Xcode
Restarting Xcode and my Mac
Switching networks
Clearing simulator support/device files
Unfortunately, nothing has resolved the issue.
Is anyone else facing this problem?
Does anyone know a workaround or a manual way to download/install the iOS 26.1 simulator runtime?
Thanks in advance!
Hi Apple engineers!
We are making an iOS browser and are planing to deliver a feature that allows enterprise customers to use a MAM key to set a PAC file for proxy. It's designed to support unmanaged device so the MDM based solutions like 'Global HTTP Proxy MDM payload' or 'Per-App VPN' simply don't work.
After doing some research we found that with WKWebView, the only framework allowed on iOS for web browsing, there's no API for programmatically setting proxy. The closes API is the WKURLSchemeHandler, but it's for data management not network request interception, in other word it can not be used to handle HTTP/HTTPS request well.
When we go from the web-view level to the app level, it seems there's no API to let an app set proxy for itself at an app-level, the closest API is Per-App VPN but as mentioned above, Per-App VPN is only available for managed device so we can't use that as well.
Eventually we go to the system level, and try to use Network Extension, but there's still obstacles. It seems Network Extension doesn't directly provide a way to write system proxy. In order to archive that, we may have to use Packet Tunnel Provider in destination IP mode and create a local VPN server to loop back the network traffic and do the proxy stuff in that server. In other word, the custom VPN protocol is 'forward directly without encryption'. This approach looks viable as we see some of the network analysis tools use this approach, but still I'd like to ask is this against App Store Review Guidelines?
If the above approach with Network Extension is not against App Store Review Guidelines, I have a further question that, what is the NEProxySettings of NETunnelNetworkSettings for? Is it the proxy which proxies the VPN traffic (in order to hide source IP from VPN provider) or it is the proxy to use after network traffic goes into the virtual private network?
If none of the above is considered recommended, what is the recommended way to programmatically set proxy on WKWebView on an unmanaged device (regardless of where the proxy runs, web-view/app/system)?
My app is configured with the App Clip experiences, and a Clip App card pops up when an NFC tag is scanned—whether the host app is not launched, running in the background, or active in the foreground. I want to prevent the App Clip card from popping up when the host app is in the foreground; how can this be achieved?
Hello,
I’d like to share an issue we recently experienced with TestFlight and ask whether this behavior is expected.
Environment
App version string: 1.0.0
Multiple builds uploaded via CI/CD
Both external TestFlight testing and internal CI builds exist
Testers had automatic updates enabled in TestFlight
What happened
We uploaded build 1.0.0 (2601161653) and assigned it to an external TestFlight group.
Testers installed this build and were testing normally.
Later, we uploaded a newer build 1.0.0 (5) and reassigned the same external testers to this build.
Testers successfully updated to 1.0.0 (5) and continued testing.
After some time (without any manual action from testers), testers received a system notification saying that:
“The App has been updated. Version 1.0.0 (2601161653) was automatically downloaded and installed.”
When opening TestFlight, the app showed 1.0.0 (5) again as available for update, meaning the device had already been rolled back to 1.0.0 (2601161653).
Additional context
There are many archived builds in App Store Connect due to CI/CD testing.
Some CI builds share the same version string but differ only in build number.
External test groups were only explicitly assigned to build 1.0.0 (5) at the time of the rollback.
Build 2601161653 did not have any external test group assigned at that moment.
No App Store release or metadata changes occurred during this time.
Questions
If a tester’s currently installed build becomes temporarily unavailable (e.g. due to eligibility, internal status changes, or TestFlight processing),
does TestFlight automatically fall back to a previously approved build?
Is this automatic rollback behavior an intended part of TestFlight’s build availability logic, especially when multiple builds with the same version string exist?
Can frequent CI/CD uploads (without consistent external group assignment) influence which build TestFlight considers “eligible” or “latest” for testers?
Summary
From our observation, it appears that when the currently tested build temporarily lost eligibility, TestFlight automatically installed a previous build that was still considered available, even though a newer build existed.
We’d appreciate any clarification on whether this behavior is expected or if there are best practices to avoid this situation when using CI/CD with TestFlight.
Thank you.