diff --git a/GNUmakefile b/GNUmakefile
index 3de15b4a..b5bc938e 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -17,9 +17,12 @@ MAKEFLAGS += --no-builtin-rules
## ANDROID_SDK := Path to the Android SDK.
VERSION_CODE := 33
+VERSION_CODE_IOS := 8
VERSION_NUMBER := 0.0.28-wip
VERSION_NAME := This program kills fascists.
+IPHONEOS_VERSION_MIN=14.0
+
SQLITE_URL := https://www.sqlite.org/2025/sqlite-amalgamation-3490000.zip
BUNDLETOOL_URL := https://github.com/google/bundletool/releases/download/1.17.0/bundletool-all-1.17.0.jar
APPIMAGETOOL_URL := https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
@@ -302,8 +305,8 @@ $(ANDROID_X86_64_TARGETS): LDFLAGS += -Lout/openssl/android/x86_64/usr/local/lib
$(NONMACOS_TARGETS): CFLAGS += -Wno-cast-function-type
$(MACOS_TARGETS): LDFLAGS += -Wl,-dead_strip
$(NONMACOS_TARGETS): LDFLAGS += -Wl,--gc-sections -Wl,--as-needed
-$(IOS_TARGETS): CFLAGS += -miphoneos-version-min=9.0
-$(IOS_TARGETS): LDFLAGS += -miphoneos-version-min=9.0
+$(IOS_TARGETS): CFLAGS += -miphoneos-version-min=$(IPHONEOS_VERSION_MIN)
+$(IOS_TARGETS): LDFLAGS += -miphoneos-version-min=$(IPHONEOS_VERSION_MIN)
ifeq ($(UNAME_S),Darwin)
$(IOS_TARGETS): CFLAGS += -Iout/openssl/ios/ios64-xcrun/usr/local/include
$(IOS_TARGETS): LDFLAGS += -Lout/openssl/ios/ios64-xcrun/usr/local/lib
@@ -914,7 +917,10 @@ src/ios/Info.plist : $(firstword $(MAKEFILE_LIST))
@echo "[ios_version] $@"
@cat $@ | \
tr '\n' '^' | \
- sed -r -e 's@(CFBundleShortVersionString\^[[:space:]]*)[0-9.]*()@\1$(VERSION_NUMBER:%-wip=%)\2@' | \
+ sed -r \
+ -e 's@(CFBundleShortVersionString\^[[:space:]]*)[0-9.]*()@\1$(VERSION_NUMBER:%-wip=%)\2@' \
+ -e 's@(CFBundleVersion\^[[:space:]]*)[[:digit:]]+()@\1$(VERSION_CODE_IOS)\2@' \
+ -e 's@(MinimumOSVersion\^[[:space:]]*)[0-9.]*()@\1$(IPHONEOS_VERSION_MIN)\2@' | \
tr '^' '\n' > \
$@.tmp && mv $@.tmp $@ || rm -f $@.tmp
@@ -1227,7 +1233,7 @@ $(LOCAL_DEPS):
CROSS_TOP=../../deps/ios_toolchain/target \
CROSS_SDK=iPhoneOS18.2.sdk \
CC=clang \
- OPTIONS=-miphoneos-version-min=9.0 \
+ OPTIONS=-miphoneos-version-min=$(IPHONEOS_VERSION_MIN) \
tools/ssl-local
$(filter $(BUILD_DIR)/ios%,$(APP_OBJS)): | $(LOCAL_DEPS)
endif
@@ -1274,7 +1280,7 @@ endif
ifeq ($(UNAME_S),Darwin)
IOS_DEPS := out/openssl/ios/ios64-xcrun/usr/local/lib/libssl.a
$(IOS_DEPS):
- +@BUILD_PLATFORM=ios BUILD_TARGET=ios64-xcrun SSL_TARGET=ios64-xcrun OPTIONS="-fPIC -Wno-macro-redefined -miphoneos-version-min=9.0" tools/ssl-local
+ +@BUILD_PLATFORM=ios BUILD_TARGET=ios64-xcrun SSL_TARGET=ios64-xcrun OPTIONS="-fPIC -Wno-macro-redefined -miphoneos-version-min=$(IPHONEOS_VERSION_MIN)" tools/ssl-local
+@BUILD_PLATFORM=ios BUILD_TARGET=iossimulator-xcrun SSL_TARGET=iossimulator-xcrun OPTIONS="-fPIC -Wno-macro-redefined" tools/ssl-local
$(filter $(BUILD_DIR)/ios%,$(APP_OBJS)): | $(IOS_DEPS)
endif
@@ -1408,6 +1414,17 @@ dist-test: dist ## Exercise some built distributable files, making sure they wor
@rm -rf tildefriends-$(VERSION_NUMBER)
.PHONY: dist-test
+dist-ios: iosrelease-app
+ rm -rfv out/Payload out/tildefriends.ipa
+ mkdir -p out/Payload/tildefriends.app
+ cp -avR out/tildefriends-iosrelease.app/* out/Payload/tildefriends.app/
+ cp src/ios/tildefriends.png out/Payload/tildefriends.app/
+ cp src/ios/icons/Assets.car out/Payload/tildefriends.app/
+ cp src/ios/distribution.mobileprovision out/Payload/tildefriends.app/embedded.mobileprovision
+ xcrun -sdk iphoneos codesign -f -s 'Apple Distribution' --entitlements src/ios/Entitlements.plist --generate-entitlement-der out/Payload/tildefriends.app
+ cd out; zip -r tildefriends.ipa Payload; cd ..
+ xcrun -sdk iphoneos altool --upload-app -f out/tildefriends.ipa -t ios -u $$(cat .keys/altool-user) -p $$(cat .keys/altool-password)
+
##
## Targets for tidying up:
##
diff --git a/src/ios/Info.plist b/src/ios/Info.plist
index a4314f5d..fccf4d23 100644
--- a/src/ios/Info.plist
+++ b/src/ios/Info.plist
@@ -19,13 +19,13 @@
iPhoneOS
CFBundleVersion
- 7
+ 8
DTPlatformName
iphoneos
LSRequiresIPhoneOS
MinimumOSVersion
- 16.2
+ 14.0
UIDeviceFamily
1
@@ -42,7 +42,6 @@
BuildMachineOSBuild
24D70
-
DTPlatformBuild
22C146
DTPlatformVersion
@@ -70,8 +69,6 @@
UILaunchStoryboardName
LaunchScreen
-
-
CFBundleIcons
CFBundlePrimaryIcon
@@ -84,5 +81,7 @@
AppIcon
+ ITSAppUsesNonExemptEncryption
+