diff --git a/.gitignore b/.gitignore
index f0dedf85d..4684e902c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@ deps/openssl/
dist/
.flatpak-builder
.keys
+**/.DS_Store
logs/
**/node_modules
out
diff --git a/src/ios/Entitlements.plist b/src/ios/Entitlements.plist
index ef7006349..a08c23c66 100644
--- a/src/ios/Entitlements.plist
+++ b/src/ios/Entitlements.plist
@@ -7,6 +7,6 @@
com.apple.developer.team-identifier
EDVXQ27EB5
get-task-allow
-
+
diff --git a/src/ios/Info.plist b/src/ios/Info.plist
index 8c350bd54..4d9169333 100644
--- a/src/ios/Info.plist
+++ b/src/ios/Info.plist
@@ -2,34 +2,87 @@
- CFBundleName
- tildefriends
- CFBundleSupportedPlatforms
-
- iPhoneOS
-
+ CFBundleDisplayName
+ Tilde Friends
CFBundleExecutable
tildefriends
CFBundleIdentifier
com.unprompted.tildefriends
- CFBundleResourceSpecification
- ResourceRules.plist
- LSRequiresIPhoneOS
-
- CFBundleDisplayName
- Tilde Friends
- CFBundleVersion
- 1.0
+ CFBundleName
+ tildefriends
+ CFBundlePackageType
+ APPL
CFBundleShortVersionString
1.0
- CFBundleIconName
- AppIcon
- CFBundleIconFile
- tildefriends.png
+ CFBundleSupportedPlatforms
+
+ iPhoneOS
+
+ CFBundleVersion
+ 6
+ DTPlatformName
+ iphoneos
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 16.2
+ UIDeviceFamily
+
+ 1
+ 2
+
UILaunchScreen
UIImageName
tildefriends.png
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ BuildMachineOSBuild
+ 24D70
+
+ DTPlatformBuild
+ 22C146
+ DTPlatformVersion
+ 18.2
+ DTSDKBuild
+ 22C146
+ DTSDKName
+ iphoneos18.2
+ DTXcode
+ 1620
+ DTXcodeBuild
+ 16C5032a
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~iphone
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UILaunchStoryboardName
+ LaunchScreen
+
+
+ CFBundleIcons
+
+ CFBundlePrimaryIcon
+
+ CFBundleIconFiles
+
+ AppIcon60x60
+
+ CFBundleIconName
+ AppIcon
+
+
diff --git a/src/ios/distribution.mobileprovision b/src/ios/distribution.mobileprovision
new file mode 100644
index 000000000..f451b3bc6
Binary files /dev/null and b/src/ios/distribution.mobileprovision differ
diff --git a/src/ios/icons/Assets.car b/src/ios/icons/Assets.car
new file mode 100644
index 000000000..8064bec83
Binary files /dev/null and b/src/ios/icons/Assets.car differ
diff --git a/src/ios/icons/Assets.xcassets/AppIcon.appiconset/Contents.json b/src/ios/icons/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000..aff4124e0
--- /dev/null
+++ b/src/ios/icons/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"idiom":"ios-marketing","scale":"1x","size":"1024x1024","filename":"icon-ios-marketing-1-1024-1024.png"}],"info":{"author":"xcode","version":1}}
\ No newline at end of file
diff --git a/src/ios/icons/Assets.xcassets/AppIcon.appiconset/icon-ios-marketing-1-1024-1024.png b/src/ios/icons/Assets.xcassets/AppIcon.appiconset/icon-ios-marketing-1-1024-1024.png
new file mode 100644
index 000000000..0484a9c2b
Binary files /dev/null and b/src/ios/icons/Assets.xcassets/AppIcon.appiconset/icon-ios-marketing-1-1024-1024.png differ
diff --git a/src/ios/icons/Assets.xcassets/Contents.json b/src/ios/icons/Assets.xcassets/Contents.json
new file mode 100644
index 000000000..77aed3d43
--- /dev/null
+++ b/src/ios/icons/Assets.xcassets/Contents.json
@@ -0,0 +1 @@
+{"info": {"version": 1, "author": "xcode"}}
\ No newline at end of file
diff --git a/src/ios/icons/android/mipmap-hdpi.png b/src/ios/icons/android/mipmap-hdpi.png
new file mode 100644
index 000000000..934f133b8
Binary files /dev/null and b/src/ios/icons/android/mipmap-hdpi.png differ
diff --git a/src/ios/icons/android/mipmap-ldpi.png b/src/ios/icons/android/mipmap-ldpi.png
new file mode 100644
index 000000000..ddb48f0e5
Binary files /dev/null and b/src/ios/icons/android/mipmap-ldpi.png differ
diff --git a/src/ios/icons/android/mipmap-mdpi.png b/src/ios/icons/android/mipmap-mdpi.png
new file mode 100644
index 000000000..d83847bdc
Binary files /dev/null and b/src/ios/icons/android/mipmap-mdpi.png differ
diff --git a/src/ios/icons/android/mipmap-xhdpi.png b/src/ios/icons/android/mipmap-xhdpi.png
new file mode 100644
index 000000000..375a2d094
Binary files /dev/null and b/src/ios/icons/android/mipmap-xhdpi.png differ
diff --git a/src/ios/icons/android/mipmap-xxhdpi.png b/src/ios/icons/android/mipmap-xxhdpi.png
new file mode 100644
index 000000000..cf75b46a1
Binary files /dev/null and b/src/ios/icons/android/mipmap-xxhdpi.png differ
diff --git a/src/ios/icons/android/mipmap-xxxhdpi.png b/src/ios/icons/android/mipmap-xxxhdpi.png
new file mode 100644
index 000000000..5917d13dc
Binary files /dev/null and b/src/ios/icons/android/mipmap-xxxhdpi.png differ
diff --git a/src/ios/icons/ios/100.png b/src/ios/icons/ios/100.png
new file mode 100644
index 000000000..0928ae795
Binary files /dev/null and b/src/ios/icons/ios/100.png differ
diff --git a/src/ios/icons/ios/114.png b/src/ios/icons/ios/114.png
new file mode 100644
index 000000000..4ea7cfa9a
Binary files /dev/null and b/src/ios/icons/ios/114.png differ
diff --git a/src/ios/icons/ios/128.png b/src/ios/icons/ios/128.png
new file mode 100644
index 000000000..d3de53dc4
Binary files /dev/null and b/src/ios/icons/ios/128.png differ
diff --git a/src/ios/icons/ios/16.png b/src/ios/icons/ios/16.png
new file mode 100644
index 000000000..3a5398bfd
Binary files /dev/null and b/src/ios/icons/ios/16.png differ
diff --git a/src/ios/icons/ios/172.png b/src/ios/icons/ios/172.png
new file mode 100644
index 000000000..ca032d348
Binary files /dev/null and b/src/ios/icons/ios/172.png differ
diff --git a/src/ios/icons/ios/180.png b/src/ios/icons/ios/180.png
new file mode 100644
index 000000000..ef126a780
Binary files /dev/null and b/src/ios/icons/ios/180.png differ
diff --git a/src/ios/icons/ios/196.png b/src/ios/icons/ios/196.png
new file mode 100644
index 000000000..3ec164129
Binary files /dev/null and b/src/ios/icons/ios/196.png differ
diff --git a/src/ios/icons/ios/216.png b/src/ios/icons/ios/216.png
new file mode 100644
index 000000000..9389d93ca
Binary files /dev/null and b/src/ios/icons/ios/216.png differ
diff --git a/src/ios/icons/ios/256.png b/src/ios/icons/ios/256.png
new file mode 100644
index 000000000..ead37cea3
Binary files /dev/null and b/src/ios/icons/ios/256.png differ
diff --git a/src/ios/icons/ios/32.png b/src/ios/icons/ios/32.png
new file mode 100644
index 000000000..9f73ddf5b
Binary files /dev/null and b/src/ios/icons/ios/32.png differ
diff --git a/src/ios/icons/ios/48.png b/src/ios/icons/ios/48.png
new file mode 100644
index 000000000..d83847bdc
Binary files /dev/null and b/src/ios/icons/ios/48.png differ
diff --git a/src/ios/icons/ios/50.png b/src/ios/icons/ios/50.png
new file mode 100644
index 000000000..16e8f03e8
Binary files /dev/null and b/src/ios/icons/ios/50.png differ
diff --git a/src/ios/icons/ios/512.png b/src/ios/icons/ios/512.png
new file mode 100644
index 000000000..4b1d7e5e2
Binary files /dev/null and b/src/ios/icons/ios/512.png differ
diff --git a/src/ios/icons/ios/55.png b/src/ios/icons/ios/55.png
new file mode 100644
index 000000000..168bc2ff4
Binary files /dev/null and b/src/ios/icons/ios/55.png differ
diff --git a/src/ios/icons/ios/64.png b/src/ios/icons/ios/64.png
new file mode 100644
index 000000000..2f12d2098
Binary files /dev/null and b/src/ios/icons/ios/64.png differ
diff --git a/src/ios/icons/ios/88.png b/src/ios/icons/ios/88.png
new file mode 100644
index 000000000..5a7a2156b
Binary files /dev/null and b/src/ios/icons/ios/88.png differ
diff --git a/src/ios/icons/ios/icon-120.png b/src/ios/icons/ios/icon-120.png
new file mode 100644
index 000000000..722574429
Binary files /dev/null and b/src/ios/icons/ios/icon-120.png differ
diff --git a/src/ios/icons/ios/icon-144.png b/src/ios/icons/ios/icon-144.png
new file mode 100644
index 000000000..cf75b46a1
Binary files /dev/null and b/src/ios/icons/ios/icon-144.png differ
diff --git a/src/ios/icons/ios/icon-152.png b/src/ios/icons/ios/icon-152.png
new file mode 100644
index 000000000..70ff34a69
Binary files /dev/null and b/src/ios/icons/ios/icon-152.png differ
diff --git a/src/ios/icons/ios/icon-167.png b/src/ios/icons/ios/icon-167.png
new file mode 100644
index 000000000..a1d86334e
Binary files /dev/null and b/src/ios/icons/ios/icon-167.png differ
diff --git a/src/ios/icons/ios/icon-72.png b/src/ios/icons/ios/icon-72.png
new file mode 100644
index 000000000..934f133b8
Binary files /dev/null and b/src/ios/icons/ios/icon-72.png differ
diff --git a/src/ios/icons/ios/icon-76.png b/src/ios/icons/ios/icon-76.png
new file mode 100644
index 000000000..a4a2c9fc7
Binary files /dev/null and b/src/ios/icons/ios/icon-76.png differ
diff --git a/src/ios/icons/ios/icon-notification.png b/src/ios/icons/ios/icon-notification.png
new file mode 100644
index 000000000..ccc719fc4
Binary files /dev/null and b/src/ios/icons/ios/icon-notification.png differ
diff --git a/src/ios/icons/ios/icon-notification@2x.png b/src/ios/icons/ios/icon-notification@2x.png
new file mode 100644
index 000000000..665b26d98
Binary files /dev/null and b/src/ios/icons/ios/icon-notification@2x.png differ
diff --git a/src/ios/icons/ios/icon-notification@3x.png b/src/ios/icons/ios/icon-notification@3x.png
new file mode 100644
index 000000000..5c7a93cba
Binary files /dev/null and b/src/ios/icons/ios/icon-notification@3x.png differ
diff --git a/src/ios/icons/ios/icon-small-120.png b/src/ios/icons/ios/icon-small-120.png
new file mode 100644
index 000000000..722574429
Binary files /dev/null and b/src/ios/icons/ios/icon-small-120.png differ
diff --git a/src/ios/icons/ios/icon-small-40.png b/src/ios/icons/ios/icon-small-40.png
new file mode 100644
index 000000000..665b26d98
Binary files /dev/null and b/src/ios/icons/ios/icon-small-40.png differ
diff --git a/src/ios/icons/ios/icon-small-80.png b/src/ios/icons/ios/icon-small-80.png
new file mode 100644
index 000000000..37e13351a
Binary files /dev/null and b/src/ios/icons/ios/icon-small-80.png differ
diff --git a/src/ios/icons/ios/icon-small.png b/src/ios/icons/ios/icon-small.png
new file mode 100644
index 000000000..ff9493b37
Binary files /dev/null and b/src/ios/icons/ios/icon-small.png differ
diff --git a/src/ios/icons/ios/icon-small@2x.png b/src/ios/icons/ios/icon-small@2x.png
new file mode 100644
index 000000000..ff7fca16c
Binary files /dev/null and b/src/ios/icons/ios/icon-small@2x.png differ
diff --git a/src/ios/icons/ios/icon-small@3x.png b/src/ios/icons/ios/icon-small@3x.png
new file mode 100644
index 000000000..280b9204b
Binary files /dev/null and b/src/ios/icons/ios/icon-small@3x.png differ
diff --git a/src/ios/icons/ios/icon-store.png b/src/ios/icons/ios/icon-store.png
new file mode 100644
index 000000000..0484a9c2b
Binary files /dev/null and b/src/ios/icons/ios/icon-store.png differ
diff --git a/src/ios/icons/ios/icon.png b/src/ios/icons/ios/icon.png
new file mode 100644
index 000000000..d7bd2f9a9
Binary files /dev/null and b/src/ios/icons/ios/icon.png differ
diff --git a/src/ios/icons/ios/icon@2x.png b/src/ios/icons/ios/icon@2x.png
new file mode 100644
index 000000000..4ea7cfa9a
Binary files /dev/null and b/src/ios/icons/ios/icon@2x.png differ
diff --git a/src/ios/icons/uploaded.png b/src/ios/icons/uploaded.png
new file mode 100644
index 000000000..6a969f8c9
Binary files /dev/null and b/src/ios/icons/uploaded.png differ
diff --git a/tools/ios-distribute b/tools/ios-distribute
new file mode 100644
index 000000000..5112b0b92
--- /dev/null
+++ b/tools/ios-distribute
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash -e
+rm -rfv out/tildefriends-iosrelease.app out/Payload out/tildefriends.ipa
+make iosrelease-app
+cp src/ios/tildefriends.png out/tildefriends-iosrelease.app/tildefriends.png
+cp src/ios/icons/Assets.car out/tildefriends-iosrelease.app/
+cp src/ios/icons/ios/icon-72.png out/tildefriends-iosrelease.app/
+cp src/ios/icons/ios/icon-120.png out/tildefriends-iosrelease.app/
+cp src/ios/icons/ios/icon-152.png out/tildefriends-iosrelease.app/
+cp src/ios/distribution.mobileprovision out/tildefriends-iosrelease.app/embedded.mobileprovision
+xcrun -sdk iphoneos codesign -f -s 'Apple Distribution: Cory McWilliams' --entitlements src/ios/Entitlements.plist --generate-entitlement-der out/tildefriends-iosrelease.app
+mkdir -p out/Payload/tildefriends.app
+cp -avR out/tildefriends-iosrelease.app/* 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)