Overview

Post

Replies

Boosts

Views

Activity

会员升级的免费试用权益的问题
描述:低等级会员在 7 天免费期内订阅了高级会员 预期:低级会员的 7 天免费试用结束,高级会员直接扣费生效,苹果的升级通知如下: { "extra_info": { "quantity": 1, "expiresDate": 1754627893000, "purchaseDate": 1754623693000, "transactionId": "2000000979349440", "offerDiscountType": null, "originalTransactionId": "2000000979347229", // 升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "decodedPayload": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "2000000979347229" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 228000, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1754623696459, "storefront": "CHN", "environment": "Sandbox", "expiresDate": 1754627293000, "purchaseDate": 1754623693000, "storefrontId": "143465", "transactionId": "2000000979349440", "appTransactionId": "704742096472000913", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "2000000107917134", "originalPurchaseDate": 1754623472000, "originalTransactionId": "2000000979347229", "subscriptionGroupIdentifier": "21729756" } } 异常 case:苹果通知升级到高级会员且继续剩余试用时间,例如:低等级会员7 天免费试用期剩余 4 天,升级到 4 天的高等级会员的免费试用,收到的通知消息如下: "extra_info": { "quantity": 1, "expiresDate": 1773109207000, "purchaseDate": 1772708455000, "transactionId": "550002836609836", "offerDiscountType": "FREE_TRIAL", "originalTransactionId": "550002832625469", //升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "purchase_type": "upgrade", "decodedPayload": { "signedTransactionInfo": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "550002832625469" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 0, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "offerType": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1772708460325, "storefront": "CHN", "environment": "Production", "expiresDate": 1773108607000, "offerPeriod": "P7D", "purchaseDate": 1772708455000, "storefrontId": "143465", "transactionId": "550002836609836", "appTransactionId": "705330723507531368", "offerDiscountType": "FREE_TRIAL", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "550001244481732", "originalPurchaseDate": 1772507407000, "originalTransactionId": "550002832625469", "subscriptionGroupIdentifier": "21729756" } } 请问是苹果的会员试用的策略发生了变化吗
0
0
31
3w
Xcode 26.3 incompatible with FireBase and WeTest?
Popular automated testing systems like FireBase [1] and WeTest [2] expect the uploaded test to include the Debug-iphoneos directory generated by Xcode. However, in all of our builds on Xcode 26.3, this folder is created but remains empty. There are some other folders with the same name in subdirectories, but these only contain intermediate build files. Now we're looking for configuration or settings in Xcode to restore the original behavior, where the top-level Debug-iphoneos directory gets populated with a complete image of the test target, include the binary and resource files. Any suggestions would be much appreciated! [1] https://firebase.google.com/docs/test-lab/ios/run-xctest [2] https://www.wetest.net/documents/detail/automation/d8yaA7yz
0
0
38
3w
Building Real-Time Voice Input on macOS 26 with SpeechAnalyzer + ScreenCaptureKit
We built an open-source macOS menu bar app that turns speech into text and pastes it into the active app — using SpeechAnalyzer for on-device transcription, ScreenCaptureKit + Vision for screen-aware context, and FluidAudio for speaker diarization in meeting mode. Here's what we learned shipping it on macOS 26. GitHub: github.com/Marvinngg/ambient-voice Architecture The app has two modes: hotkey dictation (press to talk, release to inject) and meeting recording (continuous transcription with a floating panel). Dictation Mode Audio capture uses AVCaptureSession (more on why below). The captured audio feeds into SpeechAnalyzer via an AsyncStream: let transcriber = SpeechTranscriber( locale: locale, transcriptionOptions: [], reportingOptions: [.volatileResults, .alternativeTranscriptions], attributeOptions: [.audioTimeRange, .transcriptionConfidence] ) let analyzer = SpeechAnalyzer(modules: [transcriber]) let (inputSequence, inputBuilder) = AsyncStream.makeStream() try await analyzer.start(inputSequence: inputSequence) While recording, we capture a screenshot of the focused window using ScreenCaptureKit, run Vision OCR (VNRecognizeTextRequest), extract keywords, and inject them into SpeechAnalyzer as contextual bias: let context = AnalysisContext() context.contextualStrings[.general] = ocrKeywords try await analyzer.setContext(context) This improves accuracy for technical terms and proper nouns visible on screen. If your screen shows "SpeechAnalyzer", saying it out loud is more likely to be transcribed correctly. After transcription, an optional L2 step sends the text through a local LLM (ollama) for spoken-to-written cleanup, then CGEvent simulates Cmd+V to paste into the active app. Meeting Mode Meeting mode forks the same audio stream to two consumers: SpeechAnalyzer — real-time streaming transcription, displayed in a floating NSPanel FluidAudio buffer — accumulates 16kHz Float32 mono samples for batch speaker diarization after recording stops When the user ends the meeting, FluidAudio's performCompleteDiarization() runs on the accumulated audio. We align transcription segments with speaker segments using audioTimeRange overlap matching — each transcription segment gets assigned the speaker ID with the most time overlap. Results export to Markdown. Pitfalls We Hit on macOS 26 1. AVAudioEngine installTap doesn't fire with Bluetooth devices We started with AVAudioEngine.inputNode.installTap() for audio capture. It worked fine with built-in mics but the tap callback never fired with Bluetooth devices (tested with vivo TWS 4 Hi-Fi). Fix: switched to AVCaptureSession. The delegate callback captureOutput(_:didOutput:from:) fires reliably regardless of audio device. The tradeoff is you get CMSampleBuffer instead of AVAudioPCMBuffer, so you need a conversion step. 2. NSEvent addGlobalMonitorForEvents crashes Our global hotkey listener used NSEvent.addGlobalMonitorForEvents. On macOS 26, this crashes with a Bus error inside GlobalObserverHandler — appears to be a Swift actor runtime issue. Fix: switched to CGEventTap. Works reliably, but the callback runs on a CFRunLoop context, which Swift doesn't recognize as MainActor. 3. CGEventTap callbacks aren't on MainActor If your CGEventTap callback touches any @MainActor state, you'll get concurrency violations. The callback runs on whatever thread owns the CFRunLoop. Fix: bridge with DispatchQueue.main.async {} inside the tap callback before touching any MainActor state. 4. CGPreflightScreenCaptureAccess doesn't request permission We used CGPreflightScreenCaptureAccess() as a guard before calling ScreenCaptureKit. If it returned false, we'd bail out. The problem: this function only checks — it never triggers macOS to add your app to the Screen Recording permission list. Chicken-and-egg: you can't get permission because you never ask for it. Fix: call CGRequestScreenCaptureAccess() at app startup. This adds your app to System Settings → Screen Recording. Then let ScreenCaptureKit calls proceed without the preflight guard — SCShareableContent will also trigger the permission prompt on first use. 5. Ad-hoc signing breaks TCC permissions on every rebuild During development, codesign --sign - (ad-hoc) generates a different code directory hash on every build. macOS TCC tracks permissions by this hash, so every rebuild = new app identity = all permissions reset. Fix: sign with a stable certificate. If you have an Apple Development certificate, use that. The TeamIdentifier stays constant across rebuilds, so TCC permissions persist. We also discovered that launching via open WE.app (LaunchServices) instead of directly executing the binary is required — otherwise macOS attributes TCC permissions to Terminal, not your app. Benchmarks We ran end-to-end benchmarks on public datasets (Mac Mini M4 16GB, macOS 26): Transcription (SpeechAnalyzer, AliMeeting Chinese): • Near-field CER 34% (excluding outliers ~25%) • Far-field CER 40% (single channel, no beamforming, >30% overlap) • Processing speed 74-89x real-time Speaker diarization (FluidAudio offline): • AMI English 16 meetings: avg DER 23.2% (collar=0.25s, ignoreOverlap=True) • AliMeeting Chinese 8 meetings: DER 48.5% (including overlap regions) • Memory: RSS ~500MB, peak 730-930MB Full evaluation methodology, scripts, and raw results are in the repo. Open Source The project is MIT licensed: github.com/Marvinngg/ambient-voice It includes the macOS client (Swift 6.2, SPM), server-side distillation/training scripts (Python), and a complete evaluation framework with reproducible benchmarks. Feedback and contributions welcome.
0
0
393
2w
team members
I currently have my own individual App Store Connect and Apple Developer distributor account registered with the email address m*******@*mail.com. For one of my clients, we also created a separate individual App Store Connect and Apple Developer account. I added my account as an Admin to the client’s account. On the App Store Connect side, I can perform all operations without any issues, such as managing the app, handling TestFlight, and submitting new versions. However, when I access the Apple Developer portal, I cannot see or manage the accounts I am responsible for. For example, I cannot view information such as the Team ID, certificates, provisioning profiles, or other developer settings. To work around this issue, I created a new Apple Developer membership using a different email address. However, when I logged in with that account, I was still unable to view the Team ID or other developer-related settings. My question is: Has the system always worked this way, where App Store Connect and Apple Developer access are managed separately? Or could this be an unnoticed authorization or configuration issue? I would appreciate your clarification on this matter.
0
0
42
3w
Gesture & SimultaneousGesture interfere with ScrollView behaviour.
I have faced a problem while I was trying to implement a reorder drag & drop view. I found that when I add any kind of .gesture or .simultaneousGesture, a ScrollView's scrolling behavior wasn't working properly (does not scroll at all). ScrollView(.vertical, showsIndicators: false) { ForEach($items) { $item in EditorCard(stepDetails: item) .simultaneousGesture( customCombinedGesture(item) ) } } This ScrollView worked fine with .onLongPressGesture(), however, I wanted to use custom gestures sequences.
0
0
127
3w
Using a merchant session from an external website in PKPaymentAuthorizationController?
There's a purchase I make pretty often on a particular site and I'm trying to automate the boring parts with a macOS app. I can pull the merchant session from their ValidateMerchant endpoint. I can see the Apple Pay dialogue appear, then it will disappear with "Payment Not Completed." Is it fundamentally not possible to use someone else's merchant session in your own app? Thanks
0
0
54
2w
Apple Developer Program enrollment stuck on "Pending" for a week
Hi, I’m trying to enroll in the Apple Developer Program as an Individual. I attempted the payment several times, but the system says the purchase is already in the system. Under my profile the status shows “Pending”, and the payment has still not been charged from my bank account. It has been about one week since I started the enrollment, and the status hasn’t changed. I also contacted Apple Developer Support, but it has been 4 days and I haven’t received any response yet. Is this normal? Has anyone experienced a similar delay during enrollment? Thanks.
0
0
57
3w
Issues creating my Apple Account for the Developer Program because of email
I just started at a new company and I've been invited to access their Apple Developer Program. When I click the invite in the link I'm directed to a "Create Your Apple Account" page where I'm prompted to provide my email address. When I put my work email I receive an error saying that my Apple Account cannot end in the domain and to choose a different email address. When I try to use my personal Gmail, it says my email address is not available and to choose a different address. Even my iCloud email isn't allowed. I'm not sure what else to do to gain access.
0
0
40
3w
Delete the published App Clip link
My app has been released, and there is an "App Clip" link available in the advanced experience. Could someone please tell me if there is a way for me to modify or delete this link? (I'm not looking to deactivate the link; I just want to remove it so that other apps can use it.) If I remove the already published APP, can I also delete this link?
0
0
28
3w
Enrollment and Payment completed but Web still shows “Complete Your Purchase” and Pending
Hello, Apple Developer Support Team, I registered for the Apple Developer Program using the Developer app on my Macbook. Payment and identity verification were completed successfully. Nevertheless, the phrase "Complete Your Purchase" still appears when I check in online, and my registration status is listed as Pending. Even though I've already finished the enrollment procedure, the system seems to be requesting me to do it again. I already have opened a case with Case ID: 102848342160 but had no response. Would you kindly check my account and let me know how my registration is going right now? I appreciate your help. Kind regards, Bua.
0
0
23
2w
Unexpected Ambisonics format
When trying to load an ambisonics file using this project: https://github.com/robertncoomber/NativeiOSAmbisonicPlayback/ I get "Unexpected Ambisonics format". Interestingly, loading a 3rd order ambisonics file works fine: let ambisonicLayoutTag = kAudioChannelLayoutTag_HOA_ACN_SN3D | 16 let AmbisonicLayout = AVAudioChannelLayout(layoutTag: ambisonicLayoutTag) let StereoLayout = AVAudioChannelLayout(layoutTag: kAudioChannelLayoutTag_Stereo) So it's purely related to the kAudioChannelLayoutTag_Ambisonic_B_Format
0
0
48
3w
会员升级的免费试用权益的问题
描述:低等级会员在 7 天免费期内订阅了高级会员 预期:低级会员的 7 天免费试用结束,高级会员直接扣费生效,苹果的升级通知如下: { "extra_info": { "quantity": 1, "expiresDate": 1754627893000, "purchaseDate": 1754623693000, "transactionId": "2000000979349440", "offerDiscountType": null, "originalTransactionId": "2000000979347229", // 升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "decodedPayload": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "2000000979347229" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 228000, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1754623696459, "storefront": "CHN", "environment": "Sandbox", "expiresDate": 1754627293000, "purchaseDate": 1754623693000, "storefrontId": "143465", "transactionId": "2000000979349440", "appTransactionId": "704742096472000913", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "2000000107917134", "originalPurchaseDate": 1754623472000, "originalTransactionId": "2000000979347229", "subscriptionGroupIdentifier": "21729756" } } 异常 case:苹果通知升级到高级会员且继续剩余试用时间,例如:低等级会员7 天免费试用期剩余 4 天,升级到 4 天的高等级会员的免费试用,收到的通知消息如下: "extra_info": { "quantity": 1, "expiresDate": 1773109207000, "purchaseDate": 1772708455000, "transactionId": "550002836609836", "offerDiscountType": "FREE_TRIAL", "originalTransactionId": "550002832625469", //升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "purchase_type": "upgrade", "decodedPayload": { "signedTransactionInfo": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "550002832625469" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 0, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "offerType": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1772708460325, "storefront": "CHN", "environment": "Production", "expiresDate": 1773108607000, "offerPeriod": "P7D", "purchaseDate": 1772708455000, "storefrontId": "143465", "transactionId": "550002836609836", "appTransactionId": "705330723507531368", "offerDiscountType": "FREE_TRIAL", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "550001244481732", "originalPurchaseDate": 1772507407000, "originalTransactionId": "550002832625469", "subscriptionGroupIdentifier": "21729756" } } 请问是苹果的会员试用的策略发生了变化吗
0
0
24
3w
In app verification flow without addPaymentPassViewController
How do we get addPaymentPassViewController response for in app verification without calling that function ? Currently we have working in app provisioning but not in app verification. The apple docs say "The process of generating the cryptographic OTP value is the same as for generating activationData for In-App Provisioning.". How is it the same when in in app provisioning we have this button that returns all necessary info and for in app verification there is no clear way of recieving same info.
0
0
42
2w
No product/subscription under the name Apple Developer Program Membership. Ignored by support.
Dear Apple, Due to the fact that you have not responded to my numerous emails, have not given me access to my Apple developer subscription, have not contacted me in any way, and have charged me twice, I am initiating a refund procedure through my bank. Please respond urgently so that I understand what you plan to do next. Will I have access to the subscription I paid for? Or will I receive a refund? I won't even mention the fact that my deadlines have already passed because of you. $200 down the drain, and I'm a student, so that's a lot of money for me.
0
0
43
3w
Unable to complete Apple Developer Program enrollment – payment not reaching bank, enrollment blocked
Hello, We have been trying to enroll our company in the Apple Developer Program for about 1.5 months, but we are completely blocked. • D-U-N-S verified • Initial enrollment was accepted • Multiple payment attempts made (Swedbank, Revolut) • No 3-D Secure, no pending transactions • Bank confirmed that no payment requests from Apple were ever received For comparison, we successfully completed Google Play Developer registration using the same company and already published an app, so this does not seem to be an issue with company data or payment methods. Current state: • Enrollment was reset by Apple Support • Apple Developer app shows Enroll button disabled • Web shows: “Your enrollment in the Apple Developer Program could not be completed at this time” • We cannot reach the payment step anymore We contacted Apple Developer Support, but responses come about once a week and only suggest contacting the bank, which does not apply in our case. It seems there might be an internal restriction on the Apple ID. Has anyone experienced something similar? Case number: 102828473456
0
0
61
2w
Cross-domain issue in wkwebview
Subject: Cross-Domain Access Behaviour in WKWebView – Clarification Required Description: We are facing a cross-domain issue in our iOS application where WKWebView loads content from one domain and attempts to access resources/data from another domain. Current Setup: App Platform: iOS WebView: WKWebView iOS Version: 26 Primary Domain: *.franconnectqa.net Data/Analytics Domain: analytics.franconnectdev.net SSL: Valid certificates configured ATS: Enabled Issue: When WKWebView loads content from franconnectqa.net, it attempts to access resources or analytics from analytics.franconnectdev.net, resulting in cross-domain restrictions. We would like to understand: Does WKWebView support cross-domain resource access by default? Are there any configuration settings that allow controlled cross-domain access? Are there known limitations regarding cookies, local storage, or session sharing across domains? Does WKWebView enforce additional restrictions beyond standard browser CORS policies? Are there recommended best practices for handling cross-domain scenarios in WKWebView? Expected Behavior: We want to determine whether: Cross-domain access is supported under certain configurations, OR The recommended approach is to align all resources under the same domain. Kindly provide guidance on the supported architecture and any configuration recommendations.
0
0
59
3w
会员升级的免费试用权益的问题
描述:低等级会员在 7 天免费期内订阅了高级会员 预期:低级会员的 7 天免费试用结束,高级会员直接扣费生效,苹果的升级通知如下: { "extra_info": { "quantity": 1, "expiresDate": 1754627893000, "purchaseDate": 1754623693000, "transactionId": "2000000979349440", "offerDiscountType": null, "originalTransactionId": "2000000979347229", // 升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "decodedPayload": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "2000000979347229" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 228000, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1754623696459, "storefront": "CHN", "environment": "Sandbox", "expiresDate": 1754627293000, "purchaseDate": 1754623693000, "storefrontId": "143465", "transactionId": "2000000979349440", "appTransactionId": "704742096472000913", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "2000000107917134", "originalPurchaseDate": 1754623472000, "originalTransactionId": "2000000979347229", "subscriptionGroupIdentifier": "21729756" } } 异常 case:苹果通知升级到高级会员且继续剩余试用时间,例如:低等级会员7 天免费试用期剩余 4 天,升级到 4 天的高等级会员的免费试用,收到的通知消息如下: "extra_info": { "quantity": 1, "expiresDate": 1773109207000, "purchaseDate": 1772708455000, "transactionId": "550002836609836", "offerDiscountType": "FREE_TRIAL", "originalTransactionId": "550002832625469", //升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "purchase_type": "upgrade", "decodedPayload": { "signedTransactionInfo": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "550002832625469" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 0, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "offerType": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1772708460325, "storefront": "CHN", "environment": "Production", "expiresDate": 1773108607000, "offerPeriod": "P7D", "purchaseDate": 1772708455000, "storefrontId": "143465", "transactionId": "550002836609836", "appTransactionId": "705330723507531368", "offerDiscountType": "FREE_TRIAL", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "550001244481732", "originalPurchaseDate": 1772507407000, "originalTransactionId": "550002832625469", "subscriptionGroupIdentifier": "21729756" } } 请问是苹果的会员试用的策略发生了变化吗
Replies
0
Boosts
0
Views
31
Activity
3w
Pending account help please
Hello, my account is pending .i try to contact apple several times with no respond the customer service is terrible.
Replies
0
Boosts
0
Views
28
Activity
3w
Xcode 26.3 incompatible with FireBase and WeTest?
Popular automated testing systems like FireBase [1] and WeTest [2] expect the uploaded test to include the Debug-iphoneos directory generated by Xcode. However, in all of our builds on Xcode 26.3, this folder is created but remains empty. There are some other folders with the same name in subdirectories, but these only contain intermediate build files. Now we're looking for configuration or settings in Xcode to restore the original behavior, where the top-level Debug-iphoneos directory gets populated with a complete image of the test target, include the binary and resource files. Any suggestions would be much appreciated! [1] https://firebase.google.com/docs/test-lab/ios/run-xctest [2] https://www.wetest.net/documents/detail/automation/d8yaA7yz
Replies
0
Boosts
0
Views
38
Activity
3w
Building Real-Time Voice Input on macOS 26 with SpeechAnalyzer + ScreenCaptureKit
We built an open-source macOS menu bar app that turns speech into text and pastes it into the active app — using SpeechAnalyzer for on-device transcription, ScreenCaptureKit + Vision for screen-aware context, and FluidAudio for speaker diarization in meeting mode. Here's what we learned shipping it on macOS 26. GitHub: github.com/Marvinngg/ambient-voice Architecture The app has two modes: hotkey dictation (press to talk, release to inject) and meeting recording (continuous transcription with a floating panel). Dictation Mode Audio capture uses AVCaptureSession (more on why below). The captured audio feeds into SpeechAnalyzer via an AsyncStream: let transcriber = SpeechTranscriber( locale: locale, transcriptionOptions: [], reportingOptions: [.volatileResults, .alternativeTranscriptions], attributeOptions: [.audioTimeRange, .transcriptionConfidence] ) let analyzer = SpeechAnalyzer(modules: [transcriber]) let (inputSequence, inputBuilder) = AsyncStream.makeStream() try await analyzer.start(inputSequence: inputSequence) While recording, we capture a screenshot of the focused window using ScreenCaptureKit, run Vision OCR (VNRecognizeTextRequest), extract keywords, and inject them into SpeechAnalyzer as contextual bias: let context = AnalysisContext() context.contextualStrings[.general] = ocrKeywords try await analyzer.setContext(context) This improves accuracy for technical terms and proper nouns visible on screen. If your screen shows "SpeechAnalyzer", saying it out loud is more likely to be transcribed correctly. After transcription, an optional L2 step sends the text through a local LLM (ollama) for spoken-to-written cleanup, then CGEvent simulates Cmd+V to paste into the active app. Meeting Mode Meeting mode forks the same audio stream to two consumers: SpeechAnalyzer — real-time streaming transcription, displayed in a floating NSPanel FluidAudio buffer — accumulates 16kHz Float32 mono samples for batch speaker diarization after recording stops When the user ends the meeting, FluidAudio's performCompleteDiarization() runs on the accumulated audio. We align transcription segments with speaker segments using audioTimeRange overlap matching — each transcription segment gets assigned the speaker ID with the most time overlap. Results export to Markdown. Pitfalls We Hit on macOS 26 1. AVAudioEngine installTap doesn't fire with Bluetooth devices We started with AVAudioEngine.inputNode.installTap() for audio capture. It worked fine with built-in mics but the tap callback never fired with Bluetooth devices (tested with vivo TWS 4 Hi-Fi). Fix: switched to AVCaptureSession. The delegate callback captureOutput(_:didOutput:from:) fires reliably regardless of audio device. The tradeoff is you get CMSampleBuffer instead of AVAudioPCMBuffer, so you need a conversion step. 2. NSEvent addGlobalMonitorForEvents crashes Our global hotkey listener used NSEvent.addGlobalMonitorForEvents. On macOS 26, this crashes with a Bus error inside GlobalObserverHandler — appears to be a Swift actor runtime issue. Fix: switched to CGEventTap. Works reliably, but the callback runs on a CFRunLoop context, which Swift doesn't recognize as MainActor. 3. CGEventTap callbacks aren't on MainActor If your CGEventTap callback touches any @MainActor state, you'll get concurrency violations. The callback runs on whatever thread owns the CFRunLoop. Fix: bridge with DispatchQueue.main.async {} inside the tap callback before touching any MainActor state. 4. CGPreflightScreenCaptureAccess doesn't request permission We used CGPreflightScreenCaptureAccess() as a guard before calling ScreenCaptureKit. If it returned false, we'd bail out. The problem: this function only checks — it never triggers macOS to add your app to the Screen Recording permission list. Chicken-and-egg: you can't get permission because you never ask for it. Fix: call CGRequestScreenCaptureAccess() at app startup. This adds your app to System Settings → Screen Recording. Then let ScreenCaptureKit calls proceed without the preflight guard — SCShareableContent will also trigger the permission prompt on first use. 5. Ad-hoc signing breaks TCC permissions on every rebuild During development, codesign --sign - (ad-hoc) generates a different code directory hash on every build. macOS TCC tracks permissions by this hash, so every rebuild = new app identity = all permissions reset. Fix: sign with a stable certificate. If you have an Apple Development certificate, use that. The TeamIdentifier stays constant across rebuilds, so TCC permissions persist. We also discovered that launching via open WE.app (LaunchServices) instead of directly executing the binary is required — otherwise macOS attributes TCC permissions to Terminal, not your app. Benchmarks We ran end-to-end benchmarks on public datasets (Mac Mini M4 16GB, macOS 26): Transcription (SpeechAnalyzer, AliMeeting Chinese): • Near-field CER 34% (excluding outliers ~25%) • Far-field CER 40% (single channel, no beamforming, >30% overlap) • Processing speed 74-89x real-time Speaker diarization (FluidAudio offline): • AMI English 16 meetings: avg DER 23.2% (collar=0.25s, ignoreOverlap=True) • AliMeeting Chinese 8 meetings: DER 48.5% (including overlap regions) • Memory: RSS ~500MB, peak 730-930MB Full evaluation methodology, scripts, and raw results are in the repo. Open Source The project is MIT licensed: github.com/Marvinngg/ambient-voice It includes the macOS client (Swift 6.2, SPM), server-side distillation/training scripts (Python), and a complete evaluation framework with reproducible benchmarks. Feedback and contributions welcome.
Replies
0
Boosts
0
Views
393
Activity
2w
team members
I currently have my own individual App Store Connect and Apple Developer distributor account registered with the email address m*******@*mail.com. For one of my clients, we also created a separate individual App Store Connect and Apple Developer account. I added my account as an Admin to the client’s account. On the App Store Connect side, I can perform all operations without any issues, such as managing the app, handling TestFlight, and submitting new versions. However, when I access the Apple Developer portal, I cannot see or manage the accounts I am responsible for. For example, I cannot view information such as the Team ID, certificates, provisioning profiles, or other developer settings. To work around this issue, I created a new Apple Developer membership using a different email address. However, when I logged in with that account, I was still unable to view the Team ID or other developer-related settings. My question is: Has the system always worked this way, where App Store Connect and Apple Developer access are managed separately? Or could this be an unnoticed authorization or configuration issue? I would appreciate your clarification on this matter.
Replies
0
Boosts
0
Views
42
Activity
3w
Gesture & SimultaneousGesture interfere with ScrollView behaviour.
I have faced a problem while I was trying to implement a reorder drag & drop view. I found that when I add any kind of .gesture or .simultaneousGesture, a ScrollView's scrolling behavior wasn't working properly (does not scroll at all). ScrollView(.vertical, showsIndicators: false) { ForEach($items) { $item in EditorCard(stepDetails: item) .simultaneousGesture( customCombinedGesture(item) ) } } This ScrollView worked fine with .onLongPressGesture(), however, I wanted to use custom gestures sequences.
Replies
0
Boosts
0
Views
127
Activity
3w
Using a merchant session from an external website in PKPaymentAuthorizationController?
There's a purchase I make pretty often on a particular site and I'm trying to automate the boring parts with a macOS app. I can pull the merchant session from their ValidateMerchant endpoint. I can see the Apple Pay dialogue appear, then it will disappear with "Payment Not Completed." Is it fundamentally not possible to use someone else's merchant session in your own app? Thanks
Replies
0
Boosts
0
Views
54
Activity
2w
Developer Program enrolment double charge
Followed Apple's instructions and signed up via the iOS developer app. Received confirmation email of purchase. However I can 't complete enrolment because the developer account and the apple account haven't synced, so the developer account is trying to get me to "finish payment". Anyone else have this issue?
Replies
0
Boosts
0
Views
28
Activity
2w
Apple Developer Program enrollment stuck on "Pending" for a week
Hi, I’m trying to enroll in the Apple Developer Program as an Individual. I attempted the payment several times, but the system says the purchase is already in the system. Under my profile the status shows “Pending”, and the payment has still not been charged from my bank account. It has been about one week since I started the enrollment, and the status hasn’t changed. I also contacted Apple Developer Support, but it has been 4 days and I haven’t received any response yet. Is this normal? Has anyone experienced a similar delay during enrollment? Thanks.
Replies
0
Boosts
0
Views
57
Activity
3w
Issues creating my Apple Account for the Developer Program because of email
I just started at a new company and I've been invited to access their Apple Developer Program. When I click the invite in the link I'm directed to a "Create Your Apple Account" page where I'm prompted to provide my email address. When I put my work email I receive an error saying that my Apple Account cannot end in the domain and to choose a different email address. When I try to use my personal Gmail, it says my email address is not available and to choose a different address. Even my iCloud email isn't allowed. I'm not sure what else to do to gain access.
Replies
0
Boosts
0
Views
40
Activity
3w
Now Available: Wishlist Sample Code for SwiftUI
We’ve just added a new sample code project to the SwiftUI Essentials documentation! If you attended the recent SwiftUI foundations: Build great apps with SwiftUI activity, you might recognize Wishlist, our travel-planning sample app. You can now explore and download the complete project here
Replies
0
Boosts
3
Views
54
Activity
2w
Delete the published App Clip link
My app has been released, and there is an "App Clip" link available in the advanced experience. Could someone please tell me if there is a way for me to modify or delete this link? (I'm not looking to deactivate the link; I just want to remove it so that other apps can use it.) If I remove the already published APP, can I also delete this link?
Replies
0
Boosts
0
Views
28
Activity
3w
Enrollment and Payment completed but Web still shows “Complete Your Purchase” and Pending
Hello, Apple Developer Support Team, I registered for the Apple Developer Program using the Developer app on my Macbook. Payment and identity verification were completed successfully. Nevertheless, the phrase "Complete Your Purchase" still appears when I check in online, and my registration status is listed as Pending. Even though I've already finished the enrollment procedure, the system seems to be requesting me to do it again. I already have opened a case with Case ID: 102848342160 but had no response. Would you kindly check my account and let me know how my registration is going right now? I appreciate your help. Kind regards, Bua.
Replies
0
Boosts
0
Views
23
Activity
2w
Unexpected Ambisonics format
When trying to load an ambisonics file using this project: https://github.com/robertncoomber/NativeiOSAmbisonicPlayback/ I get "Unexpected Ambisonics format". Interestingly, loading a 3rd order ambisonics file works fine: let ambisonicLayoutTag = kAudioChannelLayoutTag_HOA_ACN_SN3D | 16 let AmbisonicLayout = AVAudioChannelLayout(layoutTag: ambisonicLayoutTag) let StereoLayout = AVAudioChannelLayout(layoutTag: kAudioChannelLayoutTag_Stereo) So it's purely related to the kAudioChannelLayoutTag_Ambisonic_B_Format
Replies
0
Boosts
0
Views
48
Activity
3w
Radio Silence after switching to Organization
Good Morning Everyone As per the title, got my DUNS Number (what a mission!) and switched to an organization. It's been a couple of days and there's Radio Silence from Apple. Any tips to speed the process along? Thank you!
Replies
0
Boosts
0
Views
13
Activity
2w
会员升级的免费试用权益的问题
描述:低等级会员在 7 天免费期内订阅了高级会员 预期:低级会员的 7 天免费试用结束,高级会员直接扣费生效,苹果的升级通知如下: { "extra_info": { "quantity": 1, "expiresDate": 1754627893000, "purchaseDate": 1754623693000, "transactionId": "2000000979349440", "offerDiscountType": null, "originalTransactionId": "2000000979347229", // 升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "decodedPayload": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "2000000979347229" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 228000, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1754623696459, "storefront": "CHN", "environment": "Sandbox", "expiresDate": 1754627293000, "purchaseDate": 1754623693000, "storefrontId": "143465", "transactionId": "2000000979349440", "appTransactionId": "704742096472000913", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "2000000107917134", "originalPurchaseDate": 1754623472000, "originalTransactionId": "2000000979347229", "subscriptionGroupIdentifier": "21729756" } } 异常 case:苹果通知升级到高级会员且继续剩余试用时间,例如:低等级会员7 天免费试用期剩余 4 天,升级到 4 天的高等级会员的免费试用,收到的通知消息如下: "extra_info": { "quantity": 1, "expiresDate": 1773109207000, "purchaseDate": 1772708455000, "transactionId": "550002836609836", "offerDiscountType": "FREE_TRIAL", "originalTransactionId": "550002832625469", //升级前后没有变化 "subscriptionGroupIdentifier": "21729756" }, "purchase_type": "upgrade", "decodedPayload": { "signedTransactionInfo": {}, "orgin_sku_name": "unlimited.minutes.per.year.v3", "payment_platform": "app_store", "decodedPayload_Renew": { "productId": "unlimited.minutes.per.year.v3", "autoRenewStatus": 1, "originalTransactionId": "550002832625469" }, "decodedPayload_Trans": { "type": "Auto-Renewable Subscription", "price": 0, "bundleId": "ai.plaud.ios.plaudzh", "currency": "CNY", "quantity": 1, "offerType": 1, "productId": "unlimited.minutes.per.year.v3", "signedDate": 1772708460325, "storefront": "CHN", "environment": "Production", "expiresDate": 1773108607000, "offerPeriod": "P7D", "purchaseDate": 1772708455000, "storefrontId": "143465", "transactionId": "550002836609836", "appTransactionId": "705330723507531368", "offerDiscountType": "FREE_TRIAL", "transactionReason": "PURCHASE", "inAppOwnershipType": "PURCHASED", "webOrderLineItemId": "550001244481732", "originalPurchaseDate": 1772507407000, "originalTransactionId": "550002832625469", "subscriptionGroupIdentifier": "21729756" } } 请问是苹果的会员试用的策略发生了变化吗
Replies
0
Boosts
0
Views
24
Activity
3w
In app verification flow without addPaymentPassViewController
How do we get addPaymentPassViewController response for in app verification without calling that function ? Currently we have working in app provisioning but not in app verification. The apple docs say "The process of generating the cryptographic OTP value is the same as for generating activationData for In-App Provisioning.". How is it the same when in in app provisioning we have this button that returns all necessary info and for in app verification there is no clear way of recieving same info.
Replies
0
Boosts
0
Views
42
Activity
2w
No product/subscription under the name Apple Developer Program Membership. Ignored by support.
Dear Apple, Due to the fact that you have not responded to my numerous emails, have not given me access to my Apple developer subscription, have not contacted me in any way, and have charged me twice, I am initiating a refund procedure through my bank. Please respond urgently so that I understand what you plan to do next. Will I have access to the subscription I paid for? Or will I receive a refund? I won't even mention the fact that my deadlines have already passed because of you. $200 down the drain, and I'm a student, so that's a lot of money for me.
Replies
0
Boosts
0
Views
43
Activity
3w
Unable to complete Apple Developer Program enrollment – payment not reaching bank, enrollment blocked
Hello, We have been trying to enroll our company in the Apple Developer Program for about 1.5 months, but we are completely blocked. • D-U-N-S verified • Initial enrollment was accepted • Multiple payment attempts made (Swedbank, Revolut) • No 3-D Secure, no pending transactions • Bank confirmed that no payment requests from Apple were ever received For comparison, we successfully completed Google Play Developer registration using the same company and already published an app, so this does not seem to be an issue with company data or payment methods. Current state: • Enrollment was reset by Apple Support • Apple Developer app shows Enroll button disabled • Web shows: “Your enrollment in the Apple Developer Program could not be completed at this time” • We cannot reach the payment step anymore We contacted Apple Developer Support, but responses come about once a week and only suggest contacting the bank, which does not apply in our case. It seems there might be an internal restriction on the Apple ID. Has anyone experienced something similar? Case number: 102828473456
Replies
0
Boosts
0
Views
61
Activity
2w
Cross-domain issue in wkwebview
Subject: Cross-Domain Access Behaviour in WKWebView – Clarification Required Description: We are facing a cross-domain issue in our iOS application where WKWebView loads content from one domain and attempts to access resources/data from another domain. Current Setup: App Platform: iOS WebView: WKWebView iOS Version: 26 Primary Domain: *.franconnectqa.net Data/Analytics Domain: analytics.franconnectdev.net SSL: Valid certificates configured ATS: Enabled Issue: When WKWebView loads content from franconnectqa.net, it attempts to access resources or analytics from analytics.franconnectdev.net, resulting in cross-domain restrictions. We would like to understand: Does WKWebView support cross-domain resource access by default? Are there any configuration settings that allow controlled cross-domain access? Are there known limitations regarding cookies, local storage, or session sharing across domains? Does WKWebView enforce additional restrictions beyond standard browser CORS policies? Are there recommended best practices for handling cross-domain scenarios in WKWebView? Expected Behavior: We want to determine whether: Cross-domain access is supported under certain configurations, OR The recommended approach is to align all resources under the same domain. Kindly provide guidance on the supported architecture and any configuration recommendations.
Replies
0
Boosts
0
Views
59
Activity
3w