Post

Replies

Boosts

Views

Activity

Reply to URL Encoding doesn't work with iOS 17 which is working with iOS 16
Output in iOS 17: http://192.168.1/api/rest/contents/Shan%27s%20iPhone%20%40%24%E2%82%B9/test.jpg Output in iOS 16: http://192.168.1/api/rest/contents/Shan%27s%20iPhone%20%40%24%E2%82%B9/test.jpg Unless I've gone blind, those outputs are identical. So I believe your problem is not with the percent-encoding, which is unchanged, but with something else. One thing to look at: 192.168.1 is not a valid IP address. Also, http: (rather than https:) may be blocked by security features. A more general observation: generally, it's best to do percent-encoding on the individual components of the URL before joining them together. You seem to be taking a complete URL and then trying to encode it. That can work if you know that your query parameters (etc.) have a limited character set, but it doesn't work in general.
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’23
Reply to How to tell if the receipt was created in sandbox or production with validating receipts on the device?
Why do you want to know if it is a sandbox or production receipt? I do this just for statistics, and I check (on the device) whether the path to the receipt file contains the string "sandbox". This is undocumented and you shouldn't rely on it for anything critical. You can also look at the original app purchase version field in the receipt; this is always 1.0 in the sandbox. Of course for this to work you need to give a different version number to your first app store version, and you can't go back in time and change that if you've already released the app.
Topic: App & System Services SubTopic: StoreKit Tags:
Oct ’23
Reply to Long Term Support
does Apple also have something like this No. As a developer, how can you use an app in the long term without functions or features that are suddenly deprecrated? Avoid using Apple features; use third-party alternatives, or write your own.
Topic: App & System Services SubTopic: Core OS Tags:
Oct ’23
Reply to Can I not download the iOS simulator?
Yes, you will need this download. The "simulator" download includes the SDK that you need for compiling iOS code. Thanks, I thought as much. Do you happen to know whether everything that it downloads goes into /Applications/Xcode? I.e. having done the multi-hour download onto one machine, can I copy /Applications/Xcode to a second machine, and avoid repeating this additional download there? In the past I have downloaded the .xip file from developer.apple.com to avoid multiple App Store downloads. (Yes I have a slow internet connection. Maybe it will be faster by the time the next Xcode update comes out - we recently had a building asbestos survey done, which was a precondition for fibre installation. The students next door think the fibre will arrive just after they finish their courses....)
Oct ’23
Reply to macOS Sonoma broke grep (assertion fails)
Works for me: % printf '%s' '3.2.57(1)-release' | grep -o '[0-9.]*' 3.2.57 1 Is there something unusual about your locale, or some environment variable, or something? % grep --version grep (BSD grep, GNU compatible) 2.6.0-FreeBSD % uname -a Darwin xxxx 23.0.0 Darwin Kernel Version 23.0.0: Fri Sep 15 14:41:34 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T8103 arm64
Oct ’23
Reply to App Attest server implementation
I haven't been able to figure out how to do this part at all The hex that you print in line 69 is itself an ASN.1-encoded value. The details of how to decode that depend on the particular libraries that you are using, which I'm not familiar with. FYI here is my code - C++ using Botan - for this step. I wrote it a while ago, and I think an element of trial-and-error was needed. It does help if you have an ASN.1 "pretty printer" for debugging. // 4. Obtain the value of the credCert extension with OID 1.2.840.113635.100.8.2, which // is a DER-encoded ASN.1 sequence. Decode the sequence and extract the single octet // string that it contains. Verify that the string equals nonce. auto extensions = leaf_cert.v3_extensions(); auto extn = extensions.extensions_raw()[Botan::OID{"1.2.840.113635.100.8.2"}] .first; // Botan::ASN1_Pretty_Printer pp; // log(pp.print(extn), ""); Botan::BER_Decoder decoder(extn); auto seq = decoder.get_next_object(); check(seq.type() == Botan::SEQUENCE); Botan::BER_Decoder decoder2(seq.bits(),seq.length()); auto cons = decoder2.get_next_object(); check(cons.get_class() & Botan::CONSTRUCTED); Botan::BER_Decoder decoder3(cons.bits(),cons.length()); auto expected_nonce = decoder3.get_next_octet_string(); check(std::equal(expected_nonce.begin(), expected_nonce.end(), nonce.begin(), nonce.end()));
Topic: App & System Services SubTopic: General Tags:
Oct ’23
Reply to Texas Sales and Use Tax for Sellers
I sell an app on the app store. No, Apple sells apps on the App Store. You only sell your app to Apple, wholesale. I don't know much about how this all works in Texas, but I believe you should probably start by thinking about it in those terms: you are making a business-to-business sale to Apple Inc, not a business-to-consumer sale to John Doe. In any case, Apple don't tell you what states the end-users live in. So anything that you consider doing which requires you to divide up the end users by state must be wrong.
Oct ’23