Post

Replies

Boosts

Views

Activity

Reply to StoreKit 2 - AppTransaction.originalAppVersion confusion
in testing and I only get "1.0" as originalAppVersion within the beta release Development versions always report 1.0. In production it does report whatever is in CFBundleVersion. For my apps, in the past that was set manually to 1.2.345667. Now I think it automatically gets set to just the 34567 part. All you really need to know is whether the version is “new” or not. So if your first free version is 2.0 build 1234567, then check for anything that contains “2.0” or “1234567”, and consider everything else “old”.
Topic: App & System Services SubTopic: StoreKit Tags:
Nov ’23
Reply to Debug a process by hand from a c program on an Apple Silicon CPU
Your asm is between the two printfs. But I don't think the debugger can do that - it would need to move all the following code along by one to make space to insert it, which would break everything. So I presume that, if the debugger works in this way at all, then it must replace an existing instruction with the "brk". When it continues it must temporarily put the original instruction back. In this case, you don't need to increase the pc value. I know that doesn't answer your question, and I have no idea how the debugger actually does this. Source for lldb should be available.
Nov ’23
Reply to in-app purchases on device switch
how we can get the latest receipt in device1 You can't. Users must not change their Apple ID. I guess that a user has contacted you to ask for help. Tell the user that they should not have changed their Apple ID, and that you cannot help further. Also, consider the possibility that this is a scam.
Topic: App & System Services SubTopic: StoreKit Tags:
Nov ’23
Reply to NSDateFormatter ignores user's preferred date format
See under "Return Value" and "Discussion" for an example of this behavior. Could you be specific about what you see in that documentation? As I read it, it says that the components in the returned format string should be arranged according to the locale. It does not relate that to the various Settings app settings. It seems to me that: The Settings app language, region and 24hr vs. am/pm settings are reflected in public properties of NSLocale. The Settings app date format setting is reflected in a private property of NSLocale, which I can see in the debugger. Setting NSDateFormatter’s locale, dateStyle and timeStyle and reading dateFormat returns a template based on (1) and (2). dateFormatFromTemplate returns a template based only on (1). This seems wrong to me.
Topic: App & System Services SubTopic: General Tags:
Nov ’23
Reply to NSDateFormatter ignores user's preferred date format
Note that this code: NSDateFormatter* f = [[NSDateFormatter alloc] init]; f.locale = [NSLocale currentLocale]; f.dateStyle = NSDateFormatterShortStyle; f.timeStyle = NSDateFormatterShortStyle; NSString* fmt = f.dateFormat; Does return a format string that reflects General -> Language & Region -> Date Format: Region=UK, Date Format=2023-08-19, fmt="y-MM-dd, h:mm a" Region=UK, Date Format=8/19/23, fmt="dd/MM/yyyy, h:mm:ss a"
Topic: App & System Services SubTopic: General Tags:
Nov ’23
Reply to StoreKit 2 - AppTransaction.originalAppVersion confusion
in testing and I only get "1.0" as originalAppVersion within the beta release Development versions always report 1.0. In production it does report whatever is in CFBundleVersion. For my apps, in the past that was set manually to 1.2.345667. Now I think it automatically gets set to just the 34567 part. All you really need to know is whether the version is “new” or not. So if your first free version is 2.0 build 1234567, then check for anything that contains “2.0” or “1234567”, and consider everything else “old”.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to Debug a process by hand from a c program on an Apple Silicon CPU
Your asm is between the two printfs. But I don't think the debugger can do that - it would need to move all the following code along by one to make space to insert it, which would break everything. So I presume that, if the debugger works in this way at all, then it must replace an existing instruction with the "brk". When it continues it must temporarily put the original instruction back. In this case, you don't need to increase the pc value. I know that doesn't answer your question, and I have no idea how the debugger actually does this. Source for lldb should be available.
Replies
Boosts
Views
Activity
Nov ’23
Reply to in-app purchases on device switch
how we can get the latest receipt in device1 You can't. Users must not change their Apple ID. I guess that a user has contacted you to ask for help. Tell the user that they should not have changed their Apple ID, and that you cannot help further. Also, consider the possibility that this is a scam.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to NSDateFormatter ignores user's preferred date format
See under "Return Value" and "Discussion" for an example of this behavior. Could you be specific about what you see in that documentation? As I read it, it says that the components in the returned format string should be arranged according to the locale. It does not relate that to the various Settings app settings. It seems to me that: The Settings app language, region and 24hr vs. am/pm settings are reflected in public properties of NSLocale. The Settings app date format setting is reflected in a private property of NSLocale, which I can see in the debugger. Setting NSDateFormatter’s locale, dateStyle and timeStyle and reading dateFormat returns a template based on (1) and (2). dateFormatFromTemplate returns a template based only on (1). This seems wrong to me.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Nov ’23
Reply to NSDateFormatter ignores user's preferred date format
Note that this code: NSDateFormatter* f = [[NSDateFormatter alloc] init]; f.locale = [NSLocale currentLocale]; f.dateStyle = NSDateFormatterShortStyle; f.timeStyle = NSDateFormatterShortStyle; NSString* fmt = f.dateFormat; Does return a format string that reflects General -> Language & Region -> Date Format: Region=UK, Date Format=2023-08-19, fmt="y-MM-dd, h:mm a" Region=UK, Date Format=8/19/23, fmt="dd/MM/yyyy, h:mm:ss a"
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Nov ’23