I’m currently trying to localize one of my Mac apps for Right-to-Left languages.
In Xcode, to test this, I set the language to ‘Arabic’ in the scheme, which then displays the language and mirrors the layout accordingly.
I have two questions about this:
macOS titlebar buttons: In the title bar at the top, shouldn’t the Close and Minimize buttons also be on the right side (mirrored)? How can I test this?
Numerals: My UI still displays Latin numerals (123). I know this is correct in some Arabic-speaking regions, but I’d also like to test cases where Arabic-Indic numerals (١٢٣) are used. Is there a way to configure the scheme to test this?
Dive into the vast array of tools, services, and support available to developers.
Post
Replies
Boosts
Views
Activity
I'm not able to see my account information on the Mac Mini machine with M2 CPU.
I log in to my account in Settings, but in Xcode 16.1 it fails with the
Decoding Error
There was a failure decoding response
I think this is the same as here:
https://developer.apple.com/forums/thread/767673
https://developer.apple.com/forums/thread/769069
https://developer.apple.com/forums/thread/759877
Hello,
I am using Xcode 16.1 (16B40) on MacOS Sequoia 15.1.0 using a Macbook pro M1 Max
I am developing an app for iOS 17 and 18 using SwiftUI
I created UITests to take the screenshots for the appStore on the simulator
The tests run well and all of them are succeded
The problem appears when I try to get the screenshot files from the xcresult files after the test. There is not any screenshot inside it.
I found a data folder and a Info.plist file. In the data folder there are a lot of files with this pattern data.03zD4C6IGFFthK14NwA8mNvcwFHT16g6Tl40Tl1YmBC1bNh6d0YIcnWKyUaQPDXoa8fYo6C3Xcv8xvMtE3_NEXA== and other files with this pattern refs.03zD4C6IGFFthK14NwA8mNvcwFHT16g6Tl40Tl1YmBC1bNh6d0YIcnWKyUaQPDXoa8fYo6C3Xcv8xvMtE3_NEXA==
Ok, I tryed to use fastlane to automatize the screenshots but the problem is still present. The xcresult files have not any png file.
I had no problems doing this action (getting screenshots from a xcresult file) in previous versions of MacOS and Xcode in my current machine.
I just updated my machine to MacOS Sequoia 15.1.1 and the problem is still present
Honestly I don't know how to fix this situation.
With Xcode 15 I had not any problem with that but I am not sure if Xcode 16.0 was runing without problems because I didn't need to use this functionality in those months
Here is my code for a UITest:
import XCTest
final class ScreenshotsUITests: XCTestCase {
let app = XCUIApplication()
let device = "iPhone16"
override func setUpWithError() throws {
continueAfterFailure = true
}
override func tearDownWithError() throws {}
@MainActor
func testEnglishScreens() throws {
let lang = "en"
app.launchArguments.append("UITestMode")
app.launchArguments += ["-AppleLanguages", "(en)"]
app.launchArguments += ["-AppleLocale", "en_US"]
app.launch()
executeTestsForMenus(lang: lang, backLabel: "Back")
executeTestForMatch(lang: lang)
}
@MainActor
func testSpanishScreens() throws {
let lang = "es"
app.launchArguments.append("UITestMode")
app.launchArguments += ["-AppleLanguages", "(es)"]
app.launchArguments += ["-AppleLocale", "es_ES"]
app.launch()
executeTestsForMenus(lang: lang, backLabel: "Atrás")
executeTestForMatch(lang: lang)
}
private func executeTestForMatch(lang: String) {
let startButton = app.buttons["start-button"]
startButton.tap()
let key4 = app.buttons["key-4"]
XCTAssertTrue(key4.waitForExistence(timeout: 30), "Key 4 in match screen is not found")
key4.tap()
let key2 = app.buttons["key-2"]
XCTAssertTrue(key2.exists, "Key 2 in match screen is not found")
key2.tap()
makeScreenShot("playing", lang: lang)
let closeButton = app.buttons["close-button"]
XCTAssertTrue(closeButton.exists, "Close button in match screen is not found")
closeButton.tap()
}
private func executeTestsForMenus(lang: String, backLabel: String) {
let mainHeader = app.staticTexts["Math match"]
XCTAssertTrue(mainHeader.exists, "Header in main screen is not found")
makeScreenShot("mainMenu", lang: lang)
let settingsButton = app.buttons["settings-button"]
XCTAssertTrue(settingsButton.exists, "Settings button in main screen is not found")
settingsButton.tap()
makeScreenShot("Settings", lang: lang)
let backButton = app.buttons[backLabel]
XCTAssertTrue(backButton.exists, "Back button in match screen is not found")
backButton.tap()
let helpButton = app.buttons["help-button"]
XCTAssertTrue(helpButton.exists, "Help button in main screen is not found")
helpButton.tap()
makeScreenShot("Help", lang: lang)
backButton.tap()
let scoreButton = app.buttons["score-button"]
XCTAssertTrue(scoreButton.exists, "Scores button in main screen is not found")
scoreButton.tap()
makeScreenShot("Scores", lang: lang)
backButton.tap()
let playButton = app.buttons["play-button"]
XCTAssertTrue(playButton.exists, "Play button in main screen is not found")
playButton.tap()
makeScreenShot("matchBuilder", lang: lang)
let startButton = app.buttons["start-button"]
XCTAssertTrue(startButton.exists, "Start button in match builder screen is not found")
}
private func makeScreenShot(_ name: String, lang: String) {
takeScreenshot(app, named: "\(lang)-\(name)-\(device)")
}
}
import XCTest
extension XCTestCase {
func takeScreenshot(_ app: XCUIApplication, named name: String, fullScreen: Bool = false) {
let screenshot: XCUIScreenshot
if fullScreen {
screenshot = app.windows.firstMatch.screenshot()
} else {
screenshot = XCUIScreen.main.screenshot()
}
let screenshotAttachment = XCTAttachment(
uniformTypeIdentifier: "public.png",
name: "screenshot-\(name).png",
payload: screenshot.pngRepresentation,
userInfo: nil)
screenshotAttachment.lifetime = .keepAlways
add(screenshotAttachment)
}
}
and here is the content of my testplan file:
{
"configurations" : [
{
"id" : "35BC7C0B-9A5A-4027-9F30-36958C4C1AAF",
"name" : "Test Scheme Action",
"options" : {
"preferredScreenCaptureFormat" : "screenshot",
"testExecutionOrdering" : "random",
"uiTestingScreenshotsLifetime" : "keepAlways",
"userAttachmentLifetime" : "keepAlways"
}
}
],
"defaultOptions" : {
"targetForVariableExpansion" : {
"containerPath" : "container:myAppProject.xcodeproj",
"identifier" : "B27D1B022CA00314001A259B",
"name" : "MyAppProject"
}
},
"testTargets" : [
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:MyAppProject.xcodeproj",
"identifier" : "B27D1B122CA00315001A259B",
"name" : "MyAppProjectTests"
}
},
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:MyAppProject.xcodeproj",
"identifier" : "B27D1B1C2CA00315001A259B",
"name" : "MyAppProjectUITests"
}
}
],
"version" : 1
}
I made tests with old projects in my machine and those projects have the same problem with screenshot files in the xcresult bundles
I don't know if the problem is in my machine, my Xcode, MacOS or other ting. I don't know how to fix this problem
Please, can anyone help me?
Thanks in advance
I am working on adding Objective-C ABI support to DLang and currently I'm getting the following error when linking with ld.
Assertion failed: (fixups().size() == 1), function classTarget
I'm curious as to why I am getting this error, looking at the objective-c runtime source, i have not applied any of the fixup flags to any protocol definitions. From my understanding, the source of the linker is not available so it's a bit on the difficult side to determine which part is wrong.
The source of my pull-request is available here:
https://github.com/ldc-developers/ldc/pull/4777
Hello
We've tried to "purchase" our membership on the 6th of November, entered valid billing information, but still didn't receive back any feedback from apple.
Previously with other accounts we didn't encounter any issue, but now for some reason apple support is not answering us back (left 3 tickets, they are all open, where the oldest is open for over a week without a reply back from apple)
Did anybody encounter this before? is there another way to contact apple to get their help?
Thanks in advance
I have two macOS applications: Application A, named My App.app with the bundle ID com.comp.myapp, and Application B, named My App.app with the bundle ID com.comp.myapp2. Both applications have the same name. Application A is installed at /Applications/My App.app. When I run the installer for Application B, it gets installed in a folder at /Applications/My App.localized/My App.app. Even if I remove Application A using the preinstall script of Application B's installer, the result remains the same.
Does the installer determine the installation path with the new folder before the preinstall script executes?
How can it be addressed so the new folder will not be created?
Notes:
We have a composite package that contains multiple components. Instead of just running pkgbuild, we use our own components.plist rather than a synthesized one. The components.plist is attached.
The PackageInfo for Application B is also attached.
components.plist
PackageInfo
packageInfo.xml
components.plist
We have been trying to migrate screens that were developed using UITool Kit to SwiftUI. In the process we have some screens that have SwiftUI embedded inside the UITool kit view. Our developers have defined accessibility ids for all elements in these views and these are inspectable using the native iOS xcode inspector. However when i try inspecting it with the appium inspector i get an empty list with no elements in the hierarchy tree. Attaching a screenshot of the element when inspecting through the native xcode accessibility inspector,
Attaching a screenshot of the same screen when inspected through the appium inspector,
Also tried printing the XCTest UI dump using appium method,
`driver().executeScript("mobile:source", Map.ofEntries(Map.entry("format","description")))
The UI tree i get is the same that i get when inspecting through the appium inspector.
Requesting support from the Apple team based on this ticket, [https://github.com/appium/appium/issues/20759)
Dear Apple Community,
I am facing quite a hard issue in my React Native app that I do not know how to overcome. I have an app, that connects to "ANY" Mautic.org instance - You can think of it as Wordpress for marketing automation. And as each WordPress instance has it's own URL, the same goes for the Mautic. So at the beginning I am asking user for a URL that my app si supposed to be connected:
//previous code
<TextInput
value={instanceLink}
onChangeText={(text) => setInstanceLink(text.trim().toLowerCase())}
placeholder="Please insert instance link"
style={styles.input}
/>
//Code continues
The instance link value is stored in Expo Secure Store and used through the whole app. This works perfectly fine during development. The app saves this instance link and calls API without any issues:
//previous code
export const testConnection = async (
url: string
): Promise<{
status: boolean;
message: string;
fullResponseLog: Response | undefined;
}> => {
try {
const response: Response = await fetch(url);
// Code Continues
However, when build for production and used in TestFlight or Google Play - I am getting "network request failed" (for Fetch) or "Network Error" (for Axios). It seems this "dynamic url" is blocked somehow by App Stores policy and I could not find a solution for this problem.
Any ideas?
Are such dynamic links actually blocked by some policy?
We've encountered a critical issue with the new linker of CLT16 (version 16.1.0.0.1.1729049160) that prevents proper initialization of BLOCK DATA.
BLOCK DATA are used to initialize global variables in our Fortran code, and its failure to initialize those variables leads to a program crash. This affects our community of more that thousand scientists worldwide.
The current workaround is using the -ld_classic linker option. However, this option is deprecated and will be removed in a future release, as described in the Xcode release note.
I've attached a minimal example that reproduces the problem using GNU gfortran with the following instructions (the attached main.f.txt and bd.f.txt need to be rename to main.f and bd.f, respectively):
gfortran -c bd.f
gfortran -c main.f
ar rv libtest.a bd.o main.o
gfortran -ld_classic -o good.x -L. libtest.a
gfortran -o bad.x -L. libtest.a
Running the two programs, one can see that the BLOCK DATA are not initialised without the option ld_classic,
$ > ./good.x
3.7273802569289098 2.8083922366048202
$ > ./bad.x
0.0000000000000000 0.0000000000000000
We kindly request your attention to this matter and a prompt solution or alternative workaround.
Best regards
main.f.txt
bd.f.txt
part.txt
Despite the recommendation of DTS Engineers at [https://forums.developer.apple.com/forums/thread/766500, Xcode 16.1 ](https://forums.developer.apple.com/forums/thread/766500, Xcode 16.1 ) the same behavior when automatically signing in our CI/CD environment:
The operation couldn’t be completed. Unable to log in with account '<APPLE-ID>'. The login details for account '<APPLE-ID>' were rejected.
error: No profiles for '<BUNDLE-ID>' were found: Xcode couldn't find any iOS App Development provisioning profiles matching '<BUNDLE-ID>'
** ARCHIVE FAILED **
In addition, we see several orphaned Xcode username entries in the local keychain / Keychain Access app that match the identifier stored in com.apple.dt.Xcode.plist under the key DVTDeveloperAccountManagerAppleIDLists - IDE.Identifiers.Prod.
(Preferences read com.apple.dt.Xcode DVTDeveloperAccountManagerAppleIDLists)
or we see that the DeveloperID stored in Xcode - Settings - Accounts is lost.
We have reset a Mac mini (2023 / arm) to factory settings, reinstalled Sequoia in the current version and installed Xcode 16.1 (16B40). Nevertheless, we see the behavior described above. This behavior is not reproducible for us.
We have opened the following tickets, but have not received a response that explains the behavior or offers a solution.
Case ID: 9935876
Feedback: FB15700530
Undefined symbol: OBJC_CLASS$_ADClient The ADClient used in the project has been removed, but Xcode16.1 still reports this error.
Apple Account Issue
The region of the Apple Account that's
signed in to Settings or System
Preferences is different than the region of the Apple Account with which you signed into the Apple Developer app.
Sign in to Settings or System Preferences with an Apple Account
that has the same region.................am getting this error whenever am trying to complete my online enrollment can someone help??
Hi, we need to restore the developer plan and submit a new iOS app for review. Currently our account does not have permission to log in to the developer backend.
Clicking on the account page only has one message box, and after submitting the message, there has been no resolution, only receiving emails that are currently being processed. It has been a month since then, and the phone call also asked me to go to the Apple developer website for help. Who can help me. thank you!
What is the reason why my account cannot be used normally? How can I operate it on my end to use my account normally!
I tried to apply for the developer account from September to November. But the status is always "Pending".
I reached out to Apple support and they said they cannot receive my payment from bank.
The bank transaction is "Pending" as well. I asked the bank support and they said they have allowed Apple to collect the $99 USD money. And Apple support said it's the responsibility of the bank to give Apple the money.
And the Apple support recommended me to use the Developer app to apply for the Developer Program. But the app requires US driver’s license or state identification card to verify. I'm not a US citizen so I cannot use the Developer app. I'm forced to use the website.
I'm so confused and want to know:
Isn't it the responsibility of Apple to collect the money authorized by the bank?
The status of my last three bank transactions are still "Pending" and the bank said it's the responsibility of Apple to collect the money. They cannot cancel the pending transaction.
I feel like a piece of shit being thrown around by terrible customer services. I really want to cry.
Hi, so i'm trying to use Activity.update but XCode throws an error if I don't use the ios 16 syntax, only to throw a warning that it's deprecated if I do. Screenshots below. Should I bug report or is there a known workaround?
I’m using a Mac Mini M2 with macOS Sequoia 15.1 and running a virtual machine with the same OS. While logging into my account works in System Settings, adding it to Xcode 16.1 fails after the initial login with a decoding error:
Decoding Error
There was a failure decoding response: (HTTP 401, 60 bytes).
There are similar issues in
https://developer.apple.com/forums/thread/767673
and
https://developer.apple.com/forums/thread/759877
Looking for advice: I've been automatically rejected from Apple's Developer Program without an explanation.
Hi everyone,
It seems I’ve hit a brick wall, so I’m reaching out to see if anyone here has experienced something similar to this or has any advice or resources to share.
I recently attempted to enroll in the Apple Developer Program, but my application was immediately denied after submission. Within one second of submitting my driver’s license, the app stated that Apple was unable to verify my identity and that I needed to reach out to Developer Support for further assistance.
When I first contacted Developer Support for clarification, the representative was happy to help. After being taken off hold, she said she couldn't offer any more information, but assured me that I'd later receive an email with further details related to my account and next steps. However, instead of steps to resolve the issue, I received a denial email repeating the same message about being unable to verify my identity (screenshot attached).
I’ve since spoken to multiple representatives and supervisors, and, while everyone was initially polite and understanding, it changed after I was taken off hold.
Here’s what I’ve been told:
The decision is final, and there is no possibility of escalation or appeal.
The supervisors themselves, despite being the final decision makers, have no access to the specific reason for applicants’ denial and, thus, could not provide any additional details.
I was also invited to join Apple's “Xcode program,” which I found out just means they’ll allow me to buy Xcode from the app store and use it without a developer account (I already do that).
Every time a support representative reread the sentence about being “unable to verify [my] identity,” I responded by offering to provide additional forms of identification. However, that offer was never addressed.
The last senior advisor I spoke with stated to me over the phone that:
She was the highest authority on the matter.
There was absolutely no way to escalate the issue further; it was 100% impossible.
She physically did not have access to the reason for my denial.
Neither she nor anyone else at Apple was able to offer further assistance.
I asked this senior advisor to send me an email with the above points in writing, which she said she would do. However, the email I received was a virtual copy-paste of the email from the first support representative, stating the same few sentences verbatim.
This has left me deeply confused, especially as no specific reason for denial has been shared, and since I was explicitly denied any opportunity to address (or even get information on) potential issues.
I’d like to ask this community:
Has anyone else experienced this sort of immediate rejection and/or a refusal to disclose the reason for that rejection?
Are there specific guidelines or policies I may have unknowingly violated that I should review? If so, what could be the reason why they’re being withheld from me?
Are there any resources or alternative channels I can explore to resolve this issue?
I’m so thoroughly confused, and I’m genuinely at a loss with how to move forward. I appreciate any insight or guidance from this community.
Thanks so much for taking the time to read!
Best regards,
David
Hi team,
We're using CocoaPods in our project and we noticed the compiler fails to build certain targets saying it's "Missing required module 'x'" when trying to build them in Swift 6:
We realized the modules the compiler is complaining about are pod dependencies required by the other target dependencies, and that this error will only appear when building with Swift 6 unless such dependencies are described on the Podfile as direct dependencies of the target, or we include them in the framework search paths. For example, the error in the image above will show if module 'X' import 'Y' and 'Y' imports 'CocoaLumberJack' and we don't specify a direct dependency between 'X' and 'CocoaLumberJack'.
Regardless of the fact that we can manually add the missing module location to the target search paths, we'd like to understand why we're facing this issue in the first place, what changed between Swift 5 and Swift 6 that's requiring us now to explicitly describe these dependencies. I'd appreciate if someone could tell us more about this. We're particularly interested on knowing if this is an intentional change and how to handle it properly.
Thanks
While I was recently profiling some code from a Swift library, I noticed that XCTest added in signposts for the measurement tests, which I found really helpful to "home in" on the code I wanted to profile digging around in the stack trace.
I tried to add my own signposts to provide just a bit of my own markers in there, but while it compiles and profiles equivalently, the signposts just aren't showing up. This is with Xcode 16.1, macOS Sequoia (15.1) and a swift library, using XCTest and profiling within one of the unit tests.
Is there something in this sequence that doesn't allow the library to set up signposts and have instruments collect them?
The flow I'm using:
import os
let subsystem = "MyLibrary"
class MyClass {
let logger: Logger = .init(subsystem: subsystem, category: "fastloop")
let signposter: OSSignposter
init() {
signposter = OSSignposter(logger: logger)
}
func goFast() {
let signpostId = signposter.makeSignpostID()
let state = signposter.beginInterval("tick", id: signpostId)
// ... do a bunch of work here - all synchronous
signposter.endInterval("tick", state)
}
}
Is there something I'm doing incorrectly in using this API, or not enabling to allow those signposts to be collected by the profiler?
I do see the signposts that XCTests injects into the system, just not any of the ones I'm creating.
I'm trying to run the Instrument "Animation Hitches", but it fails immediately after starting on the iPhone. This happens on multiple projects, including a brand new project.
I get the following errors:
Timestamp | Message
(Before Run Started) | Unexpected failure: Couriers have returned unexpectedly.
(Before Run Started) | Failed to start the recording: Failed starting
ktrace session.
The issue also happens with the instruments App Launch, but not with any other that I tested.
Is this a bug?
Using Xcode Version 16.1, Mac Mini M1 Sequoia 15.1. Running project on iPhone 14 Pro iOS 18.1.