5757
5858USE_EXTENSION=0
5959if [ " $UNAME " = " Darwin" ]; then
60- print_status " Include Safari extension ? (y/n):"
61- read -t 3 SAFARI_INPUT
60+ print_status " Include extensions ? (y/n):"
61+ read -t 3 EXTENSIONS_INPUT
6262 if [ $? -gt 128 ]; then
6363 echo " y"
6464 USE_EXTENSION=1
65- print_status " Including Safari extension ... (default)"
66- elif [[ $SAFARI_INPUT =~ ^[Nn]$ ]]; then
65+ print_status " Including extensions ... (default)"
66+ elif [[ $EXTENSIONS_INPUT =~ ^[Nn]$ ]]; then
6767 USE_EXTENSION=0
68- print_status " Skipping Safari extension ..."
68+ print_status " Skipping extensions ..."
6969 else
7070 USE_EXTENSION=1
71- print_status " Including Safari extension ..."
71+ print_status " Including extensions ..."
7272 fi
7373fi
7474
@@ -147,8 +147,9 @@ if [ $? -ne 0 ]; then
147147fi
148148print_success " Patched ipa"
149149
150- SAFARI_EXT =" "
150+ EXTENSIONS =" "
151151if [ " $USE_EXTENSION " = " 1" ] && [ " $UNAME " = " Darwin" ]; then
152+ # OpenInDiscord Extension
152153 SAFARI_EXT=" extensions/OpenInDiscord/build/OpenInDiscord.appex"
153154
154155 if [ ! -f " $SAFARI_EXT " ]; then
@@ -168,7 +169,7 @@ if [ "$USE_EXTENSION" = "1" ] && [ "$UNAME" = "Darwin" ]; then
168169 CODE_SIGN_IDENTITY=" " \
169170 CODE_SIGNING_REQUIRED=NO \
170171 CODE_SIGNING_ALLOWED=NO \
171- ONLY_ACTIVE_ARCH=NO
172+ ONLY_ACTIVE_ARCH=NO | xcbeautify
172173 cd ../..
173174
174175 if [ $? -ne 0 ]; then
@@ -179,6 +180,53 @@ if [ "$USE_EXTENSION" = "1" ] && [ "$UNAME" = "Darwin" ]; then
179180 else
180181 print_status " Using existing Safari extension..."
181182 fi
183+
184+ EXTENSIONS=" $SAFARI_EXT "
185+
186+ # ShareToDiscord Extension
187+ SHARE_EXT=" extensions/ShareToDiscord/build/Share.appex"
188+
189+ # Update the Info.plist to change URLScheme from 'discord' to 'unbound'
190+ print_status " Updating ShareToDiscord Info.plist..."
191+ INFO_PLIST_PATH=" extensions/ShareToDiscord/Share/Info.plist"
192+ if [ -f " $INFO_PLIST_PATH " ]; then
193+ /usr/libexec/PlistBuddy -c " Set :URLScheme unbound" " $INFO_PLIST_PATH " 2> /dev/null || \
194+ /usr/libexec/PlistBuddy -c " Add :URLScheme string unbound" " $INFO_PLIST_PATH "
195+ print_success " Updated ShareToDiscord Info.plist"
196+ else
197+ print_error " ShareToDiscord Info.plist not found at $INFO_PLIST_PATH "
198+ fi
199+
200+ if [ ! -f " $SHARE_EXT " ]; then
201+ print_status " Building Share extension..."
202+ mkdir -p extensions/ShareToDiscord/build
203+ cd extensions/ShareToDiscord
204+ xcodebuild build \
205+ -target " Share" \
206+ -configuration Release \
207+ -sdk iphoneos \
208+ CONFIGURATION_BUILD_DIR=" build" \
209+ PRODUCT_NAME=" Share" \
210+ PRODUCT_BUNDLE_IDENTIFIER=" com.hammerandchisel.discord.Share" \
211+ PRODUCT_MODULE_NAME=" Share" \
212+ SKIP_INSTALL=NO \
213+ DEVELOPMENT_TEAM=" " \
214+ CODE_SIGN_IDENTITY=" " \
215+ CODE_SIGNING_REQUIRED=NO \
216+ CODE_SIGNING_ALLOWED=NO \
217+ ONLY_ACTIVE_ARCH=NO | xcbeautify
218+ cd ../..
219+
220+ if [ $? -ne 0 ]; then
221+ print_error " Failed to build Share extension"
222+ exit 1
223+ fi
224+ print_success " Built Share extension"
225+ else
226+ print_status " Using existing Share extension..."
227+ fi
228+
229+ EXTENSIONS=" $EXTENSIONS $SHARE_EXT "
182230fi
183231
184232if [ ! -d " venv" ] || [ ! -f " venv/bin/cyan" ]; then
201249DEB_FILE=$( find packages -maxdepth 1 -name " *.deb" -print -quit)
202250
203251print_status " Injecting tweak..."
204- if [ " $USE_EXTENSION " = " 1" ] && [ -n " $SAFARI_EXT " ]; then
205- cyan -duwsgq -i " $TEMP_PATCHED_IPA " -o " $OUTPUT_IPA " -f " $DEB_FILE " " $SAFARI_EXT "
252+ if [ " $USE_EXTENSION " = " 1" ] && [ -n " $EXTENSIONS " ]; then
253+ cyan -duwsgq -i " $TEMP_PATCHED_IPA " -o " $OUTPUT_IPA " -f " $DEB_FILE " $EXTENSIONS
206254else
207255 cyan -duwsgq -i " $TEMP_PATCHED_IPA " -o " $OUTPUT_IPA " -f " $DEB_FILE "
208256fi
0 commit comments