Post

Replies

Boosts

Views

Activity

api and data collection app stroe connect
I added a feature to my app that retrieves only app settings (no personal data) from my API hosted on Cloudflare Workers. The app does not send, collect, track, or share any user data, and I do not store or process any personal information. Technical details such as IP address, user agent, and device information may be automatically transmitted as part of the internet protocol when the request is made, but my app does not log or use them. Cloudflare may collect this information. Question: Does this count as “data collection” for App Store Connect purposes, or can I select “No Data Collected”?
0
0
378
1w
Do I need to declare data collection for simple GET requests
Hi, I have an iOS app that only makes GET requests to my own API (hosted on Cloudflare Workers). The app only receives information for its settings (like whether to show a coupon code). It does not send, collect, track, or share any user data, and I do not store or process any personal information. I understand that technical details (like IP address, user-agent, device information, etc.) are automatically sent as part of the internet protocol. Since I don’t log or use this data, I’m unsure if it counts as “data collection.” However, it is possible that Cloudflare collects this information for security purposes and deletes it after some time. Question: In this case, can I select “No data collected” in the App Privacy section of App Store Connect? Thanks!
1
0
97
1w
Issue with opening browser on Apple Watch SE 2 – black screen
Hello, I am experiencing an issue when trying to open the browser on my Apple Watch SE 2 running the latest version, watchOS 11.6. When I attempt to visit any website, the browser opens and displays the URL at the top as if it is loading, but the screen remains black and no content is displayed. The internet connection is available, and all other apps on the watch work normally. This issue occurs only with the browser. I would appreciate any guidance or solution to resolve this problem. Thank you for your assistance.
2
0
191
3w
Is a Read-Only GET Request Without User Data Considered ‘No Data Collection’?
Hi everyone, My iOS app performs only a GET request to an external server to receive a JSON with configuration data (e.g., app settings). It does not send any personal data — it's a read-only request used only to adjust app behavior. Since the app only performs a GET request to the server and does not send any data from the user, no data is collected or stored. In App Store Connect > App Privacy, is it correct to select: "No, we do not collect data from this app"? Just want to confirm this is acceptable before submitting. Thanks!
3
0
106
Jun ’25
Calling from Watchos
I am working with a watchOS app in SwiftUI, and I am using the following code to dial a phone number from the watch: var number = "123456789" if let telURL = URL(string: "tel:\(number)") { let wkExtension = WKExtension.shared() wkExtension.openSystemURL(telURL) } The issue is that when I try to dial a number starting with a * (asterisk) or # (hash), it doesn't work. When dialing a regular number, it works fine. Is there any way to get this to work?
1
0
79
Apr ’25
Content Filter Permission Prompt Not Appearing in TestFlight
I added a Content Filter to my app, and when running it in Xcode (Debug/Release), I get the expected permission prompt: "Would like to filter network content (Allow / Don't Allow)". However, when I install the app via TestFlight, this prompt doesn’t appear at all, and the feature doesn’t work. Is there a special configuration required for TestFlight? Has anyone encountered this issue before? Thanks!
1
0
265
Jan ’25
Alternative Ways to Contact Apple Developer Support
I’ve been trying to contact Apple Developer Support regarding my developer account. After submitting the required documents related to the Digital Services Act (DSA), I emailed them to ask which additional documents were needed. However, I’ve been waiting for more than 3 days now without receiving a response. Unfortunately, the only way for me to reach them is via email, as phone support is not available in my country. This delay is causing significant issues for me, and I need to resolve this as soon as possible. Are there any alternative methods to contact Apple Developer Support aside from email? I’d appreciate any advice or assistance.
0
0
429
Oct ’24
App Not Appearing in "Available Apps" List in Watch App
I’ve developed an Apple Watch extension for an existing iOS app. When I run the app on the watch via Xcode using the simulator, everything works fine. However, when I try to install it on my iPhone, the Watch app doesn’t show it in the "Available Apps" list, so I can't install it on the watch. The Apple Watch is connected to my iPhone, and I can see other apps available for installation without any issues. I also created a brand new project with watchOS support to troubleshoot, but the same problem occurred. Any ideas on how to resolve this?
1
0
501
Oct ’24
Issue with Xcode 16 - Errors When Splitting Code for Widgets
I’m encountering an issue since I started using Xcode 16. I have a widget in my app, and I'm trying to organize the code by splitting it into different files for better structure. However, when I do this, I get an error: error: Unexpected input file: /Users/******/Desktop/TestApp/TestAppWidget/Provider.Swift (in target 'TestAppWidgetExtension' from project 'TestApp') I want to emphasize that if I keep all the code in one file, everything works fine. I've checked the Target Membership, and it's set up correctly. but I don't understand why this is happening only in Xcode 16. Has anyone else experienced a similar issue or has any ideas on why this is occurring? I would appreciate any help!
5
0
708
Sep ’24
How to Prevent App Intents from Appearing in the Shortcuts App in SwiftUI Interactive Widgets
I'm working on a SwiftUI interactive widget using AppIntent. However, I want to prevent my AppIntents from appearing in the Shortcuts app. Currently, all my AppIntents are showing up in the Shortcuts app, but I only want them to be used within my widget. Is there a way to restrict the visibility of AppIntents so they don't appear in the Shortcuts app? Here is a simplified version of my AppIntent: import AppIntents struct MyWidgetIntent: AppIntent { static var title: LocalizedStringResource = "My Widget Intent" func perform() async throws -> some IntentResult { // Intent logic here } } I've looked into the documentation but haven't found a clear way to achieve this.
1
0
916
Aug ’24
How to Update App Store Metadata via App Store Connect API Using Postman
I need help updating the description, keywords, what's new, and promotional text for my app on the App Store using the App Store Connect API through Postman. I already have my access token. I need to update the data for each language, I changed to PATCH, but what is the url to patch? And what json should I send?
1
0
800
Jul ’24
StoreKit 2: Issue with Subscription Validation in Sandbox
I'm opening this post because I've encountered a perplexing issue in my application utilizing StoreKit 2 with the Sandbox environment for subscription validation. My app makes a server call each time it opens to verify if there's an active subscription. The problem arose after successfully making a purchase in the Sandbox. When I clear history from the Sandbox user and reopen the app, it resends a request to check the subscription, indicating that the user is still subscribed even though the purchases were deleted. Has anyone encountered a similar issue? if I testing it with transaction manager in Xcode it working well. ` func updatePurchasedProducts() async { for await result in Transaction.currentEntitlements { guard case .verified(let transaction) = result else { continue } if transaction.revocationDate == nil { self.purchasedProductIDs.insert(transaction.productID) print("# purchased") } else { self.purchasedProductIDs.remove(transaction.productID) print("# canceled") } } } Thank you very much!
0
0
831
Jan ’24
Issue with SwiftData in Sharing Data Across SwiftUI Project and Custom Keyboard Extension
I'm currently grappling with an issue while incorporating SwiftData into my SwiftUI project, specifically when dealing with a custom keyboard extension. The challenge lies in ensuring that the data I save and import through SwiftData is effectively shared between my main project and the custom keyboard extension. Despite my efforts, it seems like the data isn't being shared as intended. I've reviewed my SwiftData implementation and the interactions between the main project and the extension but haven't been able to pinpoint the root cause. var body: some Scene { WindowGroup { TabView{ ScreenOneView() .tabItem { Label("Main", systemImage: "square.and.pencil") } Text("Setting") .tabItem { Label("Setting", systemImage: "square.and.pencil") } } } .modelContainer(for: CopiedData.self) } } SwiftDataManager: class SwiftDataManager { static let shared = SwiftDataManager() func addItem(context: ModelContext, text: String){ let item = CopiedData(text: text) context.insert(item) } func deleteItem(context: ModelContext, item: CopiedData){ context.delete(item) } } View: struct ScreenOneView: View { @Environment(\.modelContext) private var context @Query private var items: [CopiedData] List{ ForEach(items) { item in HStack{ Text("\(item.text)") Spacer() buttons } } .onDelete(perform: { indexSet in for index in indexSet { vm.delete(context: context, deleteItem: items[index]) } }) } and the code from keyboard extension: class KeyboardViewController: UIInputViewController { override func viewDidLoad() { super.viewDidLoad() setupView() } func setupView(){ let keyboardView = UIHostingController(rootView: KeyboardView().modelContainer(for: CopiedData.self)) addChild(keyboardView) view.addSubview(keyboardView.view) keyboardView.view.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ keyboardView.view.leadingAnchor.constraint(equalTo: view.leadingAnchor), keyboardView.view.trailingAnchor.constraint(equalTo: view.trailingAnchor), keyboardView.view.topAnchor.constraint(equalTo: view.topAnchor), keyboardView.view.bottomAnchor.constraint(equalTo: view.bottomAnchor) ]) keyboardView.didMove(toParent: self) } keyboardView: struct KeyboardView: View { @Environment(\.modelContext) private var context @Query private var items: [CopiedData] List{ ForEach(items) { item in contextTextCopied(text: "\(item.text)") .padding(.vertical, -6) } .onDelete(perform: { indexSet in }) .listRowBackground(Color.theme.background) } to add and delete data i use only single instance let swiftDataManager = SwiftDataManager.shared
1
0
784
Nov ’23
alerts now showing
i had setup alert but alertResetSetting not showing, i do know why but if change the positon from: .alert(isPresented: $showingIsResetSetting, content: alertResetSetting) .alert(isPresented: $showingIsClearAll, content: alertClearAll) to: .alert(isPresented: $showingIsClearAll, content: alertClearAll) .alert(isPresented: $showingIsResetSetting, content: alertResetSetting) the alertResetSetting will be working but the alertClearAll not... why? @State private var showingPrefixByCountry = false @State private var showingIsResetSetting = false @State private var showingIsClearAll = false var body: some View { VStack{ settingList Spacer() } .padding(.top) .alert(isPresented: $showingIsResetSetting, content: alertResetSetting) .alert(isPresented: $showingIsClearAll, content: alertClearAll) .alert("Select Your Country", isPresented: $showingPrefixByCountry) { showingPrefixByCountryContent() } message: { Text("Prefix") .fontWeight(.light) } Section("Data") { Button { showingIsResetSetting.toggle() } label: { Spacer() Text("Reset Setting") .fontWeight(.semibold) Spacer() } Button { showingIsClearAll.toggle() } label: { Spacer() Text("Clear All (Include history calls)") .foregroundColor(Color.red) .fontWeight(.bold) Spacer() } } private func alertResetSetting() -> Alert { Alert( title: Text("Are you sure you want to reset settings?"), message: Text("This action will reset your settings. Without delete you history calls."), primaryButton: .destructive( Text("Reset"), action: { vm.resetSetting() } ), secondaryButton: .cancel(Text("Cancel")) ) } private func alertClearAll() -> Alert { Alert( title: Text("Are you sure you want to Clear All Data?"), message: Text("This action will reset you setting and delete all history data"), primaryButton: .destructive( Text("Clear All"), action: { vm.clearAll() } ), secondaryButton: .cancel(Text("Cancel")) ) }
0
0
578
Aug ’23