Post

Replies

Boosts

Views

Activity

Reply to How would you approach an Encryption Key being leaked?
This stuff is all very complicated and hard to get right. Your code appears to show a single hard-coded key embedded in the app; this is absolutely wrong. Don’t ever try to invent your own encryption scheme. (That doesn’t just mean your own encryption algorithm, but also all the supporting stuff like when you generate keys, how you distribute them etc.) Investigate the state-of-the-art and implement that, carefully. But first, ask yourself what your threat model is. What, exactly, are you trying to prevent by adding encryption to your system?
Topic: Privacy & Security SubTopic: General Tags:
Oct ’24
Reply to Please give suggesation for macbook
There have been previous threads asking this question, and not much has changed. Of course they aren't easy to find because the forum search is not amazing. You do not need a high-spec machine. It seems to me that the models with minimum storage are now difficult (but not quite impossible?) to use because Xcode is so enormous. (I have an M1 Mac Mini with 256 GB which is permanently 98% full.) Have a look at reconditioned products if you want to save a few $$$.
Oct ’24
Reply to AppTransaction: how to use in ObjC apps (now that we are forced to use it after the exit(173) deprecation)
No, endecotp, I can check what it's running on at run-time but that's not the problem. You can't build the project using AppTransaction unless you target at least 13. Ah yes; sorry, I was forgetting the difference between the min-version and the max-version. I forget the exact terminology. You need to “target” ( if that’s the right term) a newer version that has the Swift AppTransaction support and set the oldest supported version to the older version without AppTransaction that you still want to support. And there are some conversations about @available on these forums but not in the developer documentation. LMGTFY: https://developer.apple.com/documentation/xcode/running-code-on-a-specific-version Also if you target something like 10.15 you will get a whole bunch of compiler warnings about the security functions in your verification code being deprecated. It is possible to silence specific warnings for specific files. Either do that, or just ignore them. [MyAppTransaction checkReceiptWithCompletionHandler:^(NSString * _Nonnull status) { NSLog(@"status: %@", status); }]; Won't build - unknown object MyAppTransaction. Maybe some guidance about what to put in the bridging header would help? YOU don‘t put anything in the bridging header - it gets created for you. It ought to have a readable objC declaration of MyAppTransaction; if it doesn’t, something has gone wrong, likely related to how you added that to the project etc. Having only done this once, last year I think, I have no idea of the exact steps needed.
Oct ’24
Reply to AppTransaction: how to use in ObjC apps (now that we are forced to use it after the exit(173) deprecation)
Also the undocumented API @available doesn't look usable because it checks the environment at runtime. What I would need would be conditional compilation, right? No. You need to check at runtime. Your aim is a single executable that will run in both older and newer OS versions. It needs to check at runtime and use either the old method or the new method, as approprite. I’m sure @available is documented somewhere, keep searching.
Oct ’24
Reply to Our App Store Rejection Appeal
We even had an online meeting with the Apple team, who suggested that we review and revise the app to ensure compliance before resubmitting it. Following their advice, we made several updates to DreamGF to align with the App Store's guidelines. Let this be a warning to others: these "discuss your problem on the phone with an App Review representative" sessions are often not helpful in practice; you do what they suggest but still get rejected (or in your case worse). More generally, be aware that Apple terminate vast numbers of accounts - 428,000 in 2022, according to their own press release. I find this terrifying. The lesson is to make sure that you're not entirely dependent on Apple for success, i.e. don't get locked in to making Apple-only products using Apple-only technologies that you can't quickly port to other platforms if that becomes necessary.
Oct ’24