Post

Replies

Boosts

Views

Activity

Reply to Privacyinfo.xcprivacy doesn't work
Requirement for 3rd party framework is not really clear… See here: https://jochen-holzer.medium.com/embrace-the-evolution-preparing-your-ios-app-for-the-required-reason-api-38f2d12bbce5 3rd Party Libs Third-party SDKs need to provide their own privacy manifest files that record the types of data they collect. Your app’s privacy manifest file doesn’t need to cover data collected by third-party SDKs that your app links to. Did CBORCoding 1.3.2 and Half 1.3.1. provide such manifest ? Maybe you could ask to the author (same for both packages) : https://swiftpackageindex.com/SomeRandomiOSDev/CBORCoding. Author Joe Newton, somerandomiosdev @ gmail.com
Apr ’24
Reply to Privacyinfo.xcprivacy doesn't work
Do you use a library that could have more use cases of UserDefault ? Your file seems OK as long as UserDefaults are used exclusively by this app (not apps from same group). Maybe you could try to add some info to the String and see if it works: <string>CA92.1 access user defaults to read and write information that is only accessible to the app itself</string>. privacyInfo declaration is a really cryptic.
Apr ’24
Reply to Persisting User Input Data in SwiftUI
With this scheme, user can create its own articles and prices as well (just need to check that item is not a duplicate in that case). What do you want exactly to save in iCloud ? To save in iCloud: https://www.hackingwithswift.com/example-code/system/how-to-store-userdefaults-options-in-icloud
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Apr ’24
Reply to Persisting User Input Data in SwiftUI
So, if I understand correctly, you want to use (and save) 2 pricing tables: the default one that may be updated when app is updated the user's one if he/she has defined. And you want user to be able to keep it if desired. What is the size of these pricing tables ? If they are not too large (let's say, less than 1000 items), I would: create a dictionary with the price list include the default pricing in a JSON and include it in the project resources if user creates a price list, save it in User.defaults as another JSON (containing only the prices that were modified). When you load the app, you first decode the default pricing from the JSON Then you read user defaults to see if some price has to be superseded by a user price. You update the price dictionary for those keys (product name) Doing so will allow: add new prices in the JSON when you create a new release or modify some default prices work with whatever number of prices modified by user (even 0) preserve user prices. When uploading new release, you may ask user if he wants to keeps its prices or update with new defaults. If so, you should clear those user defaults. If several 1000 of items, SwiftData may be a better choice. This may help you create the JSON from the initial dictionary: https://www.tutorialspoint.com/convert-a-dictionary-to-json-in-swift Please tell if anything is not clear enough.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Apr ’24
Reply to Feedback form
Feedback is critical, Critical to you or to the user ? 2 thoughts: In Europe you have to comply with GDPR regulation on privacy See guideline 5.1.1 (ii) Permission: Apps that collect user or usage data must secure user consent for the collection, even if such data is considered to be anonymous at the time of or immediately following collection. Paid functionality must not be dependent on or require a user to grant access to this data. Apps must also provide the customer with an easily accessible and understandable way to withdraw consent. Ensure your purpose strings clearly and completely describe your use of the data. Apps that collect data for a legitimate interest without consent by relying on the terms of the European Union’s General Data Protection Regulation (“GDPR”) or similar statute must comply with all terms of that law. Learn more about Requesting Permission (https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/).
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Apr ’24
Reply to AppStore impressions
Improve your app! More seriously, there are tutorials or online sessions proposed by Apple to improve apps visibility. Similar to this one last year (but look for new ones): https://developer.apple.com/events/app-store/ or https://www.google.fr/url?sa=t&source=web&rct=j&opi=89978449&url=https://developer.apple.com/videos/play/tech-talks/110151/&ved=2ahUKEwiA4vXl5MmFAxWBaqQEHV9PB7gQtwJ6BAgPEAI&usg=AOvVaw22N4kZJKiXrLi1tQDXuaz0
Topic: App & System Services SubTopic: Core OS Tags:
Apr ’24
Reply to Big problem - My app is not showing in setting on on device simulator
didn't program/change anything. Do you mean it was working previously and does not work anymore ? Did you register your settings, with some code like this in disFinishlaunching: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let defaults = [ // The settings values you want to show in App's settings ] as [String : Any] UserDefaults.standard.register(defaults: defaults) // Connect to Root.pList // Other stuff } and define the Root.plist
Apr ’24
Reply to CopyCat Rejection - what documents are required to verify that the app is mine?
if I am a solo developer with every right to my own app. I don't think that's the point. You could be a solo developer, having fully developed the app but have designed it very similar to another app. Or your app name or visual appear too similar to an existing app. The fact that it is on another store does not matter for the reviewer. Have you searched the appstore for such similar app ? Once you have found you could either modify your app or try to explain to reviewer why it is not copycat (more difficult).
Apr ’24
Reply to how to add bluetooth permission
In fact that's an issue with SwiftUI projects which do not create by default an Info.plist. The way I do it: Create a new file of type Property List (with the File > New > File menu) Name it info Now you will see an info.plist in the files hierarchy you can add the bluetooth authorization there.
Apr ’24
Reply to Unable to add an iOS 14 simulator on Xcode 14.3
WHich target have you set for your app ?
Replies
Boosts
Views
Activity
Apr ’24
Reply to High Kernel Dispatch Overhead for Metal for Swift
Just by curiosity: why do you pass commandQueue as fill argument in objC and not in Swift (even though that should not make a big difference) ?
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to Generating 5.5-inch iPhone Screenshots for App Store Submission (Xcode 17.4)
Welcome to the forum. Xcode 17.4 does not exist yet… Is it Xcode 15.4 ? Or more likely iOS 17.4 ? In any case, you can set temporarily the target to iOS 16.0 instead of 17.4 (that will be useful in addition for all users who have not yet or cannot upgrade to 17). Then you will be able to generate for iPhone 8 Plus.
Replies
Boosts
Views
Activity
Apr ’24
Reply to Privacyinfo.xcprivacy doesn't work
Requirement for 3rd party framework is not really clear… See here: https://jochen-holzer.medium.com/embrace-the-evolution-preparing-your-ios-app-for-the-required-reason-api-38f2d12bbce5 3rd Party Libs Third-party SDKs need to provide their own privacy manifest files that record the types of data they collect. Your app’s privacy manifest file doesn’t need to cover data collected by third-party SDKs that your app links to. Did CBORCoding 1.3.2 and Half 1.3.1. provide such manifest ? Maybe you could ask to the author (same for both packages) : https://swiftpackageindex.com/SomeRandomiOSDev/CBORCoding. Author Joe Newton, somerandomiosdev @ gmail.com
Replies
Boosts
Views
Activity
Apr ’24
Reply to Privacyinfo.xcprivacy doesn't work
Do you use a library that could have more use cases of UserDefault ? Your file seems OK as long as UserDefaults are used exclusively by this app (not apps from same group). Maybe you could try to add some info to the String and see if it works: <string>CA92.1 access user defaults to read and write information that is only accessible to the app itself</string>. privacyInfo declaration is a really cryptic.
Replies
Boosts
Views
Activity
Apr ’24
Reply to Persisting User Input Data in SwiftUI
With this scheme, user can create its own articles and prices as well (just need to check that item is not a duplicate in that case). What do you want exactly to save in iCloud ? To save in iCloud: https://www.hackingwithswift.com/example-code/system/how-to-store-userdefaults-options-in-icloud
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to Persisting User Input Data in SwiftUI
So, if I understand correctly, you want to use (and save) 2 pricing tables: the default one that may be updated when app is updated the user's one if he/she has defined. And you want user to be able to keep it if desired. What is the size of these pricing tables ? If they are not too large (let's say, less than 1000 items), I would: create a dictionary with the price list include the default pricing in a JSON and include it in the project resources if user creates a price list, save it in User.defaults as another JSON (containing only the prices that were modified). When you load the app, you first decode the default pricing from the JSON Then you read user defaults to see if some price has to be superseded by a user price. You update the price dictionary for those keys (product name) Doing so will allow: add new prices in the JSON when you create a new release or modify some default prices work with whatever number of prices modified by user (even 0) preserve user prices. When uploading new release, you may ask user if he wants to keeps its prices or update with new defaults. If so, you should clear those user defaults. If several 1000 of items, SwiftData may be a better choice. This may help you create the JSON from the initial dictionary: https://www.tutorialspoint.com/convert-a-dictionary-to-json-in-swift Please tell if anything is not clear enough.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to How to correctly use Accessibility Identifiers for Rows of Elements
Try adding buttonStyle so that a button is effectively selected and not the whole row (https://developer.apple.com/forums/thread/119541?page=2) Button(action: {}, label: { Text("Submit") }) .buttonStyle(PlainButtonStyle()) .accessibilityIdentifier("submit_button")
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to Stuck on launch with Debug
You have hopefully archived previous versions of your code. Try with them. If it works, check thoroughly what changes you made. Did you look at the debug navigator to check for CPU usage ?
Replies
Boosts
Views
Activity
Apr ’24
Reply to Feedback form
Feedback is critical, Critical to you or to the user ? 2 thoughts: In Europe you have to comply with GDPR regulation on privacy See guideline 5.1.1 (ii) Permission: Apps that collect user or usage data must secure user consent for the collection, even if such data is considered to be anonymous at the time of or immediately following collection. Paid functionality must not be dependent on or require a user to grant access to this data. Apps must also provide the customer with an easily accessible and understandable way to withdraw consent. Ensure your purpose strings clearly and completely describe your use of the data. Apps that collect data for a legitimate interest without consent by relying on the terms of the European Union’s General Data Protection Regulation (“GDPR”) or similar statute must comply with all terms of that law. Learn more about Requesting Permission (https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/).
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to AppStore impressions
Improve your app! More seriously, there are tutorials or online sessions proposed by Apple to improve apps visibility. Similar to this one last year (but look for new ones): https://developer.apple.com/events/app-store/ or https://www.google.fr/url?sa=t&source=web&rct=j&opi=89978449&url=https://developer.apple.com/videos/play/tech-talks/110151/&ved=2ahUKEwiA4vXl5MmFAxWBaqQEHV9PB7gQtwJ6BAgPEAI&usg=AOvVaw22N4kZJKiXrLi1tQDXuaz0
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to Do WeatherKit requests made during development count towards our monthly credits?
Do you plan to have that many requests during development ? If I'm right, you have up to 500K requests a month included in membership.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Apr ’24
Reply to Big problem - My app is not showing in setting on on device simulator
didn't program/change anything. Do you mean it was working previously and does not work anymore ? Did you register your settings, with some code like this in disFinishlaunching: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let defaults = [ // The settings values you want to show in App's settings ] as [String : Any] UserDefaults.standard.register(defaults: defaults) // Connect to Root.pList // Other stuff } and define the Root.plist
Replies
Boosts
Views
Activity
Apr ’24
Reply to CopyCat Rejection - what documents are required to verify that the app is mine?
if I am a solo developer with every right to my own app. I don't think that's the point. You could be a solo developer, having fully developed the app but have designed it very similar to another app. Or your app name or visual appear too similar to an existing app. The fact that it is on another store does not matter for the reviewer. Have you searched the appstore for such similar app ? Once you have found you could either modify your app or try to explain to reviewer why it is not copycat (more difficult).
Replies
Boosts
Views
Activity
Apr ’24
Reply to how to add bluetooth permission
In fact that's an issue with SwiftUI projects which do not create by default an Info.plist. The way I do it: Create a new file of type Property List (with the File > New > File menu) Name it info Now you will see an info.plist in the files hierarchy you can add the bluetooth authorization there.
Replies
Boosts
Views
Activity
Apr ’24