Post

Replies

Boosts

Views

Activity

sceneDidEnterBackground( and applicationDidEnterBackground( not getting called when the app is launched in the background
I have a location service running with background mode capabilities, and according to apple docs the app will call sceneDidEnterBackground() or applicationDidEnterBackground() if the app was launched in the background due to location event or if the app was suspended and received a location event. I am not witnessing this happening. These methods are only called when the user moves away from the apps. I am more concerned with the scenario where the app is suspended and gets move to background due to a location event as that is my only point of connection to execute code.
2
0
1.1k
Nov ’22
Does the Apple App Store Review Guildelines permit one company to produce multiples apps with similar UI
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
1
0
1k
Jan ’23
CLLocationManager authorizationStatus is always allow even though user selects "allow while using"
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?
0
0
823
Apr ’23
App Store Review Guideline: Section 5.1.1 (iv) SFSafariViewController
"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?
0
0
762
May ’23
How do I tell if i added a sdk as a binary dependency as referred to in the Apple Privacy docs?
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.
1
0
825
Mar ’24
ActivityKit linker error
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.
0
0
81
May ’25
Local Swift Package does not update in my project
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
0
0
51
Nov ’25
Can SwiftUI Views serve as delegates?
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? } }
0
0
55
Dec ’25
WWDC21 Demystify SwiftUI question
When the guy was talking about structural identity, starting at about 8:53, he mentioned how the swiftui needs to guarantee that the two views can't swap places, and it does this by looking at the views type structure. It guarantees that the true view will always be an A, and the false view will always be a B. Not sure exactly what he means because views can't "swap places" like dogs. Why isn't just knowing that some View is shown in true, and another is shown in false, enough for its identity? e.g. The identity could be "The view on true" vs "The view on false", same as his example with "The dog on the left" vs "The dog on the right"
0
0
58
2w
SwiftUI .task does not update its references on view update
I have this sample code import SwiftUI struct ContentView: View { var body: some View { ParentView() } } struct ParentView: View { @State var id = 0 var body: some View { VStack { Button { id+=1 } label: { Text("update id by 1") } TestView(id: id) } } } struct TestView: View { var sequence = DoubleGenerator() let id: Int var body: some View { VStack { Button { sequence.next() } label: { Text("print next number").background(content: { Color.green }) } Text("current id is \(id)") }.task { for await number in sequence.stream { print("next number is \(number)") } } } } final class DoubleGenerator { private var current = 1 private let continuation: AsyncStream<Int>.Continuation let stream: AsyncStream<Int> init() { var cont: AsyncStream<Int>.Continuation! self.stream = AsyncStream { cont = $0 } self.continuation = cont } func next() { guard current >= 0 else { continuation.finish() return } continuation.yield(current) current &*= 2 } } the print statement is only ever executed if I don't click on the update id by 1 button. If i click on that button, and then hit the print next number button, the print statement doesn't print in the xcode console. I'm thinking it is because the change in id triggered the view's init function to be called, resetting the sequence property and so subsequent clicks to the print next number button is triggering the new version of sequence but the task is still referring its previous version. Is this expected behaviour? Why in onChange and Button, the reference to the properties is always up to date but in .task it is not?
1
0
171
2w