iOS is the operating system for iPhone.

Posts under iOS tag

200 Posts

Post

Replies

Boosts

Views

Activity

Unable to attach first auto-renewable subscription to iOS app.
Hello everyone. I’m trying to submit my first auto-renewable subscription with my iOS app, but can’t associate the subscription with my app version in App Store Connect. Setup: app version 1.0.7 with build attached, subscription group “Premium” with weekly, monthly, yearly. All metadata complete; paid apps agreement active, bank details set, admin access confirmed. Problem: “In-App Purchases and Subscriptions” section is missing on my app version page, so I can’t attach my subscription. Draft error says, “Unable to submit for review. Add an app version for the selected platform.” The draft only lists my weekly plan, not the app version. Questions: why might that section be missing? Are there prerequisites? Has anyone seen this? Any guidance or suggestions would be greatly appreciated.
3
1
563
2w
Biome Mac <> iPhone sync trouble, please help!
I'm about to start losing all my phone's biome data and my mind with it. I need help from guru engineers. Hope someone could help me. Published Biome research covers reading the SEGB artifacts, but I can't find anything on sync/sync.db and the merge logic. Hoping someone here has looked at it. Setup: iPhone16 Pro on iOS 26.6 paired with a MacBook Air on macOS 26.6. Same Apple ID. Reading my own devices, read-only. What happened My Macbook stopped receiving phone's in_focus biome stream after a large tombstone purge. In ~/Library/Biome/sync/sync.db, table CRDTLocation has rows of (stream, site, day, state). For my iPhone's AppLaunch stream there is a contiguous band of 27 days, 30 June to 29 July, with state = 4. Every other day is state = 2. Other streams on the same device have bands of only 1-2 days. Data behaviour lines up exactly with that band: -every day at or below 29 July: the phone offers batches, zero records ever land -every day after 29 July: records land normally, but only 2-3 per hour, the gap is widening every day. I am now on the 1st of Aug. -14 out of 14 date buckets observed over a week follow this, no exceptions Media.NowPlaying on the same phone has its own state=4 day at 23 July, and it has delivered nothing since 22 July. Over a week it re-offered ~8,900 records spanning 21 June to 16 July, all refused, and it never offers anything dated after its 23 July mark, even though newer data exists on the phone. The 27-day band was created on 30 July: two tombstone segments written over 6 seconds at 08:14 UTC containing ~18,000 deletion records covering 2-24 July. On the Mac those days now show 0 live records and several thousand dead slots. TombstoneBookmark still points at that segment. Questions What do CRDTLocation.state values mean? I'm fairly confident 4 = deleted and 2 = present/known, since days marked 2 sync fine including ones with no data yet. Is that right, and are there other values? Is the refusal rule what it looks like: an incoming batch is dropped if its day is at or below the highest state=4 day for that (stream, site)? Is the comparison meant to be inclusive? Is a tombstone for a day supposed to bar re-delivery of the entire day permanently, or only the specific records that were deleted? Mine appears to bar everything, including records that were never deleted. Is there any supported way to clear a state=4 band, or reset the sync relationship for one stream, without erasing the device? Has anyone seen a tombstone burst like this, ~18,000 deletion records in under 6 seconds while both devices were idle? Normal pruning on my device is ~700/day. Is there a known trigger? Would it be possible to repoint tombstone bookmark manually? The source records still exist on the phone but Biome retention is ~28 days, so they age out within days... please help Thank you!
0
0
129
2w
Apple software bug
Hi I don’t know if I come to correct place but fingers crossed we can get somewhere I am currently receiving some software bugs on my new device model iPhone 17 pro recently brought also I have been on social media and I have noticed a few people have mentioned the same thing about the same situation as I thought it was a bit normal to have them type of issues so i thought I’d look into it and see if this problem could be resolved a manner
0
0
259
2w
iOS 27b3 SDK: iOS App on Mac crashes on UISearchBar focus
Our app crashes when compiled with the iOS 27 beta 3 SDK and run as an iOS app on Mac, on both macOS 26 and macOS 27, as soon as a UISearchBar receives focus. The crash is due to this exception: *** Assertion failure in BOOL _screenBasedFocusUnsupported(void)(), UIScreen.m:3.725 Accessing the focus system through UIScreen is no longer supported. ( 0 CoreFoundation 0x000000018bea31c0 __exceptionPreprocess + 176 1 libobjc.A.dylib 0x000000018b91e91c objc_exception_throw + 88 2 Foundation 0x000000018e092644 -[NSMutableDictionary(NSMutableDictionary) initWithContentsOfFile:] + 0 3 UIKitCore 0x00000001c5dae8ec _screenBasedFocusUnsupported + 272 4 UIKitCore 0x00000001c5dae960 -[UIScreen _preferredFocusedWindow] + 24 5 UIKitCore 0x00000001c4ea3a60 -[UIScreen _mainSceneReferenceBounds] + 200 6 UIKitCore 0x00000001c4ea3914 -[UIScreen _mainSceneBoundsForInterfaceOrientation:] + 40 7 UIKitCore 0x00000001c5708134 +[UINavigationBar defaultSizeForOrientation:] + 76 8 UIKitCore 0x00000001c6222c88 -[_UISearchPresentationController _layoutPresentationWithSize:transitionCoordinator:] + 704 9 UIKitCore 0x00000001c622296c -[_UISearchPresentationController containerViewWillLayoutSubviews] + 84 10 UIKitCore 0x00000001c549304c block_destroy_helper.13 + 25112 11 UIKitCore 0x00000001c549344c block_destroy_helper.13 + 26136 12 UIKitCore 0x00000001c4ea26a8 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1648 13 QuartzCore 0x0000000196103dbc _ZN2CA5Layer15perform_update_EPS0_P7CALayerjNS_17LayerUpdateReasonEPNS_11TransactionE + 460 14 QuartzCore 0x000000019610390c _ZN2CA5Layer17update_if_needed_EPNS_11TransactionENS_17LayerUpdateReasonE + 692 15 QuartzCore 0x0000000196035d2c _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 608 16 QuartzCore 0x0000000195e69520 _ZN2CA11Transaction6commitEv + 652 17 AppKit 0x0000000190fe116c __37+[NSDisplayCycle currentDisplayCycle]_block_invoke.7 + 44 18 CoreFoundation 0x000000018be34ad0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 19 CoreFoundation 0x000000018be34a10 __CFRunLoopDoBlocks + 396 20 CoreFoundation 0x000000018be33e54 __CFRunLoopRun + 2356 21 CoreFoundation 0x000000018bf06234 _CFRunLoopRunSpecificWithOptions + 532 22 HIToolbox 0x0000000198c1f560 RunCurrentEventLoopInMode + 320 23 HIToolbox 0x0000000198c228bc ReceiveNextEventCommon + 488 24 HIToolbox 0x0000000198dac14c _BlockUntilNextEventMatchingListInMode + 48 25 AppKit 0x00000001909163d0 _DPSBlockUntilNextEventMatchingListInMode + 228 26 AppKit 0x000000019026a084 _DPSNextEvent + 576 27 AppKit 0x0000000190dff96c -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688 28 AppKit 0x0000000190dff678 -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72 29 AppKit 0x000000019025d13c -[NSApplication run] + 368 30 AppKit 0x00000001902357b0 NSApplicationMain + 880 31 AppKit 0x000000019047c958 +[NSWindow _savedFrameFromString:] + 0 32 UIKitMacHelper 0x00000001aa2651bc UINSApplicationMain + 972 33 UIKitCore 0x00000001c4e1aed4 UIApplicationMain + 144 34 UIKitCore 0x00000001c548bda0 block_destroy_helper.31 + 8880 35 DigitalConcertHall.debug.dylib 0x0000000106e41bd8 $sSo21UIApplicationDelegateP5UIKitE4mainyyFZ + 128 36 DigitalConcertHall.debug.dylib 0x0000000106e41b4c $s18DigitalConcertHall11AppDelegateC5$mainyyFZ + 32 37 DigitalConcertHall.debug.dylib 0x0000000106e4afc0 __debug_main_executable_dylib_entry_point + 28 38 dyld 0x000000018b9ac4e4 start + 6992 ) I could not test with the iOS 27 beta 4 SDK due to this blocking issue: https://developer.apple.com/forums/thread/839012 However, when I tried to set up a simple sample project, I could not reproduce the issue. Does anybody know what might be causing this? I filed feedback FB24201508
2
0
562
2w
Enrollment stuck
Hi. I was trying to enroll apple developer program, but after uploading my ID I was told to contact apple developer support. I reached out the support and they told me my ID is not sufficient for some reason and I have to re-upload it. When i tried to do so it wouldn't allow me and telling me to contact apple support. I tried to arrange a call but after 1 day waiting on one is picking up. So basically I'm stuck in a loop that I have no idea what to do. The case ID: 20000134414907. If any apple staff seeing this please help. Thank you!
0
0
145
2w
App has been stuck in Waiting for Review after several rejections
I’ve been trying to get this app through App Review for more than two months now. It was rejected a few times before. I changed what Apple asked me to change and submitted it again each time. The current version has now been sitting in Waiting for Review for quite a while and nothing is happening. I’m actually not very familiar with the App Store review process, so I’m not sure how long Waiting for Review is supposed to take. Do I just leave it there and wait? Or should I submit it again? I’m also wondering if I need to create a new submission / new ID at this point. I don’t want to keep changing things if that just sends me back to the beginning of the queue. The whole thing has already been going on for more than two months, so I’m a bit lost on what I’m supposed to do now. Has anyone run into this before?
1
1
278
2w
Foundation Model tool calling giving system error in iOS27 beta 5
After updating my iOS and xcode to latest iOS 27 beta5 and xcode 27 beta5 all the system language model session calls with tool calls inclusion throwing Unrecognized system-instruction prefix ID: com.apple.fm_api.tool_calls_override error. The same code was working perfectly in iOS27 beta 4. Even the apple sample project OrigamiCraftingADynamicTutorialForAppleIntelligence failing with the same error when tool calls invoked. Anybody else facing similar issue or any workaround for this issue? sample code: struct GetRecordNotesTool: Tool { let name = "getRecordNotes" let description = "Fetches internal notes and returns Note_Title and Note_Content for up to 10 notes." @Generable struct Arguments { @Guide(description: "The API name of the module, e.g. Companies or Contacts") var module_api_name: String @Guide(description: "The unique record ID to fetch notes for") var record_id: String } func call(arguments: Arguments) async throws -> String { return "Fetched content" } }
1
0
708
2w
Intermittent Socket Connection Loss During Long-Duration Automated Testing
We are experiencing issues during extended automated test executions on iOS devices. During long-duration test runs that involve a high volume of interactions with the device under test, the socket connection is unexpectedly terminated. When this occurs, the automation session is disrupted and the test run fails. We would like to better understand the root cause of this behavior and determine whether it is related to the automation framework, the underlying iOS platform, or another system-level constraint. We have the following questions: Are there any iOS security mechanisms or system protections that may be triggered after a high number of automated interactions, resulting in the termination of an active socket connection? Does iOS impose any runtime limitations, session timeouts, resource restrictions, or inactivity thresholds that could impact long-running automation sessions? Are there any known conditions under which iOS may terminate or reset socket connections during extended periods of intensive device interaction? Any guidance on troubleshooting steps, relevant system logs, or known platform limitations would be greatly appreciated.
0
0
260
3w
Possible change in sysctlbyname() / oldlenp behavior on iOS and iPadOS 27
I am investigating an issue involving sysctlbyname("hw.machine", ...) that became observable after moving to iOS/iPadOS 27. The affected legacy code is essentially the following: void getPlatform(unsigned char machine[]) { size_t size; sysctlbyname("hw.machine", machine, &size, NULL, 0); for (int i = 0; i < size; i++) { if (machine[i] == ',') { machine[i] = '.'; } } } The caller provides a zero-initialized fixed-size buffer: unsigned char machine[20] = {0}; getPlatform(machine); I understand that this implementation is incorrect because size is not initialized. When oldp is non-NULL, oldlenp must provide the available size of the buffer. A correct implementation would therefore initialize it, for example: void getPlatform(unsigned char *machine, size_t capacity) { size_t size = capacity; if (sysctlbyname("hw.machine", machine, &size, NULL, 0) != 0) return; for (size_t i = 0; i < size; i++) { if (machine[i] == ',') machine[i] = '.'; } } with: unsigned char machine[20] = {0}; getPlatform(machine, sizeof(machine)); The question is not whether the original implementation is valid. It clearly relies on an uninitialized value and should be corrected. What I am trying to understand is why the issue became observable specifically on iOS/iPadOS 27, and whether there has been any related implementation or documentation change. Using LLDB, I inspected the arguments at the entry to: sysctlbyname("hw.machine", machine, &size, NULL, 0); Because size is uninitialized, the value referenced by oldlenp varies depending on the contents of the stack location. For example, I observed a call where: *oldlenp = 0 The call then returned: return = -1 errno = 12 (ENOMEM) and the output buffer remained empty. In another execution, the same uninitialized stack location happened to contain a very large value. In that case sysctlbyname() succeeded and returned the expected hardware identifier: iPhone18,2 Adding unrelated code such as printf() can also change whether the original implementation succeeds, which is consistent with the uninitialized value being affected by changes in stack/register layout. There is also a second issue I would like clarification on regarding the documented behavior of oldlenp. The current documentation states that when the amount of data is greater than the value supplied through oldlenp, the function updates it to the required size and returns ENOMEM. It also states: The function doesn’t modify the value if it’s larger than or equal to the amount of available data. However, this does not match what I observed at runtime. For example, in one successful call I observed: Before sysctlbyname(): *oldlenp = 4301365248 The value was clearly much larger than required. After the call returned successfully: return = 0 machine = "iPhone18,2" *oldlenp = actual returned data length In other words, oldlenp was modified on a successful call even though the input value was already much larger than the amount of data being returned. I would appreciate clarification on the following: Was there any implementation change to sysctlbyname(), sysctl(), or the handling of oldlenp in iOS/iPadOS 27? Have there been changes in compiler/runtime behavior on iOS/iPadOS 27 that could make this type of existing uninitialized-variable bug surface more consistently? Is the documented statement that oldlenp is not modified when the supplied value is sufficiently large still accurate for sysctlbyname() on current iOS versions? Has the documentation or intended contract for oldlenp changed recently? Have other developers observed ENOMEM from existing sysctlbyname() code after updating to iOS/iPadOS 27? Again, I understand that the original code is incorrect and should initialize oldlenp before calling sysctlbyname(). The part I am trying to clarify is whether iOS/iPadOS 27 introduced any behavioral change that exposed this latent bug, and whether the currently documented successful-call behavior of oldlenp matches the actual implementation.
2
0
316
3w
Sign in with Apple: Better Auth token exchange returns invalid_client while equivalent direct request returns invalid_grant
Hi, Feedback ID - FB24176019 I am investigating a Sign in with Apple issue affecting my production application and would appreciate guidance on what Apple may be rejecting during the token exchange. The authorization stage succeeds and Apple returns an authorization code to our callback. The failure occurs when the authorization code is exchanged at: https://appleid.apple.com/auth/token The production OAuth implementation uses Better Auth 1.6.13. Apple configuration: Primary App ID / Bundle ID: com.whatsupplier.uk Services ID / client_id: com.whatsupplier.uk.signin Registered return URL: https://www.whatsupp.uk/api/auth/callback/apple We have checked the client secret JWT and confirmed: alg = ES256 kid matches the active Apple key iss matches our Apple Team ID sub = com.whatsupplier.uk.signin aud = https://appleid.apple.com iat/exp are valid the JWT signature verifies locally against the configured Apple private key the signature is P1363/raw r||s rather than ASN.1 DER the private key is EC / prime256v1 the redirect_uri exactly matches the registered return URL the token request uses application/x-www-form-urlencoded The unusual behaviour is reproducible: The real Better Auth token exchange reaches Apple's /auth/token endpoint but Apple responds: HTTP 400 error: invalid_client We created a diagnostic request directly to the same Apple token endpoint using the same configured credentials and a deliberately invalid authorization code. Apple responds: HTTP 400 error: invalid_grant "The code has expired or has been revoked." This indicates Apple accepts the client credentials/JWT in the direct request and proceeds as far as validating the authorization code. We also performed an A/B test using the exact same generated client-secret JWT: Test A: grant_type code redirect_uri client_id client_secret Result: invalid_grant Test B: grant_type code redirect_uri client_id client_secret code_verifier Result: invalid_grant Therefore code_verifier alone does not change Apple's classification. We then captured the observable shape of the real Better Auth token request and compared it with a direct request. The client_id, redirect_uri, grant_type, client-secret JWT claims, URLSearchParams/form encoding and absence of an Authorization header were consistent. Despite this, the real framework-generated exchange returns invalid_client while the direct diagnostic request is accepted at the client-authentication stage and returns invalid_grant. Could Apple advise what additional property of the token request could cause this difference in classification? In particular, is there any server-side state or request characteristic used by Sign in with Apple that could cause an otherwise valid client_secret to be classified as invalid_client only during the real authorization-code exchange? I have also prepared detailed diagnostic evidence and can submit the requested sensitive request information through Feedback Assistant rather than posting JWTs, authorization codes, or other credentials publicly. Thank you.
0
0
395
3w
Background Health Store Access for Lock Screen Widgets
It's fairly well know and stated that the Apple Health / HealthKit data store is unavailable when iPhone is locked. Since Lock Screen Widgets were introduced there's been a feature parity mismatch with Apple's own Fitness app which is able to display updating Activity Rings on the Lock Screen. Third party apps cannot do this and have to rely unlocking their device to then trigger an update. This means they often display stale and wrong Health data. With the release of iOS 18 beta, I see no changes to this... Is there anything I've missed? Currently for requesting the Timeline Updates on my Widget I have to just keep requesting updates as often as possible and hope that each time the iPhone might be unlocked.... This is inefficient and a waste of device resources. Even a Widget timeline reload API that let the developer say "Only call update if iPhone unlocked" would be useful.
4
1
2.0k
3w
Unable to attach first auto-renewable subscription to iOS app.
Hello everyone. I’m trying to submit my first auto-renewable subscription with my iOS app, but can’t associate the subscription with my app version in App Store Connect. Setup: app version 1.0.7 with build attached, subscription group “Premium” with weekly, monthly, yearly. All metadata complete; paid apps agreement active, bank details set, admin access confirmed. Problem: “In-App Purchases and Subscriptions” section is missing on my app version page, so I can’t attach my subscription. Draft error says, “Unable to submit for review. Add an app version for the selected platform.” The draft only lists my weekly plan, not the app version. Questions: why might that section be missing? Are there prerequisites? Has anyone seen this? Any guidance or suggestions would be greatly appreciated.
Replies
3
Boosts
1
Views
563
Activity
2w
Biome Mac <> iPhone sync trouble, please help!
I'm about to start losing all my phone's biome data and my mind with it. I need help from guru engineers. Hope someone could help me. Published Biome research covers reading the SEGB artifacts, but I can't find anything on sync/sync.db and the merge logic. Hoping someone here has looked at it. Setup: iPhone16 Pro on iOS 26.6 paired with a MacBook Air on macOS 26.6. Same Apple ID. Reading my own devices, read-only. What happened My Macbook stopped receiving phone's in_focus biome stream after a large tombstone purge. In ~/Library/Biome/sync/sync.db, table CRDTLocation has rows of (stream, site, day, state). For my iPhone's AppLaunch stream there is a contiguous band of 27 days, 30 June to 29 July, with state = 4. Every other day is state = 2. Other streams on the same device have bands of only 1-2 days. Data behaviour lines up exactly with that band: -every day at or below 29 July: the phone offers batches, zero records ever land -every day after 29 July: records land normally, but only 2-3 per hour, the gap is widening every day. I am now on the 1st of Aug. -14 out of 14 date buckets observed over a week follow this, no exceptions Media.NowPlaying on the same phone has its own state=4 day at 23 July, and it has delivered nothing since 22 July. Over a week it re-offered ~8,900 records spanning 21 June to 16 July, all refused, and it never offers anything dated after its 23 July mark, even though newer data exists on the phone. The 27-day band was created on 30 July: two tombstone segments written over 6 seconds at 08:14 UTC containing ~18,000 deletion records covering 2-24 July. On the Mac those days now show 0 live records and several thousand dead slots. TombstoneBookmark still points at that segment. Questions What do CRDTLocation.state values mean? I'm fairly confident 4 = deleted and 2 = present/known, since days marked 2 sync fine including ones with no data yet. Is that right, and are there other values? Is the refusal rule what it looks like: an incoming batch is dropped if its day is at or below the highest state=4 day for that (stream, site)? Is the comparison meant to be inclusive? Is a tombstone for a day supposed to bar re-delivery of the entire day permanently, or only the specific records that were deleted? Mine appears to bar everything, including records that were never deleted. Is there any supported way to clear a state=4 band, or reset the sync relationship for one stream, without erasing the device? Has anyone seen a tombstone burst like this, ~18,000 deletion records in under 6 seconds while both devices were idle? Normal pruning on my device is ~700/day. Is there a known trigger? Would it be possible to repoint tombstone bookmark manually? The source records still exist on the phone but Biome retention is ~28 days, so they age out within days... please help Thank you!
Replies
0
Boosts
0
Views
129
Activity
2w
Apple software bug
Hi I don’t know if I come to correct place but fingers crossed we can get somewhere I am currently receiving some software bugs on my new device model iPhone 17 pro recently brought also I have been on social media and I have noticed a few people have mentioned the same thing about the same situation as I thought it was a bit normal to have them type of issues so i thought I’d look into it and see if this problem could be resolved a manner
Replies
0
Boosts
0
Views
259
Activity
2w
iOS 27b3 SDK: iOS App on Mac crashes on UISearchBar focus
Our app crashes when compiled with the iOS 27 beta 3 SDK and run as an iOS app on Mac, on both macOS 26 and macOS 27, as soon as a UISearchBar receives focus. The crash is due to this exception: *** Assertion failure in BOOL _screenBasedFocusUnsupported(void)(), UIScreen.m:3.725 Accessing the focus system through UIScreen is no longer supported. ( 0 CoreFoundation 0x000000018bea31c0 __exceptionPreprocess + 176 1 libobjc.A.dylib 0x000000018b91e91c objc_exception_throw + 88 2 Foundation 0x000000018e092644 -[NSMutableDictionary(NSMutableDictionary) initWithContentsOfFile:] + 0 3 UIKitCore 0x00000001c5dae8ec _screenBasedFocusUnsupported + 272 4 UIKitCore 0x00000001c5dae960 -[UIScreen _preferredFocusedWindow] + 24 5 UIKitCore 0x00000001c4ea3a60 -[UIScreen _mainSceneReferenceBounds] + 200 6 UIKitCore 0x00000001c4ea3914 -[UIScreen _mainSceneBoundsForInterfaceOrientation:] + 40 7 UIKitCore 0x00000001c5708134 +[UINavigationBar defaultSizeForOrientation:] + 76 8 UIKitCore 0x00000001c6222c88 -[_UISearchPresentationController _layoutPresentationWithSize:transitionCoordinator:] + 704 9 UIKitCore 0x00000001c622296c -[_UISearchPresentationController containerViewWillLayoutSubviews] + 84 10 UIKitCore 0x00000001c549304c block_destroy_helper.13 + 25112 11 UIKitCore 0x00000001c549344c block_destroy_helper.13 + 26136 12 UIKitCore 0x00000001c4ea26a8 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1648 13 QuartzCore 0x0000000196103dbc _ZN2CA5Layer15perform_update_EPS0_P7CALayerjNS_17LayerUpdateReasonEPNS_11TransactionE + 460 14 QuartzCore 0x000000019610390c _ZN2CA5Layer17update_if_needed_EPNS_11TransactionENS_17LayerUpdateReasonE + 692 15 QuartzCore 0x0000000196035d2c _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 608 16 QuartzCore 0x0000000195e69520 _ZN2CA11Transaction6commitEv + 652 17 AppKit 0x0000000190fe116c __37+[NSDisplayCycle currentDisplayCycle]_block_invoke.7 + 44 18 CoreFoundation 0x000000018be34ad0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 19 CoreFoundation 0x000000018be34a10 __CFRunLoopDoBlocks + 396 20 CoreFoundation 0x000000018be33e54 __CFRunLoopRun + 2356 21 CoreFoundation 0x000000018bf06234 _CFRunLoopRunSpecificWithOptions + 532 22 HIToolbox 0x0000000198c1f560 RunCurrentEventLoopInMode + 320 23 HIToolbox 0x0000000198c228bc ReceiveNextEventCommon + 488 24 HIToolbox 0x0000000198dac14c _BlockUntilNextEventMatchingListInMode + 48 25 AppKit 0x00000001909163d0 _DPSBlockUntilNextEventMatchingListInMode + 228 26 AppKit 0x000000019026a084 _DPSNextEvent + 576 27 AppKit 0x0000000190dff96c -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688 28 AppKit 0x0000000190dff678 -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72 29 AppKit 0x000000019025d13c -[NSApplication run] + 368 30 AppKit 0x00000001902357b0 NSApplicationMain + 880 31 AppKit 0x000000019047c958 +[NSWindow _savedFrameFromString:] + 0 32 UIKitMacHelper 0x00000001aa2651bc UINSApplicationMain + 972 33 UIKitCore 0x00000001c4e1aed4 UIApplicationMain + 144 34 UIKitCore 0x00000001c548bda0 block_destroy_helper.31 + 8880 35 DigitalConcertHall.debug.dylib 0x0000000106e41bd8 $sSo21UIApplicationDelegateP5UIKitE4mainyyFZ + 128 36 DigitalConcertHall.debug.dylib 0x0000000106e41b4c $s18DigitalConcertHall11AppDelegateC5$mainyyFZ + 32 37 DigitalConcertHall.debug.dylib 0x0000000106e4afc0 __debug_main_executable_dylib_entry_point + 28 38 dyld 0x000000018b9ac4e4 start + 6992 ) I could not test with the iOS 27 beta 4 SDK due to this blocking issue: https://developer.apple.com/forums/thread/839012 However, when I tried to set up a simple sample project, I could not reproduce the issue. Does anybody know what might be causing this? I filed feedback FB24201508
Replies
2
Boosts
0
Views
562
Activity
2w
社交APP中的聊天匹配
我的产品中有一个匹配聊天的功能,但审核被退回显示目前随机或匿名聊天不允许上架,但我测试其它同类APP是有此类功能的,这查怎么回事?
Replies
0
Boosts
0
Views
117
Activity
2w
Enrollment stuck
Hi. I was trying to enroll apple developer program, but after uploading my ID I was told to contact apple developer support. I reached out the support and they told me my ID is not sufficient for some reason and I have to re-upload it. When i tried to do so it wouldn't allow me and telling me to contact apple support. I tried to arrange a call but after 1 day waiting on one is picking up. So basically I'm stuck in a loop that I have no idea what to do. The case ID: 20000134414907. If any apple staff seeing this please help. Thank you!
Replies
0
Boosts
0
Views
145
Activity
2w
Is there any supported API for a third party app to access live audio from a call it isn't itself carrying?
Is there any supported API for a third party app to access live audio from a call it isn't itself carrying?
Replies
1
Boosts
0
Views
606
Activity
2w
App has been stuck in Waiting for Review after several rejections
I’ve been trying to get this app through App Review for more than two months now. It was rejected a few times before. I changed what Apple asked me to change and submitted it again each time. The current version has now been sitting in Waiting for Review for quite a while and nothing is happening. I’m actually not very familiar with the App Store review process, so I’m not sure how long Waiting for Review is supposed to take. Do I just leave it there and wait? Or should I submit it again? I’m also wondering if I need to create a new submission / new ID at this point. I don’t want to keep changing things if that just sends me back to the beginning of the queue. The whole thing has already been going on for more than two months, so I’m a bit lost on what I’m supposed to do now. Has anyone run into this before?
Replies
1
Boosts
1
Views
278
Activity
2w
Foundation Model tool calling giving system error in iOS27 beta 5
After updating my iOS and xcode to latest iOS 27 beta5 and xcode 27 beta5 all the system language model session calls with tool calls inclusion throwing Unrecognized system-instruction prefix ID: com.apple.fm_api.tool_calls_override error. The same code was working perfectly in iOS27 beta 4. Even the apple sample project OrigamiCraftingADynamicTutorialForAppleIntelligence failing with the same error when tool calls invoked. Anybody else facing similar issue or any workaround for this issue? sample code: struct GetRecordNotesTool: Tool { let name = "getRecordNotes" let description = "Fetches internal notes and returns Note_Title and Note_Content for up to 10 notes." @Generable struct Arguments { @Guide(description: "The API name of the module, e.g. Companies or Contacts") var module_api_name: String @Guide(description: "The unique record ID to fetch notes for") var record_id: String } func call(arguments: Arguments) async throws -> String { return "Fetched content" } }
Replies
1
Boosts
0
Views
708
Activity
2w
Intermittent Socket Connection Loss During Long-Duration Automated Testing
We are experiencing issues during extended automated test executions on iOS devices. During long-duration test runs that involve a high volume of interactions with the device under test, the socket connection is unexpectedly terminated. When this occurs, the automation session is disrupted and the test run fails. We would like to better understand the root cause of this behavior and determine whether it is related to the automation framework, the underlying iOS platform, or another system-level constraint. We have the following questions: Are there any iOS security mechanisms or system protections that may be triggered after a high number of automated interactions, resulting in the termination of an active socket connection? Does iOS impose any runtime limitations, session timeouts, resource restrictions, or inactivity thresholds that could impact long-running automation sessions? Are there any known conditions under which iOS may terminate or reset socket connections during extended periods of intensive device interaction? Any guidance on troubleshooting steps, relevant system logs, or known platform limitations would be greatly appreciated.
Replies
0
Boosts
0
Views
260
Activity
3w
Possible change in sysctlbyname() / oldlenp behavior on iOS and iPadOS 27
I am investigating an issue involving sysctlbyname("hw.machine", ...) that became observable after moving to iOS/iPadOS 27. The affected legacy code is essentially the following: void getPlatform(unsigned char machine[]) { size_t size; sysctlbyname("hw.machine", machine, &size, NULL, 0); for (int i = 0; i < size; i++) { if (machine[i] == ',') { machine[i] = '.'; } } } The caller provides a zero-initialized fixed-size buffer: unsigned char machine[20] = {0}; getPlatform(machine); I understand that this implementation is incorrect because size is not initialized. When oldp is non-NULL, oldlenp must provide the available size of the buffer. A correct implementation would therefore initialize it, for example: void getPlatform(unsigned char *machine, size_t capacity) { size_t size = capacity; if (sysctlbyname("hw.machine", machine, &size, NULL, 0) != 0) return; for (size_t i = 0; i < size; i++) { if (machine[i] == ',') machine[i] = '.'; } } with: unsigned char machine[20] = {0}; getPlatform(machine, sizeof(machine)); The question is not whether the original implementation is valid. It clearly relies on an uninitialized value and should be corrected. What I am trying to understand is why the issue became observable specifically on iOS/iPadOS 27, and whether there has been any related implementation or documentation change. Using LLDB, I inspected the arguments at the entry to: sysctlbyname("hw.machine", machine, &size, NULL, 0); Because size is uninitialized, the value referenced by oldlenp varies depending on the contents of the stack location. For example, I observed a call where: *oldlenp = 0 The call then returned: return = -1 errno = 12 (ENOMEM) and the output buffer remained empty. In another execution, the same uninitialized stack location happened to contain a very large value. In that case sysctlbyname() succeeded and returned the expected hardware identifier: iPhone18,2 Adding unrelated code such as printf() can also change whether the original implementation succeeds, which is consistent with the uninitialized value being affected by changes in stack/register layout. There is also a second issue I would like clarification on regarding the documented behavior of oldlenp. The current documentation states that when the amount of data is greater than the value supplied through oldlenp, the function updates it to the required size and returns ENOMEM. It also states: The function doesn’t modify the value if it’s larger than or equal to the amount of available data. However, this does not match what I observed at runtime. For example, in one successful call I observed: Before sysctlbyname(): *oldlenp = 4301365248 The value was clearly much larger than required. After the call returned successfully: return = 0 machine = "iPhone18,2" *oldlenp = actual returned data length In other words, oldlenp was modified on a successful call even though the input value was already much larger than the amount of data being returned. I would appreciate clarification on the following: Was there any implementation change to sysctlbyname(), sysctl(), or the handling of oldlenp in iOS/iPadOS 27? Have there been changes in compiler/runtime behavior on iOS/iPadOS 27 that could make this type of existing uninitialized-variable bug surface more consistently? Is the documented statement that oldlenp is not modified when the supplied value is sufficiently large still accurate for sysctlbyname() on current iOS versions? Has the documentation or intended contract for oldlenp changed recently? Have other developers observed ENOMEM from existing sysctlbyname() code after updating to iOS/iPadOS 27? Again, I understand that the original code is incorrect and should initialize oldlenp before calling sysctlbyname(). The part I am trying to clarify is whether iOS/iPadOS 27 introduced any behavioral change that exposed this latent bug, and whether the currently documented successful-call behavior of oldlenp matches the actual implementation.
Replies
2
Boosts
0
Views
316
Activity
3w
suddenly notified that my app is "no longer available " when apple 15+ years ago told me it would always be available
how do i get it back? I am the developer of it and for several years it was on the App Store I is my copy and has vast amount of information in it that i value
Replies
1
Boosts
0
Views
590
Activity
3w
Sign in with Apple: Better Auth token exchange returns invalid_client while equivalent direct request returns invalid_grant
Hi, Feedback ID - FB24176019 I am investigating a Sign in with Apple issue affecting my production application and would appreciate guidance on what Apple may be rejecting during the token exchange. The authorization stage succeeds and Apple returns an authorization code to our callback. The failure occurs when the authorization code is exchanged at: https://appleid.apple.com/auth/token The production OAuth implementation uses Better Auth 1.6.13. Apple configuration: Primary App ID / Bundle ID: com.whatsupplier.uk Services ID / client_id: com.whatsupplier.uk.signin Registered return URL: https://www.whatsupp.uk/api/auth/callback/apple We have checked the client secret JWT and confirmed: alg = ES256 kid matches the active Apple key iss matches our Apple Team ID sub = com.whatsupplier.uk.signin aud = https://appleid.apple.com iat/exp are valid the JWT signature verifies locally against the configured Apple private key the signature is P1363/raw r||s rather than ASN.1 DER the private key is EC / prime256v1 the redirect_uri exactly matches the registered return URL the token request uses application/x-www-form-urlencoded The unusual behaviour is reproducible: The real Better Auth token exchange reaches Apple's /auth/token endpoint but Apple responds: HTTP 400 error: invalid_client We created a diagnostic request directly to the same Apple token endpoint using the same configured credentials and a deliberately invalid authorization code. Apple responds: HTTP 400 error: invalid_grant "The code has expired or has been revoked." This indicates Apple accepts the client credentials/JWT in the direct request and proceeds as far as validating the authorization code. We also performed an A/B test using the exact same generated client-secret JWT: Test A: grant_type code redirect_uri client_id client_secret Result: invalid_grant Test B: grant_type code redirect_uri client_id client_secret code_verifier Result: invalid_grant Therefore code_verifier alone does not change Apple's classification. We then captured the observable shape of the real Better Auth token request and compared it with a direct request. The client_id, redirect_uri, grant_type, client-secret JWT claims, URLSearchParams/form encoding and absence of an Authorization header were consistent. Despite this, the real framework-generated exchange returns invalid_client while the direct diagnostic request is accepted at the client-authentication stage and returns invalid_grant. Could Apple advise what additional property of the token request could cause this difference in classification? In particular, is there any server-side state or request characteristic used by Sign in with Apple that could cause an otherwise valid client_secret to be classified as invalid_client only during the real authorization-code exchange? I have also prepared detailed diagnostic evidence and can submit the requested sensitive request information through Feedback Assistant rather than posting JWTs, authorization codes, or other credentials publicly. Thank you.
Replies
0
Boosts
0
Views
395
Activity
3w
Background Health Store Access for Lock Screen Widgets
It's fairly well know and stated that the Apple Health / HealthKit data store is unavailable when iPhone is locked. Since Lock Screen Widgets were introduced there's been a feature parity mismatch with Apple's own Fitness app which is able to display updating Activity Rings on the Lock Screen. Third party apps cannot do this and have to rely unlocking their device to then trigger an update. This means they often display stale and wrong Health data. With the release of iOS 18 beta, I see no changes to this... Is there anything I've missed? Currently for requesting the Timeline Updates on my Widget I have to just keep requesting updates as often as possible and hope that each time the iPhone might be unlocked.... This is inefficient and a waste of device resources. Even a Widget timeline reload API that let the developer say "Only call update if iPhone unlocked" would be useful.
Replies
4
Boosts
1
Views
2.0k
Activity
3w