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

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Regarding Launch Screens
When building an app with iOS26 beta3, I received a warning saying "Launch screens will soon be required." Does this mean that, similar to the thread below, the app might not launch in builds for iOS27 and later (including iOS27)? https://developer.apple.com/forums/thread/789004
1
0
125
Jul ’25
Xcode asset validation failed
Hi all, First time trying to upload a game to the App Store, having some trouble with it. I have managed to build my Unity Project and get it onto Xcode, but when I click "distribute app" it is giving me this error. Asset validation failed, Invalid Bundle. The bundle at (app name).app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'. Xcode version 16.2 Unity editor version 2022.3.30f1 Anyone know how to get past this? Many thanks!
1
0
350
Feb ’25
Capacitor iOS Plugin with MobileVLCKit – Swift Plugin Not Recognized from Angular
Hi everyone, I'm developing a Capacitor plugin to display an RTSP video stream using MobileVLCKit on iOS. The Android side works perfectly, but I can’t get the iOS plugin to work — it seems my Swift file is not being detected or recognized, even though I’ve followed the official steps. What works: I followed the Capacitor Plugin Development Guide. I implemented the Android version of the plugin in Java inside the android/ folder. Everything works perfectly from Angular: the plugin is recognized and calls execute correctly. The issue on iOS: I implemented the iOS part in Swift, using the official MobileVLCKit documentation. I initially placed my RtspVlcPlugin.swift file in the plugin’s iOS folder, as the docs suggest. Then I moved it directly into the main app’s ios/App/App/ folder next to AppDelegate.swift and tried manual registration. The problem: Even though I manually register the plugin with: if let bridge = self.window?.rootViewController as? CAPBridgeViewController { bridge.bridge?.registerPluginInstance(RtspVlcPlugin()) print("✅ Plugin RtspVlcPlugin registered manually.") } It prints the registration message just fine. BUT from Angular, the plugin is not recognized: Capacitor.Plugins.RtspVlcPlugin has no methods, and I get this error: "code":"UNIMPLEMENTED" I also tried declaring @objc(RtspVlcPlugin) and extending CAPPlugin. I’ve verified RtspVlcPlugin.swift is added to the target and compiled. The Swift file doesn’t seem to register or expose any methods to Angular. I even tried adding the code without using a plugin at all — just creating a Swift class and using it via the AppDelegate, but it still doesn't expose any callable methods. My Swift code (RtspVlcPlugin.swift): import Capacitor import MobileVLCKit @objc(RtspVlcPlugin) public class RtspVlcPlugin: CAPPlugin, VLCMediaPlayerDelegate { var mediaPlayer: VLCMediaPlayer? var containerView: UIView? var spinner: UIActivityIndicatorView? @objc func iniciar(_ call: CAPPluginCall) { guard let urlStr = call.getString("url"), let x = call.getDouble("x"), let y = call.getDouble("y"), let w = call.getDouble("width"), let h = call.getDouble("height"), let url = URL(string: urlStr) else { call.reject("Missing parameters") return } DispatchQueue.main.async { self.containerView?.removeFromSuperview() let cont = UIView(frame: CGRect(x: x, y: y, width: w, height: h)) cont.backgroundColor = .black cont.layer.cornerRadius = 16 cont.clipsToBounds = true let sp = UIActivityIndicatorView(style: .large) sp.center = CGPoint(x: w/2, y: h/2) sp.color = .white sp.startAnimating() cont.addSubview(sp) self.spinner = sp self.containerView = cont self.bridge?.viewController?.view.addSubview(cont) let player = VLCMediaPlayer() player.delegate = self player.drawable = cont player.media = VLCMedia(url: url) self.mediaPlayer = player player.play() call.resolve() } } @objc func cerrar(_ call: CAPPluginCall) { DispatchQueue.main.async { self.mediaPlayer?.stop() self.mediaPlayer = nil self.spinner?.stopAnimating() self.spinner?.removeFromSuperview() self.spinner = nil self.containerView?.removeFromSuperview() self.containerView = nil call.resolve() } } public func mediaPlayerStateChanged(_ aNotification: Notification!) { guard let player = mediaPlayer, player.state == .playing, let sp = spinner else { return } DispatchQueue.main.async { sp.stopAnimating() sp.removeFromSuperview() self.spinner = nil } } } In the Angular project, I’m using the plugin by manually registering it with registerPlugin from @capacitor/core. Specifically, in the service where I need it, I do the following: import { registerPlugin } from '@capacitor/core'; const RtspVlcPlugin: any = registerPlugin('RtspVlcPlugin'); After this, I try to call the methods defined in the iOS plugin, like RtspVlcPlugin.iniciar({ ... }), but I get an UNIMPLEMENTED error, which suggests that the plugin is not exposing its methods properly to the Angular/Capacitor environment. That makes me believe the problem lies in how the Swift file is integrated or registered, rather than how it is used from Angular. I’d appreciate any guidance on how to properly expose a Swift-based Capacitor plugin’s methods so that they are accessible from Angular. Is there any additional registration step or metadata I might be missing on the iOS side?
1
0
187
Jul ’25
Removing dependence on -undefined dynamic_lookup
One of the libraries that makes up my application depends on -undefined dynamic_lookup to link, and has since at least Snow Leopard if not earlier. I think iOS hasn't liked this for a while, but with the new linker I'm getting deprecation warnings even on OS X. I don't entirely understand what this flag does, other than it makes the build successful. :) So I'm at a loss on how to even approach fixing it. At this point, even links to useful resources would be appreciated, since googling hasn't yielded much beyond "remove -undefined to quiet the deprecation warning." FWIW, there is a bit of circular dependence between this library and another. On another OS, we need a carefully choreographed dance of building object files, then import libraries, then final linking to make this all work. So I suspect this may be related, but even if I'm correct, I don't know what would be the equivalent tools on Apple platforms.
1
0
597
Feb ’25
Issue with page.selectionForWord(at:) in Mac Designed for iPad Mode
I’m encountering an issue with the page.selectionForWord(at:) method in my application. This method has stopped working in Mac Designed for iPad mode. The functionality works fine on physical devices such as iPhone and iPad, as well as on Mac, but in this specific mode, the method no longer works, and the application crashes. It is crucial for me that this functionality works in Mac Designed for iPad mode, as rewriting the entire code for Mac would be too time-consuming, especially considering the size of the application. Interestingly, a similar method, page.selectionForLine(at:), works perfectly with the same parameters in all environments, including the Mac Designed for iPad mode. This makes the issue even more puzzling. The issue began after the latest update. The app no longer responds to the page.selectionForWord(at:) method, which causes the application to crash. I have attached a test app to reproduce the error.
1
0
419
Dec ’24
Where's the replacement for Quartz Debug?
Hi, This can't be right. Is there really no replacement for Quartz Debug?!? As the sole developer on a project who has an Intel Mac and Quartz Debug, I am basically a god now. Everyone else has Apple Silicon and... I think they're randomly guessing at this point. Because I have entire teams sending me Intel Mac builds of stuff just so I can test it in QD. This is THE TOOL we used at NewTek to find performance issues, and THE TOOL I used for a dozen companies after that, to help them with similar issues. If there's no replacement, is there a reason there's no replacement? This feels like a massive step backwards, having to guess at problems like this. -Chilton
1
0
150
Aug ’25
Automatic process in assembling app and send to Apple Store
Hello! We would like to know the steps required to build an application and submit it to the Apple Store using an automated process on a server. Here are our conditions: We have a server running macOS Sonoma 14.6.1 on Amazon EC2. Xcode 16.1 (Build version 16B40) is installed. We use only console commands, as the GUI is not available. We use Cordova to add the iOS platform to the application. A private key, certificate, and provisioning profile have already been created and are located on the server. Could you please clarify: What commands are needed to configure the Keychain to use the certificate and provisioning profile? How can we build the application using xcodebuild? What are the steps to sign and submit the application to the App Store with minimal human interaction? Thank you in advance for your assistance!
1
0
338
Feb ’25
TestFlight app crashes on launch when minimum supported iOS version is set to iOS 14
Hi All, I have an App on AppStore, recently the minimum supported version of the app was changed from iOS 12 to iOS 14. Post that the TestFlight builds are crashing on launch. If we revert the minimum supported iOS version to 12, the crash no longer happens. This project is using cocoapods, and from the crash logs it seems the issue with with PLCrashReporter framework. "EXC_CRASH" Termination reason: DYLD 9 weak-def symbol not found '__ZN7plcrash3PL_5async15dwarf_cfa_stateljiE10push_stateEv'. This issue is happening only on TestFlight builds where the minimum supported version is 14.0 Any pointer to a solution is welcome.
1
0
374
Mar ’25
How to find Siri response window by bundle id
Hi, experts, I want to find Siri response window by bundle id and use it for checking or printing, here is my example code: XCUIDevice.shared.siriService.activate(voiceRecognitionText: "call mom") let siriApp = XCUIApplication(bundleIdentifier: "***") // Print out text from siriApp, // expecte print: "Sorry, I can't make a phone call with your iphone." Where should I put into ***? I tried "com.apple.SiriViewService", "com.apple.siri.velocity", "com.apple.springboard' but nothing work Any suggestion appreciated, thanks!
1
0
91
Aug ’25
.Net MAUI (Windows & Mac)
Hello, I have created a .NET MAUI application in Windows Visual Studio 2022. Also I have a MAC fully configured with latest Visual Studio for MAC and Xcode Installed. When pairing the MAC for windows machine I am able to run the simulators for various IPhone devices(as they are attached to MAC) but when I try to run for the MacCatalyst from my Windows machine it doesnt work. Is it possible to create a build for the MAUI application for MacCatalyst from my windows machine.The build should be created in my Windows folder directory.?
1
0
584
Feb ’25
Flutter App not Building for iOS
Hey, Since I set up push notifications for my Flutter app following this tutorial https://documentation.onesignal.com/docs/flutter-sdk-setup, my Flutter app no ​​longer builds for iOS in the CD pipeline. I get the following error: [17:24:47]: ▸ ProcessException: Process exited abnormally with exit code -6: [17:24:47]: ▸ Command line invocation: [17:24:47]: ▸ /Applications/Xcode_15.4.app/Contents/Developer/usr/bin/xcodebuild -list [17:24:47]: ▸ User defaults from command line: [17:24:47]: ▸ IDEPackageSupportUseBuiltinSCM = YES [17:24:47]: ▸ 2025-03-10 17:24:46.855 xcodebuild[13337:34491] [MT] DVTAssertions: ASSERTION FAILURE in DevToolsCore/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/DataModel/References/SynchronizedGroups/PBXFileSystemSynchronizedAbstractGroup.m:28 [17:24:47]: ▸ Details: Assertion failed: IDEFileSystemSynchronizedGroupsAreEnabled() [17:24:47]: ▸ Object: <PBXFileSystemSynchronizedRootGroup> [17:24:47]: ▸ Method: +allocWithZone: [17:24:47]: ▸ Thread: <_NSMainThread: 0x60000026c200>{number = 1, name = main} [17:24:47]: ▸ Hints: [17:24:47]: ▸ Backtrace: [17:24:47]: ▸ 0 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation) [17:24:47]: ▸ 1 _DVTAssertionHandler (in DVTFoundation) [17:24:47]: ▸ 2 _DVTAssertionFailureHandler (in DVTFoundation) [17:24:47]: ▸ 3 _DVTAssertionWarningHandler (in DVTFoundation) My pipeline looks like this: name: iOS Build and Deploy to App Store with Custom Version on: workflow_dispatch: inputs: version: description: 'Version number' required: true default: '1.0.0' env: FLUTTER_CHANNEL: "stable" RUBY_VERSION: "3.2.2" jobs: build_ios: name: Build iOS runs-on: macos-latest timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ env.RUBY_VERSION }} bundler-cache: true working-directory: 'daytistics/ios' - name: Clean up vendor working-directory: 'daytistics/ios' run: rm -rf vendor - name: Install Bundler Gems working-directory: 'daytistics/ios' run: bundle install - name: Run Flutter tasks and get pub packages uses: subosito/flutter-action@v2.16.0 with: flutter-version-file: 'daytistics/pubspec.yaml' channel: ${{ env.FLUTTER_CHANNEL }} cache: true - name: Get Flutter Packages working-directory: ./daytistics run: flutter pub get - name: Install Bundler Gems working-directory: 'daytistics/ios' run: | bundle install bundle exec pod repo update # Add this line # Remove the "Reinstall CocoaPods" step entirely - name: Pod Install working-directory: 'daytistics/ios' run: bundle exec pod install - name: Clean Flutter build working-directory: ./daytistics run: flutter clean - name: Create .env file working-directory: ./daytistics run: touch .env - uses: maierj/fastlane-action@v3.1.0 with: lane: 'release_app_store' subdirectory: daytistics/ios options: '{ "version_number": "${{ github.event.inputs.version }}", "env_vars": ["SUPABASE_URL", "SUPABASE_ANON_KEY", "POSTHOG_API_KEY", "SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID", "SENTRY_DSN"] }' env: ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }} ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }} ASC_KEY_P8_BASE64: ${{ secrets.ASC_KEY_P8_BASE64 }} MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }} APP_BUNDLE_ID: ${{ secrets.APP_BUNDLE_ID }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} SUPABASE_URL: ${{ secrets.SUPABASE_URL }} SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }} POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }} SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID: ${{ secrets.SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }} Everything works as expected in the simulator. However, I think that the problem isn't related to the pipeline. Instead I think it is related to the "Signing Capabilities" in X-Code: https://i.sstatic.net/E0tSetZP.png https://i.sstatic.net/oC1xG0A4.png Thanks for your help!
1
0
630
Mar ’25
Apple ID dissapears from Xcode and build is failing
I'm calling this command to export archive: xcodebuild -exportArchive -archivePath .build/XYZ.xcarchive -exportPath .build/XYZ.ipa -exportOptionsPlist Authenticator/ExportOptions.plist -quiet -allowProvisioningUpdates Here is my exportOptions file content &lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt; &lt;plist version="1.0"&gt; &lt;dict&gt; &lt;key&gt;method&lt;/key&gt; &lt;string&gt;app-store-connect&lt;/string&gt; &lt;key&gt;signingStyle&lt;/key&gt; &lt;string&gt;automatic&lt;/string&gt; &lt;key&gt;teamID&lt;/key&gt; &lt;string&gt;ABCD&lt;/string&gt; &lt;/dict&gt; &lt;/plist&gt; Most of the time this command fail with this error: error: exportArchive No Accounts error: exportArchive No signing certificate "iOS Distribution" found What we found is that our Apple ID just disappear from Xcode and we need to add it again manually. So there are two questions here: Why Apple ID account dissapears and how I can fix this? Is there an option to not use Apple ID account in Xcode and for example to use -authenticationKeyID flags of xcodebuild? Just to mention this happens only on our CI machine and not locally.
1
0
578
Mar ’25
Simulator crash Exception Type: EXC_CRASH (SIGKILL) WatchDog: 0x8BADF00D
Hello, My app often crashes when I use simulators. I would like some help with reading the crash report that is generated. Especially with the part below Thread 0 Crashed. Based on other posts I understand that the 0x8BADF00D in the crash report is a WatchDog crash that basically says that WatchDog terminated the app because the main thread was blocked for a significant time. Many processes can block the main thread so it's hard to find out what it is in our specific case. Can someone help me reading through the crash report? Short_crash_report.txt Background information The application is Xamarin Native and I use Rider as an IDE. When I use Visual Studio, the simulators run just fine. No crash occurs while using my app on a device. The crash happens on multiple simulators with different OS versions. I already deleted XCode cache, erased content and settings of several simulators and deleted iOS DeviceSupport files.
1
0
533
Feb ’25
Flutter IOS deep links
Hello all, I am building a simple Flutter app, and I want to support entering the app through an email. I have used flutter deep links on android and all works well, but for some reason on IOS it doesnt. What I have achieved: When clicking the link I do get navigated into the app, but I get navigated to whatever the last screen was, regardless of the path in the URL. Furthermore, the logical code inside the app doesnt seem to run either - no logs are printed etc. I have even tried following the flutter tutorial at https://docs.flutter.dev/cookbook/navigation/set-up-universal-links to the letter, and it doesnt work I am using: Flutter 3.22.3 Go Router 14.2.7 Thanks in advance
1
0
196
Feb ’25