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 +