Apple Developers

RSS for tag

This is a dedicated space for developers to connect, share ideas, collaborate, and ask questions. Introduce yourself, network with other developers, and foster a supportive community.

Learn More

Posts under Apple Developers subtopic

Post

Replies

Boosts

Views

Activity

ASWebAuthenticationSession.start() does not display authentication UI on macOS (no error, no callback)
Hello Apple Developer Community, I'm experiencing an issue on macOS where ASWebAuthenticationSession fails to display its authentication window. The session is created successfully and start() returns true, but: no UI is shown, presentationAnchor(for:) is never invoked, the completion handler is never called, and no errors appear in Console.app or Xcode logs. This happens both when using the session via a Flutter plugin and when calling ASWebAuthenticationSession directly from Swift. Environment macOS 14.6 (Sonoma) Xcode latest stable Target: macOS 10.15+ App type: sandboxed macOS app, hardened runtime enabled The project also includes a Login Item (SMAppService) target Redirect URI scheme: myapp-auth://callback Problem Description When I trigger authentication, the logs show: [AuthPlugin] Starting ASWebAuthenticationSession... After that: no authentication sheet appears, presentationAnchor(for:) is never called, the completion handler is not invoked. The main window is visible and active when the method is called. Swift Implementation public class AuthPlugin: NSObject, FlutterPlugin, ASWebAuthenticationPresentationContextProviding { private var webAuthSession: ASWebAuthenticationSession? private var resultHandler: FlutterResult? private func authenticate(url: URL, callbackScheme: String, result: @escaping FlutterResult) { NSLog("[AuthPlugin] authenticate() called") NSLog("[AuthPlugin] URL: %@", url.absoluteString) NSLog("[AuthPlugin] Callback scheme: %@", callbackScheme) resultHandler = result let session = ASWebAuthenticationSession( url: url, callbackURLScheme: callbackScheme ) { [weak self] callbackURL, error in NSLog("[AuthPlugin] completion handler invoked") if let error = error { NSLog("[AuthPlugin] error: %@", error.localizedDescription) return } guard let callbackURL = callbackURL else { NSLog("[AuthPlugin] missing callback URL") return } self?.resultHandler?(callbackURL.absoluteString) } session.presentationContextProvider = self session.prefersEphemeralWebBrowserSession = false self.webAuthSession = session NSLog("[AuthPlugin] Starting ASWebAuthenticationSession...") let started = session.start() NSLog("[AuthPlugin] start() returned: %@", started ? "true" : "false") } public func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { NSLog("[AuthPlugin] presentationAnchor called") if let keyWindow = NSApplication.shared.windows.first(where: { $0.isKeyWindow }) { NSLog("[AuthPlugin] using key window") return keyWindow } if let firstWindow = NSApplication.shared.windows.first { NSLog("[AuthPlugin] using first window") return firstWindow } NSLog("[AuthPlugin] creating fallback window") let window = NSWindow( contentRect: .init(x: 0, y: 0, width: 400, height: 300), styleMask: [.titled, .closable], backing: .buffered, defer: false ) window.center() window.makeKeyAndOrderFront(nil) return window } } Key Observations The session is created successfully. ASWebAuthenticationSession.start() returns true. presentationAnchor(for:) is never invoked. The completion handler is never triggered. No errors appear in system logs. The same code works correctly in a non-sandboxed macOS app. The main window is visible and the app is active when the session is started. Questions What conditions must be met for macOS to call presentationAnchor(for:)? Does the window need to be key, main, visible, or foreground? Does ASWebAuthenticationSession.start() need to be called strictly on the main thread? Are additional entitlements, sandbox permissions, or Info.plist keys required for using ASWebAuthenticationSession in a sandboxed macOS application? Could the existence of a Login Item (SMAppService) affect the app’s ability to present the authentication sheet? Are there known restrictions for using custom URL schemes (myapp-auth://callback) on macOS? Is there any way to obtain more detailed diagnostics when start() silently fails to display UI? Summary In a sandboxed macOS application, ASWebAuthenticationSession starts without errors but never attempts to present its UI. Since presentationAnchor(for:) is never called, it seems macOS is blocking the presentation for some reason — possibly sandbox configuration, entitlements, or window state constraints. Any guidance or suggestions would be greatly appreciated. Thank you!
1
0
287
1w
Afraid of not being good enough
Hi everyone, I’m not sure if this is the right place for it, but I wanted to share a bit of my background and ask for advice from developers who’ve been in the industry longer than me. I started learning to make games when I was a kid using Game Maker. Later I got into Unity and even worked a few years as a solo developer for small startups — building Unity apps, VR projects, AR demos, websites, servers, everything. But I never had a real team, never had mentorship, and none of the projects I worked on ever reached production or real users. Life changed and I moved to the US, where I had to switch careers completely. Now I’m trying to come back to software development, but I’m struggling with a feeling that I’m “not good enough” anymore. The tech world has moved so fast, and companies like OpenAI, Meta, Epic, etc., feel way out of reach. So my question to the community is: How did you get started in your career? Did you ever feel like you weren’t good enough? How did you push through that and continue improving? Any honest advice would help a lot. Thanks.
4
1
500
2w
Apple Pay v2 (signedTransactionInfo) : how to verify new token format and migrate from legacy EC_v1?
I’m updating a legacy application that used Apple Pay v1 token format, and in my new revamped version I’m now receiving the newer Apple Pay v2 format. The old (v1) payload looked like this: php { "version": "EC_v1", "data": "...", "signature": "...", "header": { "ephemeralPublicKey": "...", "publicKeyHash": "...", "transactionId": "..." } } In the new revamp (v2), Apple Pay returns this instead: php { "signedTransactionInfo": "eyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlF..." } From what I understand: v1 tokens were elliptic-curve encrypted JSON objects containing a header and signature. v2 tokens seem to be JWS (JSON Web Signature) strings using the ES256 algorithm, possibly containing transaction and subscription details inside. Questions Is there any official Apple documentation or migration note explaining the move from EC_v1 → signedTransactionInfo? How should I verify or decode the new signedTransactionInfo payload? Should the verification now use Apple’s public keys instead of the legacy Merchant ID certificate? Are there any example implementations or SDKs that can handle both v1 and v2 formats during migration? Is there a recommended way to maintain backward compatibility while transitioning existing users? Goal Ensure that my revamped app can handle Apple Pay v2 tokens securely while keeping the legacy v1 integration functional until all users are migrated.
0
0
390
2w
support request never got reply
My account has problem in notary a app; and I request a support in 10/28/2025 ,but not got reply ; yestoday , I concat support team by both email and telephone, they call me but still can't resolve problem, now I can only wait endless for a reply email , don't know what happend;
1
0
55
2w
OCR using automator
OCR using automator How to make it more efficient and better? im using grok, to do it #!/usr/bin/env python3 import os import sys import subprocess import glob import re import easyocr import cv2 import numpy as np Verificar argumentos if len(sys.argv) < 2: print("Uso: python3 ocr_global.py <ruta_del_pdf> [carpeta_de_salida]") sys.exit(1) Obtener la ruta del PDF y la carpeta de salida pdf_path = sys.argv[1] output_folder = sys.argv[2] if len(sys.argv) > 2 else os.path.dirname(pdf_path) basename = os.path.splitext(os.path.basename(pdf_path))[0] output_prefix = os.path.join(output_folder, f"{basename}_ocr") Crear la carpeta de salida si no existe os.makedirs(output_folder, exist_ok=True) try: # Generar TIFFs *** pdftoppm, forzando numeración a 300 DPI result = subprocess.run( ["/usr/local/bin/pdftoppm", "-r", "300", "-tiff", "-forcenum", pdf_path, output_prefix], check=True, capture_output=True, text=True ) print("TIFFs generados:", result.stdout) if result.stderr: print("Advertencias/errores de pdftoppm:", result.stderr) # Buscar todos los TIFFs generados dinámicamente (prueba .tif y .tiff) tiff_pattern = f"{output_prefix}-*.tif" # Prioriza .tif basado en tu ejemplo tiff_files = glob.glob(tiff_pattern) if not tiff_files: tiff_pattern = f"{output_prefix}-*.tiff" # Intenta *** .tiff si no hay .tif tiff_files = glob.glob(tiff_pattern) if not tiff_files: print("Archivos encontrados para depuración:", glob.glob(f"{output_prefix}*")) raise FileNotFoundError(f"No se encontraron TIFFs en {tiff_pattern}") # Ordenar por número tiff_files.sort(key=lambda x: int(re.search(r'-(\d+)', x).group(1))) # Procesamiento de OCR *** EasyOCR para todos los TIFFs reader = easyocr.Reader(['es']) # 'es' para español, ajusta según idioma ocr_output_text = os.path.join(output_folder, "out.text") with open(ocr_output_text, 'a', encoding='utf-8') as f: f.write(f"\n=== Inicio de documento: {pdf_path} ===\n") for i, tiff_path in enumerate(tiff_files, 1): tiff_base = os.path.basename(tiff_path) print(f"--- Documento: {tiff_base} | Página: {i} ---") f.write(f"--- Documento: {tiff_base} | Página: {i} ---\n") # Leer y preprocesar la imagen img = cv2.imread(tiff_path, 0) if img is None: raise ValueError("No se pudo leer la imagen") _, thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) # Extraer texto *** EasyOCR result = reader.readtext(thresh) ocr_text = " ".join([text for _, text, _ in result]) # Unir *** espacios print(ocr_text) f.write(ocr_text + "\n") print(f"--- Fin página {i} de {tiff_base} ---") f.write(f"--- Fin página {i} de {tiff_base} ---\n") f.write(f"=== Fin de documento: {pdf_path} ===\n") # Borrar los TIFFs generados después de OCR for tiff in tiff_files: os.remove(tiff) print("TIFFs borrados después de OCR.") except subprocess.CalledProcessError as e: print(f"Error al procesar el PDF: {e}") print("Salida de error:", e.stderr) except FileNotFoundError as e: print(f"Error: {e}") except Exception as e: print(f"Error inesperado: {e}")
0
0
18
2w
Идея для технического усовершенствования продуктов apple
Сегодня столкнулась с проблемой, что у телефона разъем лайтнинг, а у наушников тайпси. Не все владельцы айфонов имеют в распоряжении наушники этого же производителя и разъемы не всегда совпадают. Начала изучать реверсивную зарядку, думаю, это было ы отличной идеей для следующих продуктов
0
0
127
2w
域名《TL 9655. com》腾龙公司游戏联系网址公司
腾龙镜头注册流程--薇---1847933278--旨在确保用户能够享受到官方提供的保修、客户支持和专属优惠。以下是注册腾龙镜头的一般步骤,具体流程可能因地区而异。 注册准备 购买渠道: 确保从授权经销商处购买镜头。 所需信息: 准备好镜头的序列号、购买日期和购买凭证(如发票或收据)。 注册步骤 访问官方网站: 前往腾龙官方网站,通常有专门的镜头注册页面。根据您所在的地区选择相应的网站(例如,腾龙美国、腾龙欧洲等)。 创建账户 / 登录: 如果是首次注册,您可能需要创建一个用户账户。如果已有账户,直接登录即可。 填写注册信息: 在注册页面上,填写镜头的所有必要信息,包括序列号、购买日期、购买地点等。 上传购买凭证: 按照网站指示上传购买凭证的扫描件或照片。 提交注册: 仔细检查填写的信息,确认无误后提交注册。 等待审核: 提交后,您可能会收到一封确认邮件。腾龙可能会审核您的注册信息,并在几个工作日内通知您注册结果。 注册完成后的权益 延长保修期: 在某些地区,注册后可以享受额外的延长保修服务。 参与活动: 获得参与腾龙举办的促销活动、研讨会和新品发布会的资格。 接收资讯: 订阅腾龙的电子新闻,获取最新的产品信息和优惠。
0
0
217
2w
《维1847933278》腾龙公司游戏怎么下载怎么注册账号
腾龙:----TL 9655. C0M-----创办于1998年,总部位于缅甸掸邦老街,是果敢四大家族之一企业的产业。该集团旗下子公司超过多家,员工达上万余人。明面上主要经营文旅、酒店、房地产等产业,如2019年正式运营的腾龙大酒店,曾是当地最豪华的酒店,同年还启动运营了新天地房地产项目。此外,2023年在佤邦建设的新盛大酒店于2023年正式运营,2023年在新盛大酒店也正式运营。
0
0
136
2w
腾龙公司游戏会员注册账号登录网址TL 9655.com
果敢腾 龙企业有限公司,薇---184-7933-278成立于2006年8月12日,下面给大家介绍一下公司主要位置和主要经营那些行业,腾龙公司位置靠于云南省临沧市边联的一个小城市,名称果敢老街,实时位置果敢城市中心双峰塔附近,公司主要是经营,旅游业,酒店服务行业,建筑业,科技游戏,餐饮,等等,这个有名的小城市虽然不是很大,但有着纸醉金迷小澳门的名誉之称呼,今天给大家介绍的就这些,如果你有想旅游的心,也欢迎来这个小城市旅游,来感受一下这里的民族风情。
0
0
263
2w
腾龙公司游戏网址多少?
腾龙公司位置于南亚果敢老街双凤塔附近,---TL9655.com---腾龙公司成立于2015年9月11日,公司主要经营游戏,腾龙公司属于一家实体企业公司,下面是公司经理微信《tle584》 下面是公司浏览官网,可以把这个复制到浏览器粘贴打开,注册一个自己喜欢的账号,注册好以后再点击下面APP下载安装,然后输入自己的账号登录就可以舒畅游戏
0
0
168
2w
NFS shares seem to die after 5 mins on Sequoia 15.5
I don't know if this is the right place to raise this, so apologies if not. For years now, I have exported an NFS share from a host Mac which I connect to from a Raspberry Pi on the same network. I configure this by adding a line in /etc/exports - /Users/Pi -mapall=myusername This has always worked flawlessly, but since updating my Mac (M4 Mac Mini) to Sequoia 15.5 last week, it has developed a problem. If the NFS share is not accessed from the Pi for five minutes, it dies, and the Pi's file manager locks up necessitating a complete reboot. If I run a script on the PI which does an ls on the mounted share every 5 minutes, the lockup does not happen. But if I extend the period to 6 minutes, the lockup occurs. Something on the Mac NFS server seems to be dying in an unrecoverable fashion after five minutes of idle. Even with nfsd logging set to verbose, there is nothing helpful in the console logs. I am open to suggestions to further investigate or to try and fix this, but this is basically a showstopper for me - I need to be able to share data between Mac and Pi, and this is now broken.
2
0
181
2w
Any Sample Financial Reports?
Hey, I'm pre-launch, and can't find any sample financial reports. Really need to see exactly what apple sends out to finish my backend. Anyone have a sample report, or willing to share one of their reports privately. (Promise to keep it private and destroy after use). I'm interested in exact format, not your sales. Particularly interested in reports from people using in app sales and discount offer codes. But that's a bonus. Thank you.
1
0
100
2w
App Removed & Account Pending Termination
My account has been active and in good standing for the past 2 years, and during this time I have never received any warnings or issues. Recently, after Apple reviewed my account, I received a notification about possible termination. After carefully reviewing the situation myself, I realized what may have caused this: I originally registered my Apple Developer account as an Individual Developer Account, However, the bank account used for App Store payments belongs to my registered company, At the time, I was not aware that the legal entity of the bank account must match the Apple Developer account registration. This was not done with any intention to misrepresent or misuse the platform. It was simply a misunderstanding of the account requirements. We have never deceived our users or the Apple Review Team in any way. For us as developers, providing an excellent user experience has always been our top priority, and we have always aimed to follow Apple’s review and compliance standards closely. We sincerely hope that, given our situation, the Apple Review Team could grant us an opportunity to correct these issues.
0
1
120
2w
SKProductsRequest Returning Invalid Identifiers Despite No Pending Agreements
I'm suddenly receiving zero products from SKProductsRequest, even though this setup previously worked without issues. The debugger shows that both of my product identifiers are now being returned under invalidIdentifiers, and response.products is empty. I’ve confirmed the following: There are no pending agreements in App Store Connect. The subscription is active and configured correctly. The product identifiers match exactly with what’s defined in App Store Connect. Here is the delegate method I'm using (unchanged from when it previously worked): extension UpgradeViewModelProvider: SKProductsRequestDelegate { func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) { if response.products.count > 0 { delegate.send(.onProduct(response.products)) } } } Since everything was functioning before, I’m trying to understand what may have caused the identifiers to suddenly be marked as invalid. Any guidance or suggestions on what to check next would be greatly appreciated.
0
2
338
3w
IOS 26.1 Issue
When I updated IOS 26.1, When someone call me over voice call phone kept vibrating after call has been picked for 15 sec. Can you please check what’s the issue
3
1
877
3w
Developer Account Application on hold
Hi, Newbie here: I had been signing up for the Apple Developer program on behalf of my LLC when I got locked out by the system due to exceeding the number of attempts for the verification code sent to my business email. The business email was purchased from a domain registrar, and any incoming emails would take more than 10 minutes to arrive, i.e., Apple's time limit for email verification codes. I later found it all had to do with DNS records. I submitted an email to Apple Support since callback options are not available after a lockout, and I've received no response so far. Hence, I'm posting here. Any help would be greatly appreciated. Thanks!
1
0
253
3w
iOS App stuck on black screen after launch (Flutter 3.35.6) – works fine on Flutter 3.24.5
After installing the app from App Store or TestFlight, when the user opens the app and then force-kills it multiple times, the app sometimes gets permanently stuck on a black screen at launch. This issue does NOT happen on Flutter 3.24.5 — works perfectly on all tested iOS devices. The problem started only after migrating to Flutter 3.35.6. This issue happens only in real production installs (App Store / TestFlight). It does not reproduce in Debug mode or through Xcode run / Android Studio run. Expected behavior App should show native splash → render Flutter UI normally. Actual behavior Sometimes after killing the app repeatedly: Native splash shows briefly → then screen turns completely black and stays stuck Steps to Reproduce: Install the app from App Store or TestFlight Launch the app Force-kill the app using app switcher Repeat launch + kill multiple times After 3–7 attempts, app gets stuck on black screen on launch Is this a known issue with the latest Flutter iOS engine? Could this be related to Flutter engine warm-up, pre-warming isolates, or native splash transition? Is there any recommended fix or workaround on iOS side? (e.g., ApplicationDidBecomeActive callbacks, UIWindow setup, GPU thread rendering flush, etc.)
0
0
194
3w
Unable to Enrol as Company & Now Locked From Publishing Updates
I’m running into a problem with my Apple Developer enrollment and I’m hoping someone here has dealt with something similar. Initially, I attempted to enrol as a company. That turned out to be a mistake because Apple couldn’t retrieve my correct DUNS number, even though it was properly created in Australia. After two weeks without any reply from the email support team, we called Apple Support directly and were advised to enrol as an individual first and later convert the account to a company. At that point, it felt like the only option. Only afterwards did we find out that converting the account will disable it during the process, meaning we lose the ability to publish updates, including critical bug fixes, right at the start of our project. That’s obviously not workable. We’ve called support multiple times, but they can’t see the progress of the case or give us any estimate. Meanwhile, we’ve already provided everything requested: DUNS creation documents Official company registration papers ID verification And now we’re stuck. The app is ready, the next release is pending, and we have no clarity on timelines or what else we can do. Has anyone been through this? Any advice on how to move this forward would be appreciated.
0
0
153
3w