Post

Replies

Boosts

Views

Activity

Reply to Captive Portal / Captive Network Assistant
This is seemingly enterprise networking, and — outside of NEHotspotHelper —  not particularly development-related. Links related to this topic, depending on where you're headed here: https://developer.apple.com/news/?id=q78sq5rv https://tools.ietf.org/html/draft-ietf-capport-rfc7710bis https://tools.ietf.org/html/draft-ietf-capport-api https://support.apple.com/en-us/HT204497 https://developer.apple.com/documentation/NetworkExtension/NEHotspotHelper https://www.securew2.com/blog/apple-captive-network-assistant-understanding-captive-portals-on-ios-devices https://community.cisco.com/t5/security-knowledge-base/dual-ssid-byod-with-apple-captive-network-assistant-cna-browser/ta-p/3642663 There are other discussions here in the developer forms, as well.
1w
Reply to In-house app distribution question
Apple Business Manager (ABM) or whatever Mobile Device Management (MDM) you’re using would be typical. Here are your app store distribution options: https://developer.apple.com/help/app-store-connect/manage-your-apps-availability/set-distribution-methods An MDM integrated with macOS such as ABM can manage the distribution of apps, as well. Here are some discussions of all of this, including using ABM to distribute custom apps: https://support.apple.com/guide/deployment/welcome/web https://support.apple.com/guide/deployment/distribute-custom-apps-dep0113f6e18/web With macOS, notarization and direct distribution is also feasible. But distribution and installation via ABM/MDM would be typical.
1w
Reply to Does your app provide end-to-end encryption?
If you use end-to-end encryption in any form, you will want to select “yes” there. This includes using HTTPS, TLS, and even that clever custom digitally-encrypted smoke signals scheme. HTTPS is fundamentally end-to-end encryption. Your encryption usage may well be exempt from needing documentation, as is the case with many apps, and particularly those using built-in Apple encryption support. You may well have to document that encrypted smoke signal implementation for export, though. If you are even remotely unclear or unsure about this, check with organization’s export-control legal contacts. Or get some. Some related reading: https://developer.apple.com/documentation/security/complying-with-encryption-export-regulations https://developer.apple.com/help/app-store-connect/manage-app-information/detemine-and-upload-export-compliance-documentation https://developer.apple.com/help/app-store-connect/reference/export-compliance-documentation-for-encryption https://stackoverflow.com/questions/58792758/how-to-determine-if-my-app-contains-encryption
2w
Reply to Completely new to programming, looking for resources.
Maybe Coursera, or other similar programs, or classes at a reputable local school. Caution: there are lots of shady schools. Here is an introductory (Scratch) class: https://pll.harvard.edu/course/cs50s-introduction-programming-scratch Then Harvard’s CS50 Python intro: https://cs50.harvard.edu/python/2022/ Further along, then maybe the Stanford Swift class: https://cs193p.sites.stanford.edu/ Apple presents Swift as an introductory language, and Apple and third-parties have lots of materials available to learn its capabilities. But you need to know some terms and concepts and a few algorithms. To find previous discussions about learning to develop apps around here, use this DuckDuckGo or Google search: site:discussions.apple.com learn Harvard Stanford python swift Getting going is probably an investment of two to four years of concerted study and class time, too. And then the learning just never ends.
Nov ’24
Reply to Why do I need to whitelist Apple IP addresses on server
1: accessing other websites and other network services can be leveraged by an adversary for command and control or for data exfiltration during a breach. (And some of the other apps and tools that can be involved with those other ports and services can themselves be vulnerable to exploits and a potential means of ingress.) 2: You’ll need to discuss that with Vercel support. Depending on the current hosting details, you may be headed for a dedicated host, which is prob preferable here anyway.
Nov ’24
Reply to Can I Implement an Exit Button in an iOS App?
My (nuanced) answer: If you offer a quit in specific and appropriate circumstances, it may well pass app review. Otherwise, don’t. An example being as part of a completion dialog after performing a user-requested account deletion and data deletion procedure. (The only path left for the app in that state is starting an on-boarding.) Outside of specific and app-specific cases, I’d expect review problems.
Nov ’24
Reply to Do Apple root certificates expire ?
Yes, the Apple Root Certificate Authority certificates expire. Apple Root CA-C2 and -G3 both expire in 2039. Details are here: List of available trusted root certificates in iOS 17, iPadOS 17, macOS 14, tvOS 17, and watchOS 10 Apple hasn’t updated the doc for the current 2024040500 certificates, so the above 2023071300 data is slightly stale.
Jul ’24
Reply to Xcode - Sqlite versions
Short answer: find wherever the added SQLite was installed from whatever installed it, and its name, and add that as a library or SDK reference, and add the header. Long: I’d expect to either reference and link with the added SQLite in the library settings in the build, or to add the SQLite code itself (SQLite is very modular C). Here’s an example: SQLiteLib If you’re using Swift (you’ve not mentioned), I’d look at using a framework wrapper such as SQLite.swift. If you’re building using C or ObjC, you can pull the SQLite source code itself and the header directly into the project. sqlite3.h and sqlite3ext.h, IIRC. related SO thread
May ’24
Reply to How to access login keychain of all users when runs as root?
Lacking substantial context, so making some quite-possibly-wrong assumptions... Can you go after this password change from the server side, with what amounts for a forced password change setting? You can either accept and validate the password and force the password change on the server (probably preferable), or can accept any password (hazardous), and require a new password or (probably better) passkey be established. This server-side change might also require a little work on the client, depending on the details. And forced-password change mechanisms are baked into pretty much all enterprise directories, which means any installation involving a directory is going to have to contend with a server-requested password reset anyway. Backing up a step or two, this feature is right on the edge of a denial-of-service mechanism combined with a means for compromising existing accounts, too. If users can trigger this global reset, miscreants might well eventually explore its implementation details.
Dec ’23