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

Created

Can Critical Alerts Trigger Text-to-Speech and Vibration in Background & Terminated State?
Hello All, I want to implement Text-to-Speech (TTS) and vibration functionality when a push notification arrives. In my app, I am already using Critical Alerts, and the critical alert sound plays correctly in all app states. However, I need to confirm whether it is possible to trigger Text-to-Speech and custom vibration in all app states: Foreground Background Terminated (killed) state My Questions: Is it technically possible for iOS to run Text-to-Speech (using AVSpeechSynthesizer) when a critical alert notification arrives in background or terminated state? Is it possible to trigger custom vibration patterns from a critical alert when the app is not running? If yes, can someone please provide guidance or sample code on how to implement this? If no, can Apple explain the limitation or provide documentation confirming that TTS and vibration cannot be triggered in background/kill states? What works currently: TTS and vibration only work in foreground when the app is active. Critical alert sound works correctly in all states. I want confirmation on whether iOS supports background/terminated TTS and vibration, or if this is a platform restriction even when using Critical Alerts. Thank you!
1
0
217
2d
Multiple upload happening for createItem in File Provider extension
I'm new to swift and iOS development. I'm trying to create a file provider extension for my app. I have able to use createItem, modifyItem, fetchContents functions. But when I try to add a GarageBand file or a big size mp3 file(18 Mb) I can see multiple upload is happening. I checked the FruitBasket project where they are doing chunked upload when file size is more than 100 Mb. How do I fix this to only one upload? I'm getting suggestions like I have to do debounce upload but that seems not a proper solutions.
0
0
209
2d
Improvement request: iPhone should save system state before shutting down at 1% battery.
Gostaria de propor a criação de um Modo de Bateria Crítica Inteligente para impedir desligamentos abruptos quando o iPhone atinge 1% de bateria. O objetivo principal é evitar perda de dados, especialmente em tarefas importantes ou documentos não salvos. ✔️ Funcionamento sugerido: • Quando o iPhone atinge 1% de bateria, o sistema ativa automaticamente um modo de energia ultrarreduzida, mantendo o aparelho ligado por alguns segundos ou minutos extras. • Esse modo poderia: • suspender animações; • reduzir brilho ao mínimo; • pausar atualizações em segundo plano; • congelar aplicativos não essenciais; • priorizar salvamento automático de arquivos, notas, gravações e mensagens. ✔️ Benefícios: 1. Evita a sensação de desligamento inesperado. 2. Reduz o risco de perda de dados importantes. 3. Melhora a segurança e experiência do usuário. 4. Prolonga a vida útil da bateria, reduzindo ciclos críticos. ✔️ Considerações: O objetivo não é estender artificialmente a autonomia, mas sim criar uma janela de proteção que permita ao sistema salvar dados e fazer desligamento programado, evitando danos e frustração.
1
0
277
3d
Running VM count does not correctly decrement
Not sure if this has been reported or not. I have found with several virtualization applications a bug in the running VM counter. After running multiple macOS vms or when shutting down and bringing up one macOS vm multiple times you will get the error that too many vm's are running. Even though all of them are shutdown and the applications closed at the time. The only solution I have found is to reboot the computer. This started with macOS Tahoe 26 and so far has remained through 26.1. Hopefully reported and fixed in 26.2.
0
0
192
3d
403 request for get playlists
I am developing a SWIFITUI app that transfers playlists between Apple Music and Spotify but I am not directly create my requests to those companies APIs. I have my own backend. But when fetching users playlists due to "https://api.music.apple.com/v1/me/library/playlists" the response is 403 all the time. I tried many ways including creating new DevToken and UserToken when user login and sending those tokens in headers with Authorization and Music-User-Token. What else can be the problem? Note: My team ids in Xcode and apple developer portal seems different. Maybe this is the problem.
0
0
174
4d
Help
I am facing a serious and ongoing security breach affecting all of my devices. An unauthorized developer has gained access and installed development profiles without my consent, compromising my privacy and the integrity of my data. I am requesting immediate action to: 1. Secure all my accounts and devices. 2. Remove all unauthorized development profiles, configurations, and code associated with my devices. 3. Revoke every suspicious provisioning or signing certificate linked to my devices. 4. Completely eliminate any programming, scripts, or embedded code connected to the following accounts: • • 5. Remove any unauthorized code or developer associations tied to my company website: header 1 These certificates and configurations should not be recognized or accepted by Apple under any circumstance. Apple is a reputable and highly trusted company, and I am confident it does not tolerate any form of misconduct that compromises user security or allows developers to exploit devices, inject code, or violate customer privacy. I expect urgent and decisive action to restore the full security of my devices, accounts, and digital assets, and to ensure complete protection against any further unauthorized access.
1
0
192
5d
WKWebview returns an 'unsupported type' error on every single function after first success while other webview works flawlessly.
I'm working on a SwiftUI application that uses a couple different webviews in a tabview to render some mdx and codemirror editor. The editor webview, the one that's much more complicated works as expected. Some errors appear in the console due to what I imagine is a race condition that I'll get around to fixing, but it works as expected. The other webview which just renders a single, local html file to display a dead simple summary absolutely refuses to work. It first appears to work as expected (shows the same 'return type unsupported' error in the console though) on the initial request, but then refuses to process any JS functions for that particular webview. Even the functions themselves are being used between the two webviews, and they work as expected in the other. Even worse, when I copy and paste the generated JS code into the safari dev tools it works as expected, even in the broken webview. I've spent almost 12 hours on this today so far, and have made zero progress. I've tried commenting out just about the entire website to narrow it down on the JS side without success, and I've done everything I can think of on the swift side. To be transparent, I'm very new to Swift and SwiftUI, having only picked it up a few weeks ago, but I'm an experienced developer and every obvious solution fails to work. From what I've gathered, this might have something to do with the first function call failing, despite the fact that it appears to work on the first function call, but then the javascript engine refusing to process additional requests. I'm not sure if that's the cause, but it certainly seems to make sense. Is there a way to debug this more completely? Like I said, I'm very new to Swift and still missing neovim, so I'm still getting comfortable with the apple ecosystem of devtools, but I can't even figure out how to print out the return type since it fails before I'm able to inspect anything on the safari side I did notice this error in the console as well, and I'm not quite sure what to make of it: Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "((target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.rendering AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.networking AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.webcontent))" UserInfo={NSLocalizedFailureReason=((target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.rendering AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.networking AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.webcontent))}> And as I was digging for that one, I just noticed this: WebContent[32934] 0x102011208 - [webPageID=306] WebPage::runJavaScriptInFrameInScriptWorld: Request to run JavaScript failed with error SecurityError: The operation is insecure. What would trigger a security warning for running javascript against a local file? Any help is greatly appreciated... this is driving me crazy.
0
1
203
5d
System Freezes in 2048-Style Games on iOS 26.2 Beta
On the latest iOS 26.2 betas I’ve noticed a consistent bug across every 2048-type number-merge game I’ve tested. At some point during gameplay the app freezes and the entire system becomes unresponsive for a few seconds. When control returns, the game is still stuck, looping its selection animation until it’s force-closed. Frame-rate limits and reduced-transparency settings don’t solve it. Is anyone else seeing similar behavior?
0
0
178
6d
Picture editing has a bug
When entering a text to a picture it is possible to paste it from here to there. But when saving this picture the text leaves its position and gets saved a bit lower in the picture. This only happens when you changed the text from a horizontal to a vertical position. The text modules saved in the horizontal position keep there original position.
0
0
53
1w
What would you say to someone who is new to iOS?
Hello everyone! I'm a newly graduated Computer Engineer living in Türkiye. I've been developing my skills in the iOS field for a while now. But sometimes I get lost and don't know what to do. I've just joined this community and have a request for you. I'd be very grateful if you could share your own advice, experiences you've had along the way, and how you successfully overcame them. I'm open to all kinds of positive or negative feedback. Self-improvement is paramount to me.
2
0
217
1w
System Data
System data is beyond a joke now. There constant logs being generated and stored somewhere with zero access and ability to delete or clear up. I’ve even tried changing the date hack, however this just created some space from system but mostly just unloaded my apps (a feature which I’ve now disabled, as virtually everything is unloaded now apart from essential items). Apple support says wipe and start again, I’m sure that’s not a solution? Anyone figured out how to resolve this? Also you can’t even force videos into the cloud, frustrating when I’ve got no space and pay for iCloud and have zero space left on my phone. It’s suppose to be intelligent.
4
0
308
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