Hi, I am developing a NSReplicatedFileProvider extension. Part of that I am also doing a Finder Sync Extension, but I am for whatever reason unable to enable the extension. What am I missing? it is signed properly, it has the right app group. Is there anything else I nede to enable for it? When I do this:
pluginkit -m | grep -i XXXFinderSync
I get
com.clio.XXX-Desktop.XXXFinderSync(1.0)
Not that - shows up as bullet point. The hyphen signifies it is disabled.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Created
Hi all,
I'm working on a Call Directory Extension using CXCallDirectoryExtensionContext. I want to add a list of numbers to be blocked. Here's the function I use:
override func beginRequest(with context: CXCallDirectoryExtensionContext) {
context.delegate = self
let blockedNumbers = loadNumberEntries(forKey: blockedKey)
let identifiedNumbers = loadNumberEntries(forKey: identifiedKey)
addAllBlocking(blockedNumbers, to: context)
addAllIdentification(identifiedNumbers, to: context)
context.completeRequest()
}
private func addAllBlocking(_ entries: [NumberEntry], to context: CXCallDirectoryExtensionContext) {
let numbers: [Int64] = entries.compactMap {
Int64($0.countryCode + $0.phone)
}.sorted()
for number in numbers {
context.addBlockingEntry(withNextSequentialPhoneNumber: number)
print("# Added blocking entry: \(number)")
}
}
When I run this, I see in the console:
# Added blocking entry: (*my number with country code*)
So it seems the number is added correctly. However, in practice, the number is not blocked on the device.
I’ve made sure that:
The number is stored with the country code prefix.
The extension is enabled in Settings → Phone → Call Blocking & Identification.
The extension is reloaded after adding numbers.
The array of numbers is sorted in ascending order before calling addBlockingEntry.
Despite all this, the number still isn’t blocked.
Does anyone know why the print shows the number added, but it doesn’t actually block the call? Am I missing something in the way CXCallDirectoryExtensionContext works?
Thanks for any advice!
hello,
Do you have any information on the handling of sparse matrix with MPS and PyTorch? release date? ...
Our Application [7 Dawns: Echoes] was recently rejected by the App Store for Guideline 4.3
Apple ID:6753892922
Bundle ID:com.ark.jylhgl.ios
Change of Operating Entity
Our company, has obtained exclusive global operating rights (excluding Mainland China, Hong Kong, Macau, Taiwan, and certain regions of South Korea) from the copyright owner.
The previous distributor’s version, Eternal Sword M (App ID 1369681345, Bundle ID com.emagroups.ea2), has been fully removed from the App Store. Our cooperation with them officially ended on December 29, 2023.
New Version Updates
This submission is not a duplicate, but a newly operated and updated version.
We introduced new gameplay systems (7-day seasonal competitive mode, team-based PvP, dispatch and multi-pet strategy systems), optimized monetization and in-game economy, and improved performance and UI (including redesigned app icon and key interfaces).
Evidence Submitted
We have provided the Operating Authorization Letter and Software Copyright Certificate via App Store Connect and email to the review team. and we have submitted Review Support but no reply!
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Hello Apple Developer Team
I am an independent iOS developer creating highly specialized applications for a very small private audience of fewer than ten users These applications are tightly coupled with custom hardware that I design and manufacture myself for example automotive air suspension control systems
Due to the extremely narrow scope and non commercial nature of these apps maintaining a full Apple Developer Program membership is economically impractical The applications are not distributed publicly are not monetized and are used only by a small group of people who share the same technical hobby
All application code is written entirely by me There are no copyright violations no private API usage no hidden functionality no tracking and no malicious behavior The apps do not compromise iOS security do not harm users and do not discredit Apple or the iOS platform The software only functions when paired with proprietary hardware under my control
At present the only viable way to install these apps is by using free developer certificates with a seven day expiration period This creates a significant usability burden Users must constantly re sign and reinstall the apps Non technical users frequently make mistakes during this process which leads to frustration and discourages experimentation learning and hardware innovation
I would like to propose that Apple consider a limited and tightly controlled homebrew style distribution option where non App Store applications could be installed only after Apple review and approval similar in spirit to TestFlight or app notarization This could include strict limitations such as a very small number of allowed users no monetization no public discovery and clear labeling as private experimental or hardware coupled software Apple would retain full control over approval enforcement and revocation at all times
Such a mechanism would preserve the security and trust model of iOS while supporting independent engineers hardware developers and advanced hobbyists It would reduce incentives for unofficial sideloading and encourage innovation at a grassroots level without weakening platform safety
I deeply respect Apple’s focus on security quality and user trust This proposal is not about bypassing the App Store but about enabling a controlled reviewed and extremely limited path for legitimate non commercial hardware specific applications
I hope this message can receive timely consideration and that if such an approach aligns with Apple’s platform goals it could be explored for inclusion in upcoming iOS versions where feasible
Thank you for your time and for supporting the developer community
Best regards
Anzor Tekuev
Independent iOS Developer
Hi,
We have a simple calendar reminder app that uses UNNotificationRequest to schedule local notifications for user events.
I’m wondering whether UNNotificationRequest has a system-imposed limit of 64 upcoming scheduled notifications, similar to the deprecated UILocalNotification.
We’re asking because one of our users is not receiving recently scheduled reminders.
Our current workflow is:
We schedule notifications on app launch and when the app is about to quit.
Before scheduling, we call removeAllPendingNotificationRequests().
We then fetch the 64 nearest upcoming events and schedule them using
UNUserNotificationCenter.current().add(...).
This approach works fine during our testing, but we’re unsure what might be causing the issue for some users.
Any insights would be appreciated. Thanks!
Topic:
App & System Services
SubTopic:
Notifications
Tags:
Foundation
Notification Center
User Notifications
Hello,
I seem to have a strange bug when testing 2 of my Apps that calls SubscriptionStoreView(groupID: storekitmanager.groupID), where storekitmanager is using @Observable, with groupID from the Subscription Group in App Store Connect.
They have the following: Yearly, Biannually, and Monthly. Their productIDs and groupIDs have been configured in each app with the correct IDs.
In my main Apple ID, when the SubscriptionStoreView is presented, selecting Monthly, tap Subscribe, and nothing happens. Selecting either Yearly or Biannually, tap Subscribe and the Confirmation Dialog that triggers faceID/touchID will appear correctly. This happens in both Apps for TestFlight.
I have a Manage Subscriptions button that uses:
manageSubscriptionsSheet(isPresented:subscriptionGroupID:)
I can change the subscription to Monthly in that manage subscriptions.
However, if I switch to a Sandbox Apple Account, the "bug" described above does not happen. The Sandbox account when selecting Monthly and tap Subscribe will trigger the Confirmation Dialog (in both Apps). Not sure if my main account is "stuck" in some loop where it is trying to purchase Monthly in TestFlight but it is not completed.
Has anyone ever encountered such a bug?
I have configured all the necessary settings for the APP Clip, but it still cannot be activated through NFC or scanning the code. What is the problem?
I have an open NFC Value-Added Services entitlement case (17370116) with Apple Wallet Entitlements.
My request was acknowledged, information provided, but the case appears to have been split into duplicates and stalled.
Is there a way to have the case consolidated and routed back to the Wallet Entitlements team?
I understand that private APIs are not permitted under Apple’s App Review Guidelines. However, our application requires I²C communication, and we are currently considering the following APIs:
IOAVServiceReadI2C
IOAVServiceWriteI2C
IOI2CSendRequest
Could you please confirm:
Is there any provision to use these APIs in a Mac App Store–approved application?
Are there public alternatives available for achieving I²C communication on macOS?
Thank you for your guidance.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Store
App Review
Mac App Store
Can I use Xcode to create a playbook for soccer to design exercises and then show the exercise to the players later at practice or a game?
I need to integrate the roster with game plans and designed exercises with practice.
I am developing an iOS application that utilizes running workout data from the iOS Health app / Fitness app via HealthKit, with explicit user permission.
Before finalizing the app design, I would like to clarify several technical aspects related to data reliability, manual entry, record modification, and GPS route availability in HealthKit.
My questions are as follows:
1. Identifying manually added (non-physical) running workouts
When a running workout is created in the Health app without actual physical movement (for example, a workout manually added by the user),
is there any metadata, flag, or key in HealthKit that allows developers to distinguish these records from workouts generated through actual motion tracking (iPhone or Apple Watch)?
2. Editing existing running workout records
Is it possible for users, or for third-party apps with HealthKit write permission, to edit an existing running workout (e.g., distance, duration, calories) after it has been saved?
• If edits are allowed, are the original values preserved in any way, or are they fully overwritten?
3. Detecting modified workout records
If a running workout (whether originally auto-recorded or manually created) has been edited after creation,
is there any identifier, metadata field, source revision, or versioning mechanism in HealthKit that allows developers to detect that the workout has been modified?
4. Access to GPS route / running path data
For outdoor running workouts recorded with location services enabled:
• Does HealthKit provide access to GPS route data (running paths / location traces) associated with a workout?
• Is this route data accessible to third-party apps with user permission?
• Is route data available only for workouts recorded on Apple Watch, or also for iPhone-only recordings?
• Is there a way to determine programmatically whether a running workout includes valid GPS route data?
The overall goal is to understand whether, when building an app that relies on HealthKit running data, it is technically possible to differentiate motion-based workouts from manually added or edited records, and to assess the availability of route information for outdoor runs.
Any clarification or references to official documentation would be greatly appreciated.
Thank you
I am encountering a persistent error in App Store Connect when attempting to save URLs in the App Clip URLs section of my app version.
The issue is as follows: When I enter the URL (e.g., https://4o.c.smart321.com/c/l0) and click save, I receive a 409 Conflict error with the code ENTITY_ERROR.ATTRIBUTE.TYPE. The error detail states: "does not match the uri pattern must be a valid RFC 3986 URI".
The Error Log:
{
"errors" : [ {
"id" : "9f032dd6-f456-4c90-ad9c-245c5ed041d7",
"status" : "409",
"code" : "ENTITY_ERROR.ATTRIBUTE.TYPE",
"title" : "An attribute in the provided entity has the wrong type",
"detail" : "does not match the uri pattern must be a valid RFC 3986 URI",
"source" : { "pointer" : "/data/attributes/invocationUrls/1" }
} ]
}
Conflicting Status: Interestingly, the exact same URL has already been configured under Advanced App Clip Experiences, where it currently shows a status of "Received".
My AASA file is https://4o.c.smart321.com/.well-known/apple-app-site-association
I have verified that the URL follows the standard HTTPS format and contains no hidden characters. Could you please clarify why the URL is being rejected in the App Version section while being accepted in the Advanced Experiences section?
I have configured all the necessary settings for the APP Clip, but it still cannot be activated through NFC or scanning the code. What is the problem?
【背景】
現在、各広告実績(コスト、クリック数など)とCV実績(Adjustローデータ)を紐付け、広告ダッシュボードを構築しております。
iOSアプリキャンペーンにおいて、AD名での紐付け(SQL上でのjoin)が必須となり、ご質問させていただきました。
【質問】
SKAN側の仕様について、計測時SKANからMMP側にデータを送信しているかと思います。
この送信データに、ADG名、AD名は付与されているのでしょうか。
Adjsut担当者様より、リファレンスは無いがポストバック値にはある、とご説明いただきました。
SKAN側でリファレンス等あればご教示いただけますと幸いです。
また、SKAN4.0からは source-identifier がポストバックデータに含まる認識ですが、
この4桁の数値からADやADGを特定することは可能なのでしょうか。
MMPや広告主側で各ADにsource-identifierに紐付けは不可で、媒体側で自動発行される認識をしており、発行粒度/規定も媒体ごとに異なっていると理解しております。
ご返答いただけますと大変ありがたいです。
▼参考リファレンス
https://developer.apple.com/documentation/storekit/verifying-an-install-validation-postback#3592477
APP Stroe has created an advanced lightweight app experience, but NFC and QR code scanning are not activated. What is the problem?
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
I have the following code (compile as a standalone file):
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (strong) NSWindow *window;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)notification {
// Create main window
self.window = [[NSWindow alloc] initWithContentRect:NSMakeRect(100, 100, 800, 600)
styleMask:(NSWindowStyleMaskTitled |
NSWindowStyleMaskClosable |
NSWindowStyleMaskResizable |
NSWindowStyleMaskMiniaturizable)
backing:NSBackingStoreBuffered
defer:NO];
[self.window setTitle:@"Nested ScrollView Demo"];
[self.window makeKeyAndOrderFront:nil];
// Split view controller
NSSplitViewController *splitVC = [[NSSplitViewController alloc] init];
// Sidebar
NSViewController *sidebarVC = [[NSViewController alloc] init];
sidebarVC.view = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 200, 600)];
sidebarVC.view.wantsLayer = YES;
NSSplitViewItem *sidebarItem = [NSSplitViewItem sidebarWithViewController:sidebarVC];
sidebarItem.minimumThickness = 150;
sidebarItem.maximumThickness = 400;
[splitVC addSplitViewItem:sidebarItem];
// Content view controller
NSViewController *contentVC = [[NSViewController alloc] init];
// Vertical scroll view (outer)
NSScrollView *verticalScrollView = [[NSScrollView alloc] initWithFrame:NSMakeRect(0, 0, 600, 600)];
verticalScrollView.automaticallyAdjustsContentInsets = YES;
verticalScrollView.hasVerticalScroller = YES;
verticalScrollView.hasHorizontalScroller = NO;
verticalScrollView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
NSView *verticalContent = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 600, 1200)];
verticalContent.wantsLayer = YES;
verticalContent.layer.backgroundColor = [[NSColor blueColor] CGColor];
[verticalScrollView setDocumentView:verticalContent];
// Add several horizontal scroll sections
CGFloat sectionHeight = 150;
for (int i = 0; i < 5; i++) {
// Horizontal scroll view inside section
NSScrollView *horizontalScroll = [[NSScrollView alloc] initWithFrame:NSMakeRect(0, verticalContent.frame.size.height - (i+1)*sectionHeight - i*20, 600, sectionHeight)];
horizontalScroll.hasHorizontalScroller = YES;
horizontalScroll.hasVerticalScroller = NO;
horizontalScroll.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
NSView *horizontalContent = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 1200, sectionHeight)];
horizontalContent.wantsLayer = YES;
// Add labels horizontally
for (int j = 0; j < 6; j++) {
NSTextField *label = [NSTextField labelWithString:[NSString stringWithFormat:@"Item %d-%d", i+1, j+1]];
label.frame = NSMakeRect(20 + j*200, sectionHeight/2 - 15, 180, 30);
[horizontalContent addSubview:label];
}
horizontalScroll.documentView = horizontalContent;
[verticalContent addSubview:horizontalScroll];
}
contentVC.view = verticalScrollView;
NSSplitViewItem *contentItem = [NSSplitViewItem splitViewItemWithViewController:contentVC];
contentItem.automaticallyAdjustsSafeAreaInsets = YES;
contentItem.minimumThickness = 300;
[splitVC addSplitViewItem:contentItem];
self.window.contentViewController = splitVC;
// Sidebar label
NSTextField *label = [NSTextField labelWithString:@"Sidebar"];
label.translatesAutoresizingMaskIntoConstraints = NO;
[sidebarVC.view addSubview:label];
[NSLayoutConstraint activateConstraints:@[
[label.centerXAnchor constraintEqualToAnchor:sidebarVC.view.centerXAnchor],
[label.centerYAnchor constraintEqualToAnchor:sidebarVC.view.centerYAnchor]
]];
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSApplication *app = [NSApplication sharedApplication];
AppDelegate *delegate = [[AppDelegate alloc] init];
[app setDelegate:delegate];
[app run];
}
return 0;
}
Obviously, since the contents of the right part (the content of the sidebar) has its content inset, the horizontal scrolling views cannot extend to the left beneath the sidebar. I can change line 39 to say verticalScrollView.automaticallyAdjustsContentInsets = NO; which will make the inner horizontal scroll views able to extend below the sidebar, but then I'd lose out on the automatic inset management to not have other content overlap beneath the sidebar. So what can I do here? I've tried manually changing the frame of the inner scroll views to start on a negative x, but that does not allow me to scroll all the way to the leftmost content. I'm hoping I won't have to adjust for safe areas manually for the outer scroll view.
I'd also appreciate tips on how to fix the fact that veritical scrolling doesn't work when your mouse is in a horizontal scroll view.
Thanks!
P.S. same thing also exists on UIKit.
When I create a new tvOS game and run the default project the simulator window appears but nothing is shown. When I create a MultiPlatform Game project and run the demo project for AppleTV the simulator work correctly. I do not get any errors just a blank screen.
Also clicking on the Home icon in the simulator or the actual AppleTV does nothing.
Drew
When I try to invoke the tkinter module in Python 3 that is bundled with Xcode Developer Tools, I get a message saying that my system version is too low:
$ /usr/bin/python3 -m tkinter
macOS 26 (2602) or later required, have instead 16 (1602) !
zsh: abort /usr/bin/python3 -m tkinter
It seems like the system version reported is macOS 16, which I assume is the version code before the decision to rename all OS platforms to 26. This is a very low level mistake and should be fixed as soon as possible.
Topic:
Programming Languages
SubTopic:
General
I am currently testing the Declared Age Range / Parental Consent flow in the Sandbox environment, and I am experiencing an issue where the RESCIND_CONSENT App Store Server Notification is not being delivered to my server.
🔍 Test Environment
iOS version: iOS 26.2 (Sandbox environment)
App Store Server Notifications: Sandbox environment
🔄 Test Scenario
App Settings > Developer > Sign in with a Sandbox account
Launch the app
In App Settings > Developer > Sandbox Account > Management > Revoke App Consent,
enter the app’s Bundle ID, tap the Revoke Consent button,
and confirm that the revocation completion popup message is displayed
Check whether App Store Server Notifications are received by the server
Confirm that the RESCIND_CONSENT notification is not received by the server
✅ Expected Result
The App Store Server sends a RESCIND_CONSENT notification to the Sandbox endpoint
The notification payload includes appTransactionId
The server can block app access based on the corresponding appTransactionId
❌ Actual Result
No RESCIND_CONSENT notification is received in the Sandbox environment
❓ Questions
Is this behavior an intended limitation of the Sandbox environment,
or is it a known issue or bug?
Is it possible that RESCIND_CONSENT notifications will only be delivered starting January 1, 2026?
Additionally, when a RESCIND_CONSENT server notification is received,
I currently update my database with the appTransactionId and the registration date.
When a minor attempts to access the app, I check the latest appTransactionId status,
and if the most recent state indicates consent has been revoked,
I block app access and prompt the user to request parental consent again using PermissionKit.