react-native-candle 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -89,6 +89,7 @@ const withIosDeploymentTarget = async (config) => {
|
|
|
89
89
|
// with these versions of Xcode.
|
|
90
90
|
// I think it's because of the duplicate symbol issue.
|
|
91
91
|
const withMyCustomBuildPhase = async (config) => {
|
|
92
|
+
// Duplicate symbols issue
|
|
92
93
|
const xcodeProject = config.modResults;
|
|
93
94
|
const shellScript = `if { [ "$XCODE_VERSION_MAJOR" = "1500" ] || [ "$XCODE_VERSION_MAJOR" = "1600" ]; } && [ "$CONFIGURATION" = "Release" ]; then
|
|
94
95
|
echo "Remove signature files (Xcode 15/16 workaround, only in Release)"
|
|
@@ -107,6 +108,113 @@ fi`;
|
|
|
107
108
|
}
|
|
108
109
|
);
|
|
109
110
|
|
|
111
|
+
// reference the "props"
|
|
112
|
+
const { version, repositoryUrl, repoName, productName } = {
|
|
113
|
+
repositoryUrl: "https://github.com/candlefinance/candle-swift.git",
|
|
114
|
+
repoName: "candle-swift",
|
|
115
|
+
productName: "Candle",
|
|
116
|
+
version: "fa0db96e9a73740bbd4977160894a45c6db96f51",
|
|
117
|
+
};
|
|
118
|
+
// get XCRemoteSwiftPackageReference section
|
|
119
|
+
const spmReferences =
|
|
120
|
+
xcodeProject.hash.project.objects["XCRemoteSwiftPackageReference"];
|
|
121
|
+
// if doesn't exist (this is our first SPM package) create empty object
|
|
122
|
+
if (!spmReferences) {
|
|
123
|
+
xcodeProject.hash.project.objects["XCRemoteSwiftPackageReference"] = {};
|
|
124
|
+
}
|
|
125
|
+
// generate new ID
|
|
126
|
+
const packageReferenceUUID = xcodeProject.generateUuid();
|
|
127
|
+
// add XCRemoteSwiftPackageReference section
|
|
128
|
+
xcodeProject.hash.project.objects["XCRemoteSwiftPackageReference"][
|
|
129
|
+
`${packageReferenceUUID} /* XCRemoteSwiftPackageReference "${repoName}" */`
|
|
130
|
+
] = {
|
|
131
|
+
isa: "XCRemoteSwiftPackageReference",
|
|
132
|
+
repositoryURL: repositoryUrl,
|
|
133
|
+
requirement: {
|
|
134
|
+
kind: "revision",
|
|
135
|
+
revision: version,
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
// get XCSwiftPackageProductDependency section
|
|
140
|
+
const spmProducts =
|
|
141
|
+
xcodeProject.hash.project.objects["XCSwiftPackageProductDependency"];
|
|
142
|
+
// if doesn't exist (this is our first SPM package) create empty object
|
|
143
|
+
if (!spmProducts) {
|
|
144
|
+
xcodeProject.hash.project.objects["XCSwiftPackageProductDependency"] = {};
|
|
145
|
+
}
|
|
146
|
+
// generate new ID
|
|
147
|
+
const packageUUID = xcodeProject.generateUuid();
|
|
148
|
+
// add XCSwiftPackageProductDependency section
|
|
149
|
+
xcodeProject.hash.project.objects["XCSwiftPackageProductDependency"][
|
|
150
|
+
`${packageUUID} /* ${productName} */`
|
|
151
|
+
] = {
|
|
152
|
+
isa: "XCSwiftPackageProductDependency",
|
|
153
|
+
// from step before
|
|
154
|
+
package: `${packageReferenceUUID} /* XCRemoteSwiftPackageReference "${repoName}" */`,
|
|
155
|
+
productName: productName,
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
// get main project ID
|
|
159
|
+
const projectId = Object.keys(
|
|
160
|
+
xcodeProject.hash.project.objects["PBXProject"]
|
|
161
|
+
).at(0);
|
|
162
|
+
// create empty array for package references if it doesn't exist
|
|
163
|
+
if (
|
|
164
|
+
!xcodeProject.hash.project.objects["PBXProject"][projectId][
|
|
165
|
+
"packageReferences"
|
|
166
|
+
]
|
|
167
|
+
) {
|
|
168
|
+
xcodeProject.hash.project.objects["PBXProject"][projectId][
|
|
169
|
+
"packageReferences"
|
|
170
|
+
] = [];
|
|
171
|
+
}
|
|
172
|
+
// add our package reference (use ID from first step)
|
|
173
|
+
xcodeProject.hash.project.objects["PBXProject"][projectId][
|
|
174
|
+
"packageReferences"
|
|
175
|
+
] = [
|
|
176
|
+
...xcodeProject.hash.project.objects["PBXProject"][projectId][
|
|
177
|
+
"packageReferences"
|
|
178
|
+
],
|
|
179
|
+
`${packageReferenceUUID} /* XCRemoteSwiftPackageReference "${repoName}" */`,
|
|
180
|
+
];
|
|
181
|
+
|
|
182
|
+
// generate new ID
|
|
183
|
+
const frameworkUUID = xcodeProject.generateUuid();
|
|
184
|
+
// add comment and reference to our framework in PBXBuildFile section
|
|
185
|
+
xcodeProject.hash.project.objects["PBXBuildFile"][
|
|
186
|
+
`${frameworkUUID}_comment`
|
|
187
|
+
] = `${productName} in Frameworks`;
|
|
188
|
+
xcodeProject.hash.project.objects["PBXBuildFile"][frameworkUUID] = {
|
|
189
|
+
isa: "PBXBuildFile",
|
|
190
|
+
productRef: packageUUID,
|
|
191
|
+
productRef_comment: productName,
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
// get first build phase
|
|
195
|
+
const buildPhaseId = Object.keys(
|
|
196
|
+
xcodeProject.hash.project.objects["PBXFrameworksBuildPhase"]
|
|
197
|
+
).at(0);
|
|
198
|
+
// create empty array for files if it doesn't exist
|
|
199
|
+
if (
|
|
200
|
+
!xcodeProject.hash.project.objects["PBXFrameworksBuildPhase"][buildPhaseId][
|
|
201
|
+
"files"
|
|
202
|
+
]
|
|
203
|
+
) {
|
|
204
|
+
xcodeProject.hash.project.objects["PBXFrameworksBuildPhase"][buildPhaseId][
|
|
205
|
+
"files"
|
|
206
|
+
] = [];
|
|
207
|
+
}
|
|
208
|
+
// add our framework reference (use ID from step 4)
|
|
209
|
+
xcodeProject.hash.project.objects["PBXFrameworksBuildPhase"][buildPhaseId][
|
|
210
|
+
"files"
|
|
211
|
+
] = [
|
|
212
|
+
...xcodeProject.hash.project.objects["PBXFrameworksBuildPhase"][
|
|
213
|
+
buildPhaseId
|
|
214
|
+
]["files"],
|
|
215
|
+
`${frameworkUUID} /* ${productName} in Frameworks */`,
|
|
216
|
+
];
|
|
217
|
+
|
|
110
218
|
return config;
|
|
111
219
|
};
|
|
112
220
|
|