My experience with Swift 6 strict concurrency so far doesn't match my understanding of implicit MainActor isolation semantics.
This is a cross-post from StackOverflow. I will link answers between both forums.
TL;DR
Build succeeds when testing a struct declared in the test module, but fails when the struct is moved to the main module:
Main actor-isolated property … cannot be accessed from outside the actor.
Steps to reproduce
Open up Xcode 26 beta 2 on macOS 26 (probably also ok on current stables).
Create a new Swift app with Swift testing, no storage. Call it WhatTheSwift.
Set the Swift Language Version on all three targets to Swift 6.
Update the default test file to be this:
import Testing
@testable import WhatTheSwift
struct WhatTheSwiftTests {
@Test func example() async throws {
let thing = Thing(foo: "bar")
#expect(thing.foo == "bar")
}
}
struct Thing {
let foo: String
}
That should build fine, and the tests should pass.
Now, move the Thing declaration into its own Thing.swift file in the WhatTheSwift module, and try running the test again. You should see this:
Observations
Marking the test @MainActor allows the test to pass, suggesting the compiler actually wants to isolate Thing.foo to the main actor.
My question
Why? And why only when Thing is in a different module?
General
RSS for tagDive into the vast array of tools and services available to developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
We have a macOS application packaged as a .pkg file. To notarize it, we first code-sign individual library folders and the .app bundle using the following command:
codesign --force --deep --sign "Developer ID Application: <Our Account Name>, LLC (Team ID)" "Our_product.app"
Code Sign result for .app file:
Our_prodcut.app: valid on disk
Our_product.app: satisfies its Designated Requirement
We are using packages tool to create .pkg file with code signed .app file.
Steps followed once .pkg file is ready:
1. Product Sign:
productsign -sign "Developer ID Installer: <Our Account Name>" output.pkg signed-output.pkg
2. Submit for notorization:
`xcrun notarytool submit signed-outout.pkg --keychain-profile "notarytool-password" --wait
Received following output:
Current status: Accepted.................................
Processing complete
id: 2d5c450f-5b22-4b4d-9579-ef21c0356548
status: Accepted
Transferred Notarization log:
xcrun notarytool log 10169892-b28c-407c-b348-edab0b34ef34 --keychain-profile "notarytool-password" Desktop/developer_log_6.json
We have observed log with "Accepted" status with issues as "null".
3. Stapler:
stapler staple signed-output.pkg
stapler validate signed-output.pkg
Processing: signed-output.pkg
The validate action worked!
4. Checking status of .pkg file:
Command:
spctl --assess --verbose=4 signed-output.pkg
Output:
signed-output.pkg: rejected
source=no usable signaturess
Warning During Installation:
While installing the .pkg file, a security warning appears as follows. Please help us to resolve this.
OS:macOS15.5
CPU:Apple M1 Pro
zsh终端中执行python或pip命令,提示未找到命令,但执行python3或pip3命令,预期也是提示未找到命令,实际结果弹出Install Command Line Developer Tools弹窗安装,网上查阅资料,删除/usr/bin/python3、/usr/bin/pip3、/usr/local/bin/python3、/usr/local/bin/pip3文件即可达到预期,但无权限删除/usr/bin/python3与/usr/bin/pip3文件,尝试过root账号、进行系统恢复模式暂时禁用SIP解决方案,都无法解决;🙏大佬指点一二;
Topic:
Developer Tools & Services
SubTopic:
General
Hi everyone,
I’m working on a Capacitor app built with Angular, and I’m trying to call a Swift class directly from the root of the iOS project (next to AppDelegate.swift) without using a full Capacitor plugin structure.
The Swift file is called RtspVlcPlugin.swift and looks like this:
import Capacitor
@objc(RtspVlcPlugin)
public class RtspVlcPlugin: CAPPlugin {
@objc func iniciar(_ call: CAPPluginCall) {
call.resolve()
}
}
In AppDelegate.swift I register it like this:
if let bridge = self.window?.rootViewController as? CAPBridgeViewController {
bridge.bridge?.registerPluginInstance(RtspVlcPlugin())
print("✅ RtspVlcPlugin registered.")
}
The registration message prints correctly in Xcode logs.
But from Angular, when I try to call it like this:
import { registerPlugin } from '@capacitor/core';
const RtspVlcPlugin: any = registerPlugin('RtspVlcPlugin');
RtspVlcPlugin.iniciar({ ... });
I get this error:
{"code":"UNIMPLEMENTED"}
So, even though the plugin is registered manually, it’s not exposing any methods to the Angular/Capacitor runtime.
My question is:
What is the correct way to access a manually created Swift class (in the root of the iOS project) from Angular via Capacitor?
Thanks in advance!
Hello,
currently I am having trouble releasing an app because it crashes/does not launch on iOS 26.0.1. We have uploaded apps in the past so I tried building one of them with our current toolchain. I use Xcode 16.4, Kotlin version 2.0.0, LibGDX 1.13.1 and robovm/MobiVM 2.3.23. I uploaded the build to TestFlight and tested with physical devices running iOS 18.5 and 26.0.1. It runs fine on 18.5 but refuses to launch on the 26.0.1 device. I cannot retrieve a crash log or .ips file because none is written. When I write a Console log while the app crashes/does not launch I get no hints as to why it does so.
Do you maybe have additional ideas as to why it keeps not launching on iOS 26.0.1?
Topic:
Developer Tools & Services
SubTopic:
General
Hallo zusammen,
ich habe seit einiger Zeit ein Problem, dass ich eine App 'Warenwirtschaft' aus Xcode heraus nicht mehr im Simulator oder auf meinem IPad starten kann.
Ein Compilieren und Verteilen über TestFlight funktioniert weiterhin ohne Probleme.
Leider klappt das Debugger nun nicht mehr.
Anbei die Fehlermeldung von Xcode.
Ich hoffe ihr könnt mir helfen.
Grüsse Mark
Cannot launch simulated executable: no file found at /Applications/Warenwirtschaft.app
Domain: IDEFoundationErrorDomain
Code: 1
User Info: {
DVTErrorCreationDateKey = "2025-02-05 10:10:06 +0000";
IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher;
}
Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : {
"device_identifier" = "D572897F-2ECB-4109-9DFC-C7D0FB145C1C";
"device_model" = "iPad16,6";
"device_osBuild" = "18.2 (22C150)";
"device_platform" = "com.apple.platform.iphonesimulator";
"device_thinningType" = "iPad16,6-A";
"dvt_coredevice_version" = "397.28";
"dvt_coresimulator_version" = "993.7";
"dvt_mobiledevice_version" = "1759.81.1";
"launchSession_schemeCommand" = Run;
"launchSession_state" = 1;
"launchSession_targetArch" = arm64;
"operation_duration_ms" = 562;
"operation_errorCode" = 1;
"operation_errorDomain" = IDEFoundationErrorDomain;
"operation_errorWorker" = IDELaunchiPhoneSimulatorLauncher;
"operation_name" = IDERunOperationWorkerGroup;
"param_debugger_attachToExtensions" = 0;
"param_debugger_attachToXPC" = 1;
"param_debugger_type" = 3;
"param_destination_isProxy" = 0;
"param_destination_platform" = "com.apple.platform.iphonesimulator";
"param_diag_113575882_enable" = 0;
"param_diag_MainThreadChecker_stopOnIssue" = 0;
"param_diag_MallocStackLogging_enableDuringAttach" = 0;
"param_diag_MallocStackLogging_enableForXPC" = 1;
"param_diag_allowLocationSimulation" = 1;
"param_diag_checker_tpc_enable" = 1;
"param_diag_gpu_frameCapture_enable" = 0;
"param_diag_gpu_shaderValidation_enable" = 0;
"param_diag_gpu_validation_enable" = 0;
"param_diag_guardMalloc_enable" = 0;
"param_diag_memoryGraphOnResourceException" = 0;
"param_diag_mtc_enable" = 1;
"param_diag_queueDebugging_enable" = 1;
"param_diag_runtimeProfile_generate" = 0;
"param_diag_sanitizer_asan_enable" = 0;
"param_diag_sanitizer_tsan_enable" = 0;
"param_diag_sanitizer_tsan_stopOnIssue" = 0;
"param_diag_sanitizer_ubsan_enable" = 0;
"param_diag_sanitizer_ubsan_stopOnIssue" = 0;
"param_diag_showNonLocalizedStrings" = 0;
"param_diag_viewDebugging_enabled" = 1;
"param_diag_viewDebugging_insertDylibOnLaunch" = 1;
"param_install_style" = 2;
"param_launcher_UID" = 2;
"param_launcher_allowDeviceSensorReplayData" = 0;
"param_launcher_kind" = 0;
"param_launcher_style" = 0;
"param_launcher_substyle" = 0;
"param_runnable_appExtensionHostRunMode" = 0;
"param_runnable_productType" = "com.apple.product-type.application";
"param_structuredConsoleMode" = 1;
"param_testing_launchedForTesting" = 0;
"param_testing_suppressSimulatorApp" = 0;
"param_testing_usingCLI" = 0;
"sdk_canonicalName" = "iphonesimulator18.2";
"sdk_osVersion" = "18.2";
"sdk_variant" = iphonesimulator;
}
System Information
macOS Version 15.3 (Build 24D60)
Xcode 16.2 (23507) (Build 16C5032a)
Timestamp: 2025-02-05T11:10:06+01:00
This example fails to compile on Sequoia 15.4 with Xcode 16.3 and the command line tools installed;
jacquesmenu@macstudio:C++Tests > cat pcount_test.cpp
// clang++ -std=c++17 -o IntWrapperTest IntWrapperTest.cpp
#include // std::string
#include // std::cout
#include // std::ostringstream
int main1 (int argc, char* argv[])
{
std::string theString = "Prière d'éviter";
std::cout << theString << ", size(): " << theString.size () << std::endl;
std::stringstream oss;
oss << theString << std::endl;
std::cout << oss.str () << ", pcount(): " << oss.pcount () << std::endl;
}
//_______________________________________________________________________________
// position in output stream
#include // std::ofstream
int main () {
std::ofstream outfile;
outfile.open ("test.txt");
outfile.write ("This is an apple",16);
long pos = outfile.tellp();
outfile.seekp (pos-7);
outfile.write (" sam",4);
outfile.close();
return 0;
}
jacquesmenu@macstudio:C++Tests > clang++ pcount_test.cpp
pcount_test.cpp:3:10: fatal error: 'string' file not found
3 | #include // std::string
| ^~~~~~~~
1 error generated.
The same occurs with iostrem if it is the first include mentioned.
Compiling in Xcode itself does not this problem, though.
This include is to be found here:
jacquesmenu@macstudio:C++Tests > xcode-select -p
/Applications/Xcode.app/Contents/Developer
jacquesmenu@macstudio:C++Tests > ls -sal /Applications/Xcode.app/Contents/Developer/**/string | grep MacOSX
72 -rw-r--r-- 10 root wheel 203802 Mar 8 06:17 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string
Hi,
I have an installer package that runs a postinstall script. The script can take a long time to complete, as one thing it does is copy about 10-30 GB of files using the rsync tool.
We noticed on macOS 15 that the installer would fail almost exactly 10 minutes after it started. Looking in the /var/log/install.log, I see a message like this:
2025-07-01 12:54:32-07 Work-M1 package_script_service[21562]: PackageKit: Terminating PKInstallTask(pid:21573). Task has exceeded its 600 seconds of runtime.
This does not happen in my testing on macOS 12 (Monterey)
I have a few questions about this:
A) Is this documented, and which OS introduced this?
B) Is there a way a developer can extend or disable the time limit via a setting in the installer package. Or if not, is there a way end end user can disable it temporarily on their system?
Thanks, Andrew
Topic:
Developer Tools & Services
SubTopic:
General
I have a Swift package with a test suite that contains some tests implemented with Swift Testing. Locally, they run quickly, but when I run them on Semaphore CI (https://semaphore.io), the first Swift Testing test to execute incurs a performance penalty.
I'm running the tests with xcodebuild on iOS Simulator:
xcodebuild test \
-scheme "Scheme" \
-workspace Workspace.xcworkspace \
-destination "platform=iOS Simulator,name=iPhone 16,OS=18.2"
The scheme is configured to use a test plan that has parallelization disabled.
Here's an excerpt from the output showing what I'm seeing:
Test Suite 'All tests' started at 2025-04-03 07:47:37.328.
◇ Test run started.
↳ Testing Library Version: 102 (arm64-apple-ios13.0-simulator)
◇ Iteration 1 started.
◇ Suite <redacted> started.
◇ Test foo() started.
✔ Test foo() passed after 23.063 seconds.
When foo() is not the first test it runs in under 100 ms.
The reason that I have parallelization disabled is that I was initially seeing all of the tests in this suite incur a performance hit. But now it's clear that there must be some startup cost.
Things I'm wondering:
What is this startup penalty?
Why don't I encounter it locally?
Why is it attributed to the first test? (this seems like a bug)
My wild guesses around 1 so far have been…
maybe some simulator clone is booting. I've tried to rule that out by disabling parallelization, but maybe there's still something there.
maybe swift testing is getting loaded lazily and there's some kind of dynamic linking cost
Thoughts on 2…
maybe there's some one-time penalty when using swift testing that I've already incurred locally but that has not yet been incurred in the CI image
Guidance welcome!
x-posted:
FB17102970 (Unexpected performance penalty attributed to first Swift Testing test)
https://forums.swift.org/t/first-swifttesting-test-always-slow/79066
I was developing an app using a certain bundle ID, but then had to delete it (and I also removed the app ID Identifier)
My question is, can I make a new app with the exact same bundle ID as I was using on the removed one? Since the old app never went into production I don't see why that would be a problem
For my app Find Any File, of which both releases and TestFlight betas were released many times, the TestFlight page tells me that several users have submitted crash reports. And I'm sure the same is true for the MAS releases:
(Yes, this shows quite recent ones, but I've seen similar supposed crash report submits in this list before.)
However, the actual "Crashes" listing on the appstoreconnect sites hasn't show any new crash reports for many months now:
(This is the entirety of crash reports I can get listed, even when removing all filters.)
Something appears to be stuck, on Apple's end.
The same issue is with Xcode's Organanizer window, for "Crashes": It also used to list only the same very old reports and nothing since May 2024. And just now, when I retried this in Xcode, I'm shown a weird error message I never saw before:
Error Downloading Crashes List
An error occurred… Access Restricted with adam id: 1207815783
And yes, I'm logged in just fine, under Prefs / Accounts.
How am I going to get this investigated? I had already sent an email about this to the Review team, who didn't react to it at all. DTS is only for Code level support, which this isn't.
Any help?
When building binutils (2.4.4) on Mac OS Sequoia (15.4), a compilation error occurs.
In file included from ../../zlib/gzguts.h:21:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:61:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:318:7: error: expected identifier or '('
318:7: error: expected identifier or '('
318 | FILE | FILE fdofdopen(int, cpen(int, const char onst char ) __DARWI) __DARWIN_ALIN_ALIAS_STARTIAS_STARTING(__MAC_NG(__MAC_10_6, __I10_6, __IPHONE_2_0PHONE_2_0, __DARWI, __DARWIN_ALN_ALIAS(fIAS(fdopen));
dopen));
| ^
| ^
../../zlib/zutil.h:147:33: note: expanded from macro 'fdopen'
147 | # ../../zlib/zutil.h:147:33: note: expanded from macro 'fdopen'
147 | # define define fdopefdopen(fd,moden(fd,mode) NULL /) NULL / No f No fdopen() *dopen() */
| ^
/
|
error.txt
In 1311 Line.
Topic:
Developer Tools & Services
SubTopic:
General
Hi, there's this point at which a beginner needs to beg for help.
Unable to open mach-O at path: /Library/Caches/com.apple.xbs/Binaries/RenderBox/install/Root/System/Library/PrivateFrameworks/RenderBox.framework/default.metallib Error:2
I get this everytime I select a month and year on a custom date picker, I believe because I try to force the ".generateChartData()" for the chart to update.
I guess the problem might be that the ".onAppear" and ".onChange" are conflicting with each other?
}
.onChange(of: showDatePicker) {
viewModel.startDate = selectedDate
viewModel.generateChartData()
}
}
.onAppear {
viewModel.generateChartData()
}
I want to test different types of journaling suggestions, like for example photo/video containing ones but as a developer I have no control over what's shown in the Journaling Suggestions sheet. And this makes it really difficult to develop or test any suggestion type other than "reflection". Please let us have a fake suggestions sheet that includes all kinds of suggestion types so we can test. We could toggle it under Developer settings I think.
Topic:
Developer Tools & Services
SubTopic:
General
I am experiencing an issue with PHP on macOS where errors and warnings are not displayed, either in the terminal or when running scripts through the built-in PHP server.
Topic:
Developer Tools & Services
SubTopic:
General
We are developing a Flutter application targeted for MacOS and Windows . We are using the FlutterMacOS and connectivity_plus packages in our app
But whenever we are releasing a version to App Store we are getting the privacy manifest file missing for above 2 packages
We tried to add xcPrivacy file inside the Runner Xcode project. But that doesn't solve the issue
Adding the relevant lines from the warning email getting from App Store below
"ITMS-91061: Missing privacy manifest - Your app includes “Contents/Frameworks/FlutterMacOS.framework/Versions/A/FlutterMacOS”, which includes Flutter, an SDK that was identified in the documentation as a commonly used third-party SDK. Starting February 12, 2025, if a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file or you won’t be able to submit the app for review in App Store Connect. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.
ITMS-91061: Missing privacy manifest - Your app includes “Contents/Frameworks/connectivity_plus.framework/Versions/A/connectivity_plus”, which includes connectivity_plus, an SDK that was identified in the documentation as a commonly used third-party SDK. Starting February 12, 2025, if a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file or you won’t be able to submit the app for review in App Store Connect. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements."
Please suggest a solution to solve this issue as early as possible , because February 12th onwards we will get blocked to release new versions
Good morning everyone,
I am developing a Flutter app for Android and iOS.
When I press a button, the app detects the location of the device (obviously with permissions already granted).
On Android everything works correctly.
On iOS, however, when I press the button for the first time after opening the app, the location is detected after about 30-50 seconds.
On the other hand, if I repeat the operation later, the response time is drastically reduced (only a few seconds).
I am using the location package (https://pub.dev/packages/location), and the code to get the location is as follows:
var currentLocation = await location.getLocation();
Has anyone experienced this problem before or knows how to solve it?
Thank you very much!
Federico
Visual Studio 2022 is attempting to use port 11000 instead of 62078, but the port on iOS 18.5 is not listening for VS's Hot Reloading. Is this allowable? If so, how?
Background Assets can support a maximum of 200G. Will the Apple server perform file comparison? For example, file0 is included in both a.aar file and b.aar file. On the Apple server, does it occupy twice the size of a single file?
I am submitting new App for review and it is rejected due to Crash on iPad
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
I am not able to reproduce the same locally, have tested app against same iOS and all the device type but no crash.
Can someone help provide some pointers on how to debug/investigate the issue.
Attached is the crash report I received:
crashlog-C2489824-B949-47D8-BE2B-9D54CAE8F733.ips