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.
Post
Replies
Boosts
Views
Activity
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.
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
Connect the iPhone to a Mac running Xcode here using a USB-A to Lightning cable, and the Developer Mode switch will appear.
https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device
I’m aware of no other means to enable Developer Mode, other than cabling the device to a Mac.
Maybe something like Munki, Salt, or similar, helps?
https://www.munki.org/munki/
https://saltproject.io
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.
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.
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.
Rent access to a Mac.
Various hosting vendors exist.
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.
Unenroll, and restore your pre-beta backup.
There is no downgrade to iOS 17, which means restoring a pre-beta backup, or performing a factory reset, or waiting for iOS 18 later this year.
Here is how to: Unenroll Your Devices.
There’s no downgrade, so if there’s no backup to restore from prior to installing the beta, you’ll be resetting and starting over, or will be waiting for iOS 18 later this year.
You can use ad hoc, or you can upload the app to TestFlight for testing.
https://developer.apple.com/documentation/xcode/distributing-your-app-for-beta-testing-and-releases
I’d usually suggest TestFlight.
macOS apps can be notarized and distributed directly.
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
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.