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

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

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
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
I made a browser plugin to do something Apple should've done themselves.
This browser extension is a doc reading enhancer for the Apple Developer website. It supports i18n translation, hover link previews, and bilingual display. Currently, it supports four languages: ja-JP, ko-KR, zh-CN, and zh-TW. It works with Swift/SwiftUI/Foundation modules now, and it's expected to support Swift Test, Swift Charts, UIKit, Swift Playground, and XCode modules by the end of this month. For more info, check out: https://appledocs.dev. You can also visit https://appledocs.dev/progress to see translation progress and vote. Note: It's only works on Chrome、Edge(In review)、Firefox(In review) Screenshot:
1
0
121
Apr ’25
Apple SDKs should provide libunwind_ext.h on macOS
(Copy pasted from FB17261080 that I submitted) Hi: Apple's SDK (libSystem.B.tbd) provides definition for multiple symbols(__unw_add_dynamic_fde / __unw_add_find_dynamic_unwind_sections ), but doesn't provide corresponding headers, available in LLVM upstream as libunwind_ext.h We need such headers to write Exception-Enabled JIT Framework for macOS
1
0
167
May ’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
Unexpected app version in logs — does MARKETING_VERSION change dynamically?
Hello, I've encountered unexpected behavior related to version information in our app logs, and I'd like to ask for some advice. We reviewed logs collected from a user running our app (currently available on the App Store). The logs are designed to include both the build number and the app version. Based on the build number in the logs, we believe the installed app version on the user's device is 1.0.3. However, the app version recorded in the logs is 1.1.5, which is the latest version currently available on the App Store. In our project, we set the app version using the MARKETING_VERSION environment variable. This value is configured via XcodeGen, and we define it in a YAML file. Under normal circumstances, the value defined in the YAML file (MARKETING_VERSION = 1.0.3) should be embedded in the app and reflected in the logs. But in this case, the version from the current App Store release (1.1.5) appears instead, which was unexpected. We'd like to know what might cause this behavior, and if there are any known factors that could lead to this. Also, is it possible that MARKETING_VERSION might somehow dynamically reflect the version currently available on the App Store? yaml: info.plist:
1
0
101
Jun ’25
Flutter IOS deep links
Hello all, I am trying to build a Flutter app that supports a link the opens the app. I would like the link to be sent by email, and when clicked I would like to app to open. On android all works fine, but on IOS it doesnt. I currently have: A link that does open the app but doesnt navigate to the correct screnn - it just shows the last screen that app was on. I have tried following the tutorial on https://docs.flutter.dev/cookbook/navigation/set-up-universal-links to the letter but still doesnt work I am using: Flutter 3.22.3 Go Router 14.2.7 Thanks in advance
1
0
1k
Feb ’25
The signature of cannot be validated and may have been compromised
I'm currently developing a Unity game for iPad and have run into a critical issue that's completely blocking me from building the project. The project uses the Mapbox SDK for Unity. Everything was working fine during today test build on the iPad. I made minor changes - just four scripts, then attempted another build. However, Xcode began showing the following error: The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised. Validation Error: The signing certificate has been revoked (CSSMERR_TP_CERT_REVOKED) This error now occurs consistently. I've tried building on a different MacBook and with a different Apple account, but the result is the same. I haven't made any changes to the Mapbox framework, nor have I updated it recently. I'm trying to determine the root cause: Is this something I've done on my end? Or is it an issue with the Mapbox framework or their signing certificate? Is there a temporary workaround that would allow me to proceed with development builds while I investigate a proper fix? Any insights or suggestions would be greatly appreciated.
1
0
224
Jul ’25
Can I get notified when my watchOS app is terminated by the system (e.g. watchdog)?
Hi all, I’m developing a watchOS app and have seen cases where the app is terminated by the system — for example, due to CPU usage limits being exceeded (watchdog termination). Here’s a portion of one of the crash reports: Exception Type: EXC_CRASH (SIGKILL) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: CAROUSEL 2343432205 <RBSTerminateContext| domain:10 code:0x8BADF00D explanation:[app<app_name>:898] Failed to terminate gracefully after 5.0s ProcessVisibility: Foreground ProcessState: Running WatchdogEvent: process-exit WatchdogVisibility: Foreground WatchdogCPUStatistics: ( "Elapsed total CPU time (seconds): 11.280 (user 9.800, system 1.480), 100% CPU", "Elapsed application CPU time (seconds): 5.162, 46% CPU" ) reportType:CrashLog maxTerminationResistance:Interactive> My questions: 1.) Is there any way to get notified (via Crashlytics, Xcode Organizer, or any other reporting mechanism) when this type of system-level termination happens — similar to how we’re notified of crashes? 2.)Is there any way for a watchOS app to receive runtime warnings from the system when it’s about to exceed CPU or memory limits — similar to UIApplication.didReceiveMemoryWarningNotification on iOS? Thanks in advance!
1
0
61
Apr ’25
Problem with simulator
When I try to run my project on the simulator, it tells me there is a bug. It is not in the code I wrote, but I believe in the compiler. It would work perfectly, say the build succeeded, but the phone turns white and stops there. I don't know how to debunk it, what to do! Picture of what happens with the phone: Picture of the debugging area:
1
0
380
Dec ’24
On demand module download
I am working on an iOS app and I want to achieve on demand module download inside the app when the user clicks on the module icon which he wants to use. The idea is that we have a super app consisting of multiple modules say four independent apps/features and I want to separate each one so that when the user selects a specific app/feature, it’s downloaded on demand and then opened directly within the same super app resulting in a lower app size initially I want to upload all the code of all modules to app store connect but when the user downloads the app, then only one module's code should be available to the user, the rest of the module's code should be downloaded when the user wants to use that module. I know apple restricts downloading new code but in my case I want to upload all the code to app store for review but just give option to the user to get rest of the code when needed. Any guidance, architectural advice, or example implementations would be highly appreciated.
1
0
112
Oct ’25
iOS 18.3.1 - runtime vs version number
Not sure if this is common with releases but I've been doing some CI work recently so it's the first time I've seen this myself, When I list the runtimes installed on my machine: xcrun simctl list runtimes I notice the iOS 18.3.1 release has the below info: == Runtimes == iOS 18.3 (18.3.1 - 22D8075) - com.apple.CoreSimulator.SimRuntime.iOS-18-3 Meanwhile the other runtimes are listed as: == Runtimes == iOS 17.5 (17.5 - 21F79) - com.apple.CoreSimulator.SimRuntime.iOS-17-5 iOS 18.4 (18.4 - 22E5216h) - com.apple.CoreSimulator.SimRuntime.iOS-18-4 watchOS 11.2 (11.2 - 22S99) - com.apple.CoreSimulator.SimRuntime.watchOS-11-2 visionOS 2.3 (2.3 - 22N895) - com.apple.CoreSimulator.SimRuntime.xrOS-2-3 (Apologies for the weird formatting above, using code blocks and quote markdown condenses things down to one line for some reason) This is causing some funkiness in my CI code which I've managed to workaround, but wondered if this was a common thing, specifically the mismatch between the iOS name and the runtime version. iOS 18.3 and com.apple.CoreSimulator.SimRuntime.iOS-18-3 vs 18.3.1 - 22D8075 where the .1 has been dropped for the runtime names?
1
0
127
Mar ’25
Missing Apple-Hosted Background Assets info
After combing the forums and release nodes, here are some extra notes to help other developers using Apple-Hosted Background Assets. I don't promise I got this perfect, but it may help direct you. AssetPack.Status is an OptionSet (not an enum!) - Critical API detail missing from guide It's a bitmask where values can be combined 2⁰ (1) = available to download 2¹ (2) = update available 2² (4) = up to date 2⁶ (64) = downloaded Example: status value 69 = 0b1000101 = available + up to date + downloaded Use .contains() method to check specific flags AssetPack.version property - Undocumented feature Auto-assigned by App Store Connect for Apple-hosted packs Increments with each upload of same asset pack ID No file deduplication across asset packs Same file in two packs = counts twice toward 200GB limit Best practice: create separate pack for shared files Shared namespace path requirements Asset pack ID is NOT part of file path Each file must have unique relative path across ALL app's asset packs Example: Foo/10/239/414.png and Bar/10/239/414.png are distinct and won't collide Additional url(for:) bugs beyond iOS 26.1 fix iOS 26 Beta 5: "item with same name already exists" error Workaround: Request URL for directory, then manually append filename TestFlight-only availability - Major limitation not mentioned! Apple-hosted packs currently ONLY work for internal testers on TestFlight or from App Store. Won't work from Xcode until "later this year" HTTP 400 errors expected for non-TestFlight installs ba-serve port workaround URL override port bug exists on multiple device types Use ba-serve -p 443 instead of custom ports
1
0
291
Oct ’25
Apple Mail unsubscribe feature is returning encoded characters in the unsubscribe mail
Hi team, we have a large-scale application in use that sends bulk emails to thousands of users. We adhere to all standard guidelines and protocols, and our email addresses are whitelisted to ensure they are not considered spam. Our users create email alerts on our platform and receive notifications on their respective email addresses. These communications are not unknown, spam, or unsolicited marketing. To maintain trust with our users, we provide an unsubscribe feature as per RFC2369-compliant. We have added list unsubscribe headers with mailTo implementation and sent it to outlook/gmail accounts. However, when unsubscribed, the email seems to be having the encoded characters as is. Whereas the same is working fine in other email clients without any encodings. The headers were implemented according to the List-Unsubscribe headers as specified in the IETF RFC and our emails are purely transactional in nature. This is a critical issue for a large organization like ours and while it works properly on Gmail web and mobile, it is essential for us to check with Apple Mail client as well. This situation undermines our commitment to user trust and compliance. Can anybody assist me why the encoding is showing up? Would like to know whats the process involved to enable the unsubscribe button in Apple mail client application?
1
0
359
Jan ’25
NSUbiquitousContainers
I'm using Xcode 16.3 and I want to add the key "NSUbiquitousContainers" but I cannot do it in the Entitlements file, it should be in info.plist file! I have done it before but in previous versions of Xcode when the info.plist was in the project navigator. However, now I cannot find the file and I did not find any way to create it! Please guide me in detail how to proceed (I'm not new to Swift or SwiftUI but not familiar to project settings)?
1
0
85
Apr ’25