mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
fix(ios): crash at swift runtime error (#13635)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Fetch copilot model options per prompt (default, optional, pro) with generated GraphQL query and schema types. * **Chores** * Upgraded iOS deps: Apollo iOS 1.23.0, EventSource 0.1.5, Swift Collections 1.2.1. * Switched Intelligents to static linking and updated project integration. * Parameterized and standardized GraphQL codegen tooling; setup automation now syncs versions and safely backs up/restores custom scalars. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -8,15 +8,14 @@
|
|||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
2E0DD47B57B994A104B25EED /* Pods_AFFiNE.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF48636D7DB5BEE00770FD9A /* Pods_AFFiNE.framework */; };
|
2E0DD47B57B994A104B25EED /* Pods_AFFiNE.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF48636D7DB5BEE00770FD9A /* Pods_AFFiNE.framework */; };
|
||||||
|
500D72F72E825064006E553F /* Intelligents in Frameworks */ = {isa = PBXBuildFile; productRef = 500D72F62E825064006E553F /* Intelligents */; };
|
||||||
5027D4782E7C5FBD00ADD25A /* AffinePaywall in Frameworks */ = {isa = PBXBuildFile; productRef = 5027D4772E7C5FBD00ADD25A /* AffinePaywall */; };
|
5027D4782E7C5FBD00ADD25A /* AffinePaywall in Frameworks */ = {isa = PBXBuildFile; productRef = 5027D4772E7C5FBD00ADD25A /* AffinePaywall */; };
|
||||||
5027D47A2E7C5FC100ADD25A /* AffineResources in Frameworks */ = {isa = PBXBuildFile; productRef = 5027D4792E7C5FC100ADD25A /* AffineResources */; };
|
5027D47A2E7C5FC100ADD25A /* AffineResources in Frameworks */ = {isa = PBXBuildFile; productRef = 5027D4792E7C5FC100ADD25A /* AffineResources */; };
|
||||||
5027D47C2E7C5FC400ADD25A /* AffineGraphQL in Frameworks */ = {isa = PBXBuildFile; productRef = 5027D47B2E7C5FC400ADD25A /* AffineGraphQL */; };
|
5027D47C2E7C5FC400ADD25A /* AffineGraphQL in Frameworks */ = {isa = PBXBuildFile; productRef = 5027D47B2E7C5FC400ADD25A /* AffineGraphQL */; };
|
||||||
5027D4802E7C611900ADD25A /* Tools.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5027D47F2E7C611900ADD25A /* Tools.swift */; };
|
5027D4802E7C611900ADD25A /* Tools.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5027D47F2E7C611900ADD25A /* Tools.swift */; };
|
||||||
5075136A2D1924C600AD60C0 /* RootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507513692D1924C600AD60C0 /* RootViewController.swift */; };
|
5075136A2D1924C600AD60C0 /* RootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507513692D1924C600AD60C0 /* RootViewController.swift */; };
|
||||||
50802D612D112F8700694021 /* Intelligents in Frameworks */ = {isa = PBXBuildFile; productRef = 50802D602D112F8700694021 /* Intelligents */; settings = {ATTRIBUTES = (Required, ); }; };
|
|
||||||
50A285D72D112A5E000D5A6D /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 50A285D62D112A5E000D5A6D /* Localizable.xcstrings */; };
|
50A285D72D112A5E000D5A6D /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 50A285D62D112A5E000D5A6D /* Localizable.xcstrings */; };
|
||||||
50A285D82D112A5E000D5A6D /* InfoPlist.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 50A285D52D112A5E000D5A6D /* InfoPlist.xcstrings */; };
|
50A285D82D112A5E000D5A6D /* InfoPlist.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 50A285D52D112A5E000D5A6D /* InfoPlist.xcstrings */; };
|
||||||
50E218302E0BE1A700EA4C6E /* Intelligents in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 50802D602D112F8700694021 /* Intelligents */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
|
||||||
50FF428A2D2E757E0050AA83 /* ApplicationBridgedWindowScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50FF42892D2E757E0050AA83 /* ApplicationBridgedWindowScript.swift */; };
|
50FF428A2D2E757E0050AA83 /* ApplicationBridgedWindowScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50FF42892D2E757E0050AA83 /* ApplicationBridgedWindowScript.swift */; };
|
||||||
50FF428C2D2E77CC0050AA83 /* AffineViewController+AIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50FF428B2D2E77CC0050AA83 /* AffineViewController+AIButton.swift */; };
|
50FF428C2D2E77CC0050AA83 /* AffineViewController+AIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50FF428B2D2E77CC0050AA83 /* AffineViewController+AIButton.swift */; };
|
||||||
9D52FC432D26CDBF00105D0A /* JSValueContainerExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D52FC422D26CDB600105D0A /* JSValueContainerExt.swift */; };
|
9D52FC432D26CDBF00105D0A /* JSValueContainerExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D52FC422D26CDB600105D0A /* JSValueContainerExt.swift */; };
|
||||||
@@ -42,7 +41,6 @@
|
|||||||
dstPath = "";
|
dstPath = "";
|
||||||
dstSubfolderSpec = 10;
|
dstSubfolderSpec = 10;
|
||||||
files = (
|
files = (
|
||||||
50E218302E0BE1A700EA4C6E /* Intelligents in Embed Frameworks */,
|
|
||||||
);
|
);
|
||||||
name = "Embed Frameworks";
|
name = "Embed Frameworks";
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@@ -101,7 +99,7 @@
|
|||||||
5027D4782E7C5FBD00ADD25A /* AffinePaywall in Frameworks */,
|
5027D4782E7C5FBD00ADD25A /* AffinePaywall in Frameworks */,
|
||||||
9DFCD1462D27D1D70028C92B /* libaffine_mobile_native.a in Frameworks */,
|
9DFCD1462D27D1D70028C92B /* libaffine_mobile_native.a in Frameworks */,
|
||||||
5027D47C2E7C5FC400ADD25A /* AffineGraphQL in Frameworks */,
|
5027D47C2E7C5FC400ADD25A /* AffineGraphQL in Frameworks */,
|
||||||
50802D612D112F8700694021 /* Intelligents in Frameworks */,
|
500D72F72E825064006E553F /* Intelligents in Frameworks */,
|
||||||
2E0DD47B57B994A104B25EED /* Pods_AFFiNE.framework in Frameworks */,
|
2E0DD47B57B994A104B25EED /* Pods_AFFiNE.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@@ -581,6 +579,10 @@
|
|||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
|
500D72F62E825064006E553F /* Intelligents */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
productName = Intelligents;
|
||||||
|
};
|
||||||
5027D4772E7C5FBD00ADD25A /* AffinePaywall */ = {
|
5027D4772E7C5FBD00ADD25A /* AffinePaywall */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
productName = AffinePaywall;
|
productName = AffinePaywall;
|
||||||
@@ -593,10 +595,6 @@
|
|||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
productName = AffineGraphQL;
|
productName = AffineGraphQL;
|
||||||
};
|
};
|
||||||
50802D602D112F8700694021 /* Intelligents */ = {
|
|
||||||
isa = XCSwiftPackageProductDependency;
|
|
||||||
productName = Intelligents;
|
|
||||||
};
|
|
||||||
/* End XCSwiftPackageProductDependency section */
|
/* End XCSwiftPackageProductDependency section */
|
||||||
};
|
};
|
||||||
rootObject = 504EC2FC1FED79650016851F /* Project object */;
|
rootObject = 504EC2FC1FED79650016851F /* Project object */;
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/apollographql/apollo-ios",
|
"location" : "https://github.com/apollographql/apollo-ios",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "39fea7617346c0731be25f61afd537e7032fb562",
|
"revision" : "d591c1dd55824867877cff4f6551fe32983d7f51",
|
||||||
"version" : "1.22.0"
|
"version" : "1.23.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/Recouse/EventSource",
|
"location" : "https://github.com/Recouse/EventSource",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "d783b1cf60599dbcec6396c55a6bab33a1c92dc3",
|
"revision" : "7b2f4f585d3927876bd76eaede9fdff779eff102",
|
||||||
"version" : "0.1.4"
|
"version" : "0.1.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -86,8 +86,8 @@
|
|||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/apple/swift-collections",
|
"location" : "https://github.com/apple/swift-collections",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "c1805596154bb3a265fd91b8ac0c4433b4348fb0",
|
"revision" : "8c0c0a8b49e080e54e5e328cc552821ff07cd341",
|
||||||
"version" : "1.2.0"
|
"version" : "1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,122 @@
|
|||||||
|
// @generated
|
||||||
|
// This file was automatically generated and should not be edited.
|
||||||
|
|
||||||
|
@_exported import ApolloAPI
|
||||||
|
|
||||||
|
public class GetPromptModelsQuery: GraphQLQuery {
|
||||||
|
public static let operationName: String = "getPromptModels"
|
||||||
|
public static let operationDocument: ApolloAPI.OperationDocument = .init(
|
||||||
|
definition: .init(
|
||||||
|
#"query getPromptModels($promptName: String!) { currentUser { __typename copilot { __typename models(promptName: $promptName) { __typename defaultModel optionalModels { __typename id name } proModels { __typename id name } } } } }"#
|
||||||
|
))
|
||||||
|
|
||||||
|
public var promptName: String
|
||||||
|
|
||||||
|
public init(promptName: String) {
|
||||||
|
self.promptName = promptName
|
||||||
|
}
|
||||||
|
|
||||||
|
public var __variables: Variables? { ["promptName": promptName] }
|
||||||
|
|
||||||
|
public struct Data: AffineGraphQL.SelectionSet {
|
||||||
|
public let __data: DataDict
|
||||||
|
public init(_dataDict: DataDict) { __data = _dataDict }
|
||||||
|
|
||||||
|
public static var __parentType: any ApolloAPI.ParentType { AffineGraphQL.Objects.Query }
|
||||||
|
public static var __selections: [ApolloAPI.Selection] { [
|
||||||
|
.field("currentUser", CurrentUser?.self),
|
||||||
|
] }
|
||||||
|
|
||||||
|
/// Get current user
|
||||||
|
public var currentUser: CurrentUser? { __data["currentUser"] }
|
||||||
|
|
||||||
|
/// CurrentUser
|
||||||
|
///
|
||||||
|
/// Parent Type: `UserType`
|
||||||
|
public struct CurrentUser: AffineGraphQL.SelectionSet {
|
||||||
|
public let __data: DataDict
|
||||||
|
public init(_dataDict: DataDict) { __data = _dataDict }
|
||||||
|
|
||||||
|
public static var __parentType: any ApolloAPI.ParentType { AffineGraphQL.Objects.UserType }
|
||||||
|
public static var __selections: [ApolloAPI.Selection] { [
|
||||||
|
.field("__typename", String.self),
|
||||||
|
.field("copilot", Copilot.self),
|
||||||
|
] }
|
||||||
|
|
||||||
|
public var copilot: Copilot { __data["copilot"] }
|
||||||
|
|
||||||
|
/// CurrentUser.Copilot
|
||||||
|
///
|
||||||
|
/// Parent Type: `Copilot`
|
||||||
|
public struct Copilot: AffineGraphQL.SelectionSet {
|
||||||
|
public let __data: DataDict
|
||||||
|
public init(_dataDict: DataDict) { __data = _dataDict }
|
||||||
|
|
||||||
|
public static var __parentType: any ApolloAPI.ParentType { AffineGraphQL.Objects.Copilot }
|
||||||
|
public static var __selections: [ApolloAPI.Selection] { [
|
||||||
|
.field("__typename", String.self),
|
||||||
|
.field("models", Models.self, arguments: ["promptName": .variable("promptName")]),
|
||||||
|
] }
|
||||||
|
|
||||||
|
/// List available models for a prompt, with human-readable names
|
||||||
|
public var models: Models { __data["models"] }
|
||||||
|
|
||||||
|
/// CurrentUser.Copilot.Models
|
||||||
|
///
|
||||||
|
/// Parent Type: `CopilotModelsType`
|
||||||
|
public struct Models: AffineGraphQL.SelectionSet {
|
||||||
|
public let __data: DataDict
|
||||||
|
public init(_dataDict: DataDict) { __data = _dataDict }
|
||||||
|
|
||||||
|
public static var __parentType: any ApolloAPI.ParentType { AffineGraphQL.Objects.CopilotModelsType }
|
||||||
|
public static var __selections: [ApolloAPI.Selection] { [
|
||||||
|
.field("__typename", String.self),
|
||||||
|
.field("defaultModel", String.self),
|
||||||
|
.field("optionalModels", [OptionalModel].self),
|
||||||
|
.field("proModels", [ProModel].self),
|
||||||
|
] }
|
||||||
|
|
||||||
|
public var defaultModel: String { __data["defaultModel"] }
|
||||||
|
public var optionalModels: [OptionalModel] { __data["optionalModels"] }
|
||||||
|
public var proModels: [ProModel] { __data["proModels"] }
|
||||||
|
|
||||||
|
/// CurrentUser.Copilot.Models.OptionalModel
|
||||||
|
///
|
||||||
|
/// Parent Type: `CopilotModelType`
|
||||||
|
public struct OptionalModel: AffineGraphQL.SelectionSet {
|
||||||
|
public let __data: DataDict
|
||||||
|
public init(_dataDict: DataDict) { __data = _dataDict }
|
||||||
|
|
||||||
|
public static var __parentType: any ApolloAPI.ParentType { AffineGraphQL.Objects.CopilotModelType }
|
||||||
|
public static var __selections: [ApolloAPI.Selection] { [
|
||||||
|
.field("__typename", String.self),
|
||||||
|
.field("id", String.self),
|
||||||
|
.field("name", String.self),
|
||||||
|
] }
|
||||||
|
|
||||||
|
public var id: String { __data["id"] }
|
||||||
|
public var name: String { __data["name"] }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// CurrentUser.Copilot.Models.ProModel
|
||||||
|
///
|
||||||
|
/// Parent Type: `CopilotModelType`
|
||||||
|
public struct ProModel: AffineGraphQL.SelectionSet {
|
||||||
|
public let __data: DataDict
|
||||||
|
public init(_dataDict: DataDict) { __data = _dataDict }
|
||||||
|
|
||||||
|
public static var __parentType: any ApolloAPI.ParentType { AffineGraphQL.Objects.CopilotModelType }
|
||||||
|
public static var __selections: [ApolloAPI.Selection] { [
|
||||||
|
.field("__typename", String.self),
|
||||||
|
.field("id", String.self),
|
||||||
|
.field("name", String.self),
|
||||||
|
] }
|
||||||
|
|
||||||
|
public var id: String { __data["id"] }
|
||||||
|
public var name: String { __data["name"] }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// @generated
|
||||||
|
// This file was automatically generated and should not be edited.
|
||||||
|
|
||||||
|
import ApolloAPI
|
||||||
|
|
||||||
|
public extension Objects {
|
||||||
|
static let CopilotModelType = ApolloAPI.Object(
|
||||||
|
typename: "CopilotModelType",
|
||||||
|
implementedInterfaces: [],
|
||||||
|
keyFields: nil
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// @generated
|
||||||
|
// This file was automatically generated and should not be edited.
|
||||||
|
|
||||||
|
import ApolloAPI
|
||||||
|
|
||||||
|
public extension Objects {
|
||||||
|
static let CopilotModelsType = ApolloAPI.Object(
|
||||||
|
typename: "CopilotModelsType",
|
||||||
|
implementedInterfaces: [],
|
||||||
|
keyFields: nil
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -41,6 +41,8 @@ public enum SchemaMetadata: ApolloAPI.SchemaMetadata {
|
|||||||
case "CopilotContextFile": return AffineGraphQL.Objects.CopilotContextFile
|
case "CopilotContextFile": return AffineGraphQL.Objects.CopilotContextFile
|
||||||
case "CopilotHistories": return AffineGraphQL.Objects.CopilotHistories
|
case "CopilotHistories": return AffineGraphQL.Objects.CopilotHistories
|
||||||
case "CopilotHistoriesTypeEdge": return AffineGraphQL.Objects.CopilotHistoriesTypeEdge
|
case "CopilotHistoriesTypeEdge": return AffineGraphQL.Objects.CopilotHistoriesTypeEdge
|
||||||
|
case "CopilotModelType": return AffineGraphQL.Objects.CopilotModelType
|
||||||
|
case "CopilotModelsType": return AffineGraphQL.Objects.CopilotModelsType
|
||||||
case "CopilotPromptConfigType": return AffineGraphQL.Objects.CopilotPromptConfigType
|
case "CopilotPromptConfigType": return AffineGraphQL.Objects.CopilotPromptConfigType
|
||||||
case "CopilotPromptMessageType": return AffineGraphQL.Objects.CopilotPromptMessageType
|
case "CopilotPromptMessageType": return AffineGraphQL.Objects.CopilotPromptMessageType
|
||||||
case "CopilotPromptType": return AffineGraphQL.Objects.CopilotPromptType
|
case "CopilotPromptType": return AffineGraphQL.Objects.CopilotPromptType
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ let package = Package(
|
|||||||
.iOS(.v16),
|
.iOS(.v16),
|
||||||
],
|
],
|
||||||
products: [
|
products: [
|
||||||
.library(name: "Intelligents", type: .dynamic, targets: ["Intelligents"]),
|
// static linking is required or GraphQL (ApolloAPI) will crash
|
||||||
|
.library(name: "Intelligents", type: .static, targets: ["Intelligents"]),
|
||||||
],
|
],
|
||||||
dependencies: [
|
dependencies: [
|
||||||
.package(path: "../AffineGraphQL"),
|
.package(path: "../AffineGraphQL"),
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ cd "$(dirname "$0")"
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
VERSION=$(grep -o 'apollo-ios", exact: "[^"]*"' "App/Packages/AffineGraphQL/Package.swift" | sed 's/.*exact: "\([^"]*\)".*/\1/')
|
VERSION=${1:-"1.23.0"} # Use first argument or default to 1.23.0
|
||||||
[ -z "$VERSION" ] && { echo "❌ Failed to extract version"; exit 1; }
|
|
||||||
echo "📦 Apollo Version: $VERSION"
|
echo "📦 Apollo Version: $VERSION"
|
||||||
|
|
||||||
sed -i '' "s|apollo-ios\.git\", from: \"[^\"]*\"|apollo-ios.git\", from: \"$VERSION\"|" "App/Packages/Intelligents/Package.swift"
|
sed -i '' "s|apollo-ios\.git\", from: \"[^\"]*\"|apollo-ios.git\", from: \"$VERSION\"|" "App/Packages/Intelligents/Package.swift"
|
||||||
|
|||||||
@@ -9,8 +9,12 @@ const PackageRoot = iosPackage.path;
|
|||||||
|
|
||||||
console.log('[*] PackageRoot', PackageRoot);
|
console.log('[*] PackageRoot', PackageRoot);
|
||||||
|
|
||||||
|
const version = process.argv[2] || '1.23.0'; // Default to 1.23.0 if no version provided
|
||||||
|
|
||||||
console.log('[*] graphql...');
|
console.log('[*] graphql...');
|
||||||
execSync(`${PackageRoot}/apollo-codegen-chore.sh`, { stdio: 'inherit' });
|
execSync(`${PackageRoot}/apollo-codegen-chore.sh "${version}"`, {
|
||||||
|
stdio: 'inherit',
|
||||||
|
});
|
||||||
|
|
||||||
console.log('[*] rust...');
|
console.log('[*] rust...');
|
||||||
execSync(
|
execSync(
|
||||||
|
|||||||
@@ -38,9 +38,23 @@ rustup target add aarch64-apple-ios
|
|||||||
rustup target add aarch64-apple-ios-sim
|
rustup target add aarch64-apple-ios-sim
|
||||||
rustup target add aarch64-apple-darwin
|
rustup target add aarch64-apple-darwin
|
||||||
|
|
||||||
|
echo "[*] syncing apollo version..."
|
||||||
|
LATEST_VERSION="1.23.0"
|
||||||
|
sed -i '' "s/exact: \"[^\"]*\"/exact: \"$LATEST_VERSION\"/g" $SCRIPT_DIR_PATH/App/Packages/AffineGraphQL/Package.swift
|
||||||
|
echo "[*] apollo version synced to $LATEST_VERSION"
|
||||||
|
|
||||||
|
echo "[*] backing up CustomScalars..."
|
||||||
|
TEMP_DIR=$(mktemp -d)
|
||||||
|
mkdir -p "$TEMP_DIR"
|
||||||
|
function cleanup { rm -rf "$TEMP_DIR"; }
|
||||||
|
trap cleanup EXIT
|
||||||
|
CUSTOM_SCALARS_DIR=$SCRIPT_DIR_PATH/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars
|
||||||
|
cp -r $CUSTOM_SCALARS_DIR/* $TEMP_DIR/
|
||||||
|
|
||||||
echo "[*] codegen..."
|
echo "[*] codegen..."
|
||||||
yarn affine @affine/ios codegen
|
rm -rf $CUSTOM_SCALARS_DIR/*
|
||||||
|
yarn affine @affine/ios codegen "1.23.0"
|
||||||
|
cp -r $TEMP_DIR/* $CUSTOM_SCALARS_DIR/
|
||||||
|
|
||||||
echo "[+] setup complete"
|
echo "[+] setup complete"
|
||||||
|
|
||||||
yarn affine @affine/ios xcode
|
yarn affine @affine/ios xcode
|
||||||
|
|||||||
Reference in New Issue
Block a user