Dive into the vast array of tools and services available to developers.

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

NSUserDefaults + iPhone Transfer Issues
Hi! I was wondering if anyone else encountered similar issues and what the solution ended up being. We're encountering weird sign-in issues on our iOS version of our app. It seems like an uninstall and reinstall solves it, but the issue seems to only impact users who underwent the transfer process from one iOS device to another. What I am curious about: What is copied over from one device to another in this process? Is there a way outside of owning multiple test devices to replicate this flow? Our current suspicion is that NSUserDefaults is not being cleared by our app on first start, and that stale data is copied over during this transfer process, breaking the sign-in until a re-install wipes everything properly. Does it seem like we're on the right track with this assumption, or completely out to lunch?
2
0
82
Apr ’25
Method for privileged action using Framework
I'm exploring using a handful of frameworks to share code between macOS apps. However, one of these frameworks needs privilege to function. The main app has a helper tool utilizing SMAppService. However, I can't work out if there's a feasible way to use that helper tool to support the framework dependency. Should I be creating a second helper tool for the framework instead? Or am I barking up the wrong tree? Thanks!
6
0
517
Jan ’25
Security warning while installing .pkg file in mac OS desktop
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.
13
0
253
Apr ’25
Compile apple
Ive been working on android studio and have my app put together and was gonna start thr apple process and everything I read says I'll need a Mac to do it. Can someone either point me in the right direction or could I send my code over and someone compile my code for me?
1
0
253
Jan ’25
Unexpected performance penalty attributed to first Swift Testing test
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
1
0
113
Apr ’25
When I build binutils, I get a compile error.
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.
1
0
442
Apr ’25
memory leak in dlopen / dlcose, or user error?
Calling dlopen then dlclose causes an increase in the amount of memory used by the program. If I create a loop that calls dlopen / dlclose repeatedly on the same dynamic library, memory usage increases continuously. Is this a bug, or am I using dlopen / dlclose incorrectly? I can reproduce this by modifying the sample code in the Apple Developer docs Creating Dynamic Libraries. If I modify Runtime.c, changing the line void *lib_handle = dlopen(lib_name, RTLD_NOW); to add the infinite loop, as below: void *lib_handle = dlopen(lib_name, RTLD_NOW); for (int ii = 0; ; ++ii) { printf("loop %i\n", ii); int close_err = dlclose(lib_handle); printf("close error: %i\n", close_err); printf("dlopen(%s, RTLD_NOW)\n", lib_name); lib_handle = dlopen(lib_name, RTLD_NOW); } then opening and closing the dynamic library will succeed, but memory usage (as reported by top) will rapidly increase. I'm running on x86_64 macOS 13.6.6. Full code for the modified Runtime.c is attached, the rest of the code is available in the Apple Developer docs. Any suggestions? Many thanks, Chris Runtime.c
3
0
113
Nov ’25
Unable to open mach-O at path
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() }
1
0
147
Apr ’25
XCFramework with Common Third-Party Dependencies Causing Duplicate Symbol Conflicts
What is the recommended approach for distributing an XCFramework that uses common third-party dependencies (like Google Maps) when client apps may also use the same dependencies, resulting in duplicate symbol conflicts? I'm developing a closed-source SDK distributed as an XCFramework. My SDK internally uses Google Maps for mapping functionality. However, when clients integrate my XCFramework into their apps that also use Google Maps, we encounter duplicate symbol errors. What I've Tried: Static vs Dynamic Linking: Both approaches result in conflicts Static linking: Google Maps symbols compiled into my binary Dynamic linking: GoogleMaps.framework bundled with my XCFramework Build Configuration: Set "Build Libraries for Distribution" = YES Tried various linking strategies Architecture Changes: Used @implementation_only import Wrapped code with #if canImport(GoogleMaps) However, the dependencies still get linked at build time
9
0
327
3w
How can I find the error in a TestFlight crash report?
I have uploaded my app to App Store Connect TestFlight. Then I have downloaded it in TestFlight on my iPad. But the app always crashes a few seconds after opening. It seems to be always the same issue. I have a few crash reports in App Store Connect--&gt;App name--&gt;TestFlight--&gt;Feedback--&gt;Crashs. I have opened a crash report in Xcode but I don´t find the error that causes the crash. How can I find the error in Xcode? Is it possible to find the class and line in the class where the crash happened? In addition, how can I export a crash report from Xcode? The crash doesn´t happen in debug mode on my iPad, it only happens when I install and open my app after downloading it from TestFlight on my iPad.
11
0
728
Jan ’25
Could you please add a feedback/question feature for the Apple Developer Documentation?
Routinely I'll have additional questions when browsing the Apple Developer Documentation. Would be really convenient if we could just submit that feedback from the documentation webpage itself, Apple could have the data, and potentially down the line address it; but at least you'd have the data. For example, I'm looking at the documentation for AttributedString: https://developer.apple.com/documentation/foundation/attributedstringprotocol/index(_:offsetbycharacters:) Now, I would like to know what would happen if the distance brought the position past the end, what would be returned. Because it's non-optional which I imagine would imply nil would be returned if the parameters were invalid. But it doesn't say. I run into these small missing behavioral details with some regularity and imagine others do as well. It would be really great if we could just submit that discrepancy and perhaps see some numbers on the page of the total number of discrepancies submitted or something so we can see that it's not just us and have some peace of mind that based on the amount of feedback submitted there's a higher chance that this discrepancy will be addressed in the future.
2
0
93
Apr ’25
What's the idea behind the changes in the Objective-C flavor of the Foundation documentation?
I just noticed that when you check the online documentation for Foundation using the delicious Objective-C flavor, some values are no more the expected ones: https://developer.apple.com/documentation/foundation/filemanager/copyitem(at:to:)?language=objc#return-value true if the item was copied successfully or the file manager’s delegate stopped the operation deliberately. Returns false if an error occurred. Considering that a BOOL used to be YES or NO for the last quarter of a century, I have the following question: [Q] What is the idea behind the disturbing changes of the Objective-C documentation?
5
0
168
Apr ’25
My Apple developer certificates expire soon. Is it necessary to create new certificates?
My Apple developer certificates(4 certificates) expire soon. I'm developing an application for iOS but the application is not yet released in the App Store, only Testflight releases for private testing. Is it necessary to create 4 new certificates or can I edit the current certificates so that they don't expire soon?
1
0
102
Oct ’25