Skip to content

Commit 6157245

Browse files
committed
New build script for creating XCFrameworks for all modules
This currently creates an XCFramework for OneSignalCore, OneSignalOutcomes, OneSignalExtension, and OneSignal
1 parent 7d4d903 commit 6157245

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
#!/bin/bash
2+
set -e
3+
4+
WORKING_DIR=$(pwd)
5+
6+
## BUILD ONESIGNAL CORE ##
7+
FRAMEWORK_FOLDER_NAME="OneSignal_Core"
8+
9+
FRAMEWORK_NAME="OneSignalCore"
10+
11+
FRAMEWORK_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/${FRAMEWORK_NAME}.xcframework"
12+
13+
BUILD_SCHEME="OneSignalCore"
14+
15+
SIMULATOR_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/simulator.xcarchive"
16+
17+
IOS_DEVICE_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/iOS.xcarchive"
18+
19+
CATALYST_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/catalyst.xcarchive"
20+
21+
rm -rf "${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}"
22+
echo "Deleted ${FRAMEWORK_FOLDER_NAME}"
23+
mkdir "${FRAMEWORK_FOLDER_NAME}"
24+
echo "Created ${FRAMEWORK_FOLDER_NAME}"
25+
echo "Archiving ${FRAMEWORK_NAME}"
26+
27+
xcodebuild archive ONLY_ACTIVE_ARCH=NO -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS Simulator" -archivePath "${SIMULATOR_ARCHIVE_PATH}" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
28+
29+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS" -archivePath "${IOS_DEVICE_ARCHIVE_PATH}" -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
30+
31+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination='generic/platform=macOS,variant=Mac Catalyst' -archivePath "${CATALYST_ARCHIVE_PATH}" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
32+
33+
xcodebuild -create-xcframework -framework ${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${IOS_DEVICE_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${CATALYST_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -output "${FRAMEWORK_PATH}"
34+
35+
rm -rf "${SIMULATOR_ARCHIVE_PATH}"
36+
rm -rf "${IOS_DEVICE_ARCHIVE_PATH}"
37+
rm -rf "${CATALYST_ARCHIVE_PATH}"
38+
39+
## BUILD ONESIGNAL OUTCOMES ##
40+
FRAMEWORK_FOLDER_NAME="OneSignal_Outcomes"
41+
42+
FRAMEWORK_NAME="OneSignalOutcomes"
43+
44+
FRAMEWORK_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/${FRAMEWORK_NAME}.xcframework"
45+
46+
BUILD_SCHEME="OneSignalOutcomes"
47+
48+
SIMULATOR_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/simulator.xcarchive"
49+
50+
IOS_DEVICE_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/iOS.xcarchive"
51+
52+
CATALYST_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/catalyst.xcarchive"
53+
54+
rm -rf "${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}"
55+
echo "Deleted ${FRAMEWORK_FOLDER_NAME}"
56+
mkdir "${FRAMEWORK_FOLDER_NAME}"
57+
echo "Created ${FRAMEWORK_FOLDER_NAME}"
58+
echo "Archiving ${FRAMEWORK_NAME}"
59+
60+
xcodebuild archive ONLY_ACTIVE_ARCH=NO -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS Simulator" -archivePath "${SIMULATOR_ARCHIVE_PATH}" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
61+
62+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS" -archivePath "${IOS_DEVICE_ARCHIVE_PATH}" -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
63+
64+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination='generic/platform=macOS,variant=Mac Catalyst' -archivePath "${CATALYST_ARCHIVE_PATH}" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
65+
66+
xcodebuild -create-xcframework -framework ${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${IOS_DEVICE_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${CATALYST_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -output "${FRAMEWORK_PATH}"
67+
68+
rm -rf "${SIMULATOR_ARCHIVE_PATH}"
69+
rm -rf "${IOS_DEVICE_ARCHIVE_PATH}"
70+
rm -rf "${CATALYST_ARCHIVE_PATH}"
71+
72+
## BUILD ONESIGNAL EXTENSION ##
73+
FRAMEWORK_FOLDER_NAME="OneSignal_Extension"
74+
75+
FRAMEWORK_NAME="OneSignalExtension"
76+
77+
FRAMEWORK_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/${FRAMEWORK_NAME}.xcframework"
78+
79+
BUILD_SCHEME="OneSignalExtension"
80+
81+
SIMULATOR_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/simulator.xcarchive"
82+
83+
IOS_DEVICE_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/iOS.xcarchive"
84+
85+
CATALYST_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/catalyst.xcarchive"
86+
87+
rm -rf "${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}"
88+
echo "Deleted ${FRAMEWORK_FOLDER_NAME}"
89+
mkdir "${FRAMEWORK_FOLDER_NAME}"
90+
echo "Created ${FRAMEWORK_FOLDER_NAME}"
91+
echo "Archiving ${FRAMEWORK_NAME}"
92+
93+
xcodebuild archive ONLY_ACTIVE_ARCH=NO -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS Simulator" -archivePath "${SIMULATOR_ARCHIVE_PATH}" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
94+
95+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS" -archivePath "${IOS_DEVICE_ARCHIVE_PATH}" -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
96+
97+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination='generic/platform=macOS,variant=Mac Catalyst' -archivePath "${CATALYST_ARCHIVE_PATH}" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
98+
99+
xcodebuild -create-xcframework -framework ${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${IOS_DEVICE_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${CATALYST_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -output "${FRAMEWORK_PATH}"
100+
101+
rm -rf "${SIMULATOR_ARCHIVE_PATH}"
102+
rm -rf "${IOS_DEVICE_ARCHIVE_PATH}"
103+
rm -rf "${CATALYST_ARCHIVE_PATH}"
104+
105+
## BUILD ONESIGNAL ##
106+
107+
FRAMEWORK_FOLDER_NAME="OneSignal_XCFramework"
108+
109+
FRAMEWORK_NAME="OneSignal"
110+
111+
FRAMEWORK_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/${FRAMEWORK_NAME}.xcframework"
112+
113+
BUILD_SCHEME="OneSignalFramework"
114+
115+
SIMULATOR_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/simulator.xcarchive"
116+
117+
IOS_DEVICE_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/iOS.xcarchive"
118+
119+
CATALYST_ARCHIVE_PATH="${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}/catalyst.xcarchive"
120+
121+
rm -rf "${WORKING_DIR}/${FRAMEWORK_FOLDER_NAME}"
122+
echo "Deleted ${FRAMEWORK_FOLDER_NAME}"
123+
mkdir "${FRAMEWORK_FOLDER_NAME}"
124+
echo "Created ${FRAMEWORK_FOLDER_NAME}"
125+
echo "Archiving ${FRAMEWORK_NAME}"
126+
127+
xcodebuild archive ONLY_ACTIVE_ARCH=NO -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS Simulator" -archivePath "${SIMULATOR_ARCHIVE_PATH}" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
128+
129+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination="generic/platform=iOS" -archivePath "${IOS_DEVICE_ARCHIVE_PATH}" -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
130+
131+
xcodebuild archive -scheme ${BUILD_SCHEME} -destination='generic/platform=macOS,variant=Mac Catalyst' -archivePath "${CATALYST_ARCHIVE_PATH}" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
132+
133+
xcodebuild -create-xcframework -framework ${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${IOS_DEVICE_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -framework ${CATALYST_ARCHIVE_PATH}/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework -output "${FRAMEWORK_PATH}"
134+
135+
rm -rf "${SIMULATOR_ARCHIVE_PATH}"
136+
rm -rf "${IOS_DEVICE_ARCHIVE_PATH}"
137+
rm -rf "${CATALYST_ARCHIVE_PATH}"
138+
open "${WORKING_DIR}"

0 commit comments

Comments
 (0)