What is the expected change in distance that will trigger significant change. In the documentation
it says 500 m or more. can someone provide an upper limit? and what is the average distance.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I know that if a user force quit the app, the system will not relaunch the app upon a silent notification.
But, the opposite is true if the app is subscribed to location service ("always allow" permissions) and there is a location update. The app will be launched in background even if it is force quit.
So my question is, if user force quit the app, and then it is launched in background due to location updates, will that reopen the door for the app to be launched in background due to silent push notifications. Can location service update be used as a get out of jail card?
If not, will silent push notifications be sent nonetheless when the app is open in background due to a location service event.
Topic:
App & System Services
SubTopic:
Core OS
Tags:
iOS
Core Location
User Notifications
Background Tasks
For an app I am building, I notice that the App privacy report shows that the app has only been using a user's location once in past 7 days but the prompt "app has used your location xx times in the background in the past 3 days." states that my app has been using the user's location 19 times in the past 3 days.
I am in agreement with the App Privacy Report, so I don't understand why the prompt is reporting that I am using so much more. My app only starts reading location data on certain conditions, other wise it does not take any action, and the prompt is giving the false impression that I am using the user's location data a lot more.
Yes I made a issue with Apple through the Feedback Assistant.
Tested on a iOS 16.2, when user on their first time on the app gets asked "allow once" or "allow while using" and they select "allow once", then after they close the app, reopen and gets asked "allow while using" or "always allow", they select "allow while using", CLLocationManager returns "always allow" permission status?
"SafariViewController must be used to visibly present information to users; the controller may not be hidden or obscured by other views or layers. "
I am not clear on what this is addressing. If an app has a link to the company's FAQ page on its website, is this page required to show up in the SFViewController? What if it showed up on the Safari web browser instead?
I saw in https://developer.apple.com/videos/play/wwdc2023/10180/ at 12:51 that the CLBackgroundActivitySession will relaunch the app to resume location updates even if user closed the app (which I interpret to mean swiping the app from app switcher) -- despite the fact that the CLBackgroundActivitySession only require a when-in-use location permission. Since this api can give the app location updates even after the user swiped the app from the switcher, how is the api different than using the current always allow authorisation system to continuously record user movements? For the use case of continously tracking them whenever they move (let's say you wanted to record their driving behaviours), can't the app just launch the CLBackgroundActivitySession and continue to recreate this session every time the app is relaunched to keep on tracking?
Lets say i have an sdk that is not one of those listed, but it uses one of those listed. In this case, do i have to get the sdk im using to update their dependency to add the required signature and privacy manifest?
I have a ContentView in my app which includes the line of code FileUploadProgressAttributes. this struct is defined in a file included in the target FileUploadProgressExtension. and it is an ActivityAttributes.
in ContentView I imported FileUploadProgressExtension, and the xcode is able to find the FileUploadProgressAttributes during prebuild. but during build, it gives me
Undefined symbols for architecture arm64:
"FileUploadProgressExtension.FileUploadProgressAttributes.init(filename: Swift.String) -> FileUploadProgressExtension.FileUploadProgressAttributes
the workaround i found is to add the file with the FileUploadProgressAttributes to my app's target, but I'm not sure if this is the right thing to do. When Xcode created the extension for me, it added the extension target as a target dependency of my app. so obviously if i added this file to my app target it makes the extension target pointless.
First time working with widgets so I'm not sure if I'm missing something.
in my xcode project, i created a new package by going through File > New > Package, just like they said in https://developer.apple.com/documentation/xcode/organizing-your-code-with-local-packages
I have a package, but the problem is, whenever I made any changes in the package's source code, it never showed in the main project. I can import the package just fine, but the package does not show anything. no added apis, functions, nothing.
Im using Xcode 26.0.1
Structs are value types, and the SwiftUI gets reinitialized many times throughout its lifecycle. Whenever it gets reinitialized, would the reference that the delegator has of it still work if the View uses @State or @StateObject that hold a persistent reference to the views data?
protocol MyDelegate: AnyObject {
func didDoSomething()
}
class Delegator {
weak var delegate: MyDelegate?
func trigger() {
delegate?.didDoSomething()
}
}
struct ContentView: View, MyDelegate {
private let delegator = Delegator()
@State counter = 1
var body: some View {
VStack {
Text("\(counter)")
Button("Trigger") {
delegator.trigger()
}
}
}
func didDoSomething() {
counter += 1 //would this call update the counter in the view even if the view's instance is copied over to the delegator?
}
}
Is it possible to use a blank BGTaskRequest just to get the action of the app launching and then do your processing in the main app constructs instead , eg. AppDidFinishLaunching. This way you're not constrained to the tasks time limits set out by Apple. In general, I am confused about the purpose of using the BGTasks if the app will launch and you can start doing what you want in the main code body instead.
Is there a way for xcode to check if all localised strings have corresponding key in localised strings file?
If you are a company with multiple brands that offer the same app product, can they all have similar UI? so the colours and font styles may differ but the layout and content are the same. for example, if you are a restaurant company and you own multiple different brands of pizza restaurants, and they all offer the same app for pizza delivery, can they all just have same UI? The section on copycats is not clear on this https://developer.apple.com/app-store/review/guidelines/#copycats
I am assuming that even if the app i am using is not listed in the ios list of privacy impacting sdks, if they use a privacy impacting sdk in their sdk, then my app will be required to get the privacy manifest for that privacy impacting sdk: the rule must (logically!) be transitive.
So far apple has not sent any email about the app needing to provide that for any of our sdks. but i am worried that maybe apple has not done the check for us yet, and by the time they do , we will be near deadline to submit an app.
In https://developer.apple.com/support/third-party-SDK-requirements/ it says "Signatures are also required in these cases where the listed SDKs are used as binary dependencies. "
As I am clueless regarding the technicalities of how sdks are added to a host app, the term binary dependency means nothing to me.
For reference, our app uses Cocoapods to install all of the sdks.