Commit fae24d58 by runbey-wcy

commit

parent 03756cd3
......@@ -7,31 +7,79 @@
objects = {
/* Begin PBXBuildFile section */
21189DE22999D71400B98572 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21189DE12999D71400B98572 /* AppDelegate.swift */; };
21189DE62999D71400B98572 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21189DE52999D71400B98572 /* ViewController.swift */; };
21189DE92999D71400B98572 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 21189DE72999D71400B98572 /* Main.storyboard */; };
21189DEB2999D71500B98572 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 21189DEA2999D71500B98572 /* Assets.xcassets */; };
21189DEE2999D71500B98572 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 21189DEC2999D71500B98572 /* LaunchScreen.storyboard */; };
218E07E1299E271600E92A33 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 218E07E0299E271600E92A33 /* String.swift */; };
218E07E3299E274700E92A33 /* hello.txt in Resources */ = {isa = PBXBuildFile; fileRef = 218E07E2299E274700E92A33 /* hello.txt */; };
218E07E6299E276700E92A33 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 218E07E5299E276700E92A33 /* HomeViewController.swift */; };
21DC0BFD299F1AAA00BF6B06 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0BFC299F1AAA00BF6B06 /* AppDelegate.m */; };
21DC0C00299F1AAA00BF6B06 /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0BFF299F1AAA00BF6B06 /* SceneDelegate.m */; };
21DC0C03299F1AAA00BF6B06 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C02299F1AAA00BF6B06 /* ViewController.m */; };
21DC0C06299F1AAA00BF6B06 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 21DC0C04299F1AAA00BF6B06 /* Main.storyboard */; };
21DC0C08299F1AAB00BF6B06 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 21DC0C07299F1AAB00BF6B06 /* Assets.xcassets */; };
21DC0C0B299F1AAB00BF6B06 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 21DC0C09299F1AAB00BF6B06 /* LaunchScreen.storyboard */; };
21DC0C0E299F1AAB00BF6B06 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C0D299F1AAB00BF6B06 /* main.m */; };
21DC0C18299F1AAB00BF6B06 /* TestTemplateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C17299F1AAB00BF6B06 /* TestTemplateTests.m */; };
21DC0C22299F1AAB00BF6B06 /* TestTemplateUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C21299F1AAB00BF6B06 /* TestTemplateUITests.m */; };
21DC0C24299F1AAB00BF6B06 /* TestTemplateUITestsLaunchTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C23299F1AAB00BF6B06 /* TestTemplateUITestsLaunchTests.m */; };
21DC0C33299F1AF300BF6B06 /* NSString+Runbey.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C32299F1AF300BF6B06 /* NSString+Runbey.m */; };
21DC0C38299F1B2300BF6B06 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0C37299F1B2300BF6B06 /* HomeViewController.m */; };
21DC0C3B299F1B5600BF6B06 /* Hello.txt in Resources */ = {isa = PBXBuildFile; fileRef = 21DC0C3A299F1B5600BF6B06 /* Hello.txt */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
21DC0C14299F1AAB00BF6B06 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 21DC0BF0299F1AAA00BF6B06 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 21DC0BF7299F1AAA00BF6B06;
remoteInfo = TestTemplate;
};
21DC0C1E299F1AAB00BF6B06 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 21DC0BF0299F1AAA00BF6B06 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 21DC0BF7299F1AAA00BF6B06;
remoteInfo = TestTemplate;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
21189DDE2999D71400B98572 /* TestTemplate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestTemplate.app; sourceTree = BUILT_PRODUCTS_DIR; };
21189DE12999D71400B98572 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
21189DE52999D71400B98572 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
21189DE82999D71400B98572 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
21189DEA2999D71500B98572 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
21189DED2999D71500B98572 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
21189DEF2999D71500B98572 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
218E07E0299E271600E92A33 /* String.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = "<group>"; };
218E07E2299E274700E92A33 /* hello.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = hello.txt; sourceTree = "<group>"; };
218E07E5299E276700E92A33 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = "<group>"; };
21DC0BF8299F1AAA00BF6B06 /* TestTemplate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestTemplate.app; sourceTree = BUILT_PRODUCTS_DIR; };
21DC0BFB299F1AAA00BF6B06 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
21DC0BFC299F1AAA00BF6B06 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
21DC0BFE299F1AAA00BF6B06 /* SceneDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SceneDelegate.h; sourceTree = "<group>"; };
21DC0BFF299F1AAA00BF6B06 /* SceneDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SceneDelegate.m; sourceTree = "<group>"; };
21DC0C01299F1AAA00BF6B06 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
21DC0C02299F1AAA00BF6B06 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
21DC0C05299F1AAA00BF6B06 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
21DC0C07299F1AAB00BF6B06 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
21DC0C0A299F1AAB00BF6B06 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
21DC0C0C299F1AAB00BF6B06 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
21DC0C0D299F1AAB00BF6B06 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
21DC0C13299F1AAB00BF6B06 /* TestTemplateTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestTemplateTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
21DC0C17299F1AAB00BF6B06 /* TestTemplateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestTemplateTests.m; sourceTree = "<group>"; };
21DC0C1D299F1AAB00BF6B06 /* TestTemplateUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestTemplateUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
21DC0C21299F1AAB00BF6B06 /* TestTemplateUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestTemplateUITests.m; sourceTree = "<group>"; };
21DC0C23299F1AAB00BF6B06 /* TestTemplateUITestsLaunchTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestTemplateUITestsLaunchTests.m; sourceTree = "<group>"; };
21DC0C31299F1AF300BF6B06 /* NSString+Runbey.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+Runbey.h"; sourceTree = "<group>"; };
21DC0C32299F1AF300BF6B06 /* NSString+Runbey.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+Runbey.m"; sourceTree = "<group>"; };
21DC0C36299F1B2300BF6B06 /* HomeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
21DC0C37299F1B2300BF6B06 /* HomeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
21DC0C3A299F1B5600BF6B06 /* Hello.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = Hello.txt; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
21189DDB2999D71400B98572 /* Frameworks */ = {
21DC0BF5299F1AAA00BF6B06 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
21DC0C10299F1AAB00BF6B06 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
21DC0C1A299F1AAB00BF6B06 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
......@@ -41,80 +89,108 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
211846572999E78E00EF39DA /* Extensions */ = {
21DC0BEF299F1AAA00BF6B06 = {
isa = PBXGroup;
children = (
218E07E0299E271600E92A33 /* String.swift */,
21DC0BFA299F1AAA00BF6B06 /* TestTemplate */,
21DC0C16299F1AAB00BF6B06 /* TestTemplateTests */,
21DC0C20299F1AAB00BF6B06 /* TestTemplateUITests */,
21DC0BF9299F1AAA00BF6B06 /* Products */,
);
path = Extensions;
sourceTree = "<group>";
};
211846582999E79F00EF39DA /* Main */ = {
21DC0BF9299F1AAA00BF6B06 /* Products */ = {
isa = PBXGroup;
children = (
218E07E4299E275200E92A33 /* Home */,
21DC0BF8299F1AAA00BF6B06 /* TestTemplate.app */,
21DC0C13299F1AAB00BF6B06 /* TestTemplateTests.xctest */,
21DC0C1D299F1AAB00BF6B06 /* TestTemplateUITests.xctest */,
);
path = Main;
name = Products;
sourceTree = "<group>";
};
2118465A2999E97000EF39DA /* Resource */ = {
21DC0BFA299F1AAA00BF6B06 /* TestTemplate */ = {
isa = PBXGroup;
children = (
218E07E2299E274700E92A33 /* hello.txt */,
21DC0C39299F1B3E00BF6B06 /* Resource */,
21DC0C34299F1AFE00BF6B06 /* Main */,
21DC0C30299F1AC800BF6B06 /* Category */,
21DC0BFB299F1AAA00BF6B06 /* AppDelegate.h */,
21DC0BFC299F1AAA00BF6B06 /* AppDelegate.m */,
21DC0BFE299F1AAA00BF6B06 /* SceneDelegate.h */,
21DC0BFF299F1AAA00BF6B06 /* SceneDelegate.m */,
21DC0C01299F1AAA00BF6B06 /* ViewController.h */,
21DC0C02299F1AAA00BF6B06 /* ViewController.m */,
21DC0C04299F1AAA00BF6B06 /* Main.storyboard */,
21DC0C07299F1AAB00BF6B06 /* Assets.xcassets */,
21DC0C09299F1AAB00BF6B06 /* LaunchScreen.storyboard */,
21DC0C0C299F1AAB00BF6B06 /* Info.plist */,
21DC0C0D299F1AAB00BF6B06 /* main.m */,
);
path = Resource;
path = TestTemplate;
sourceTree = "<group>";
};
21189DD52999D71400B98572 = {
21DC0C16299F1AAB00BF6B06 /* TestTemplateTests */ = {
isa = PBXGroup;
children = (
21189DE02999D71400B98572 /* TestTemplate */,
21189DDF2999D71400B98572 /* Products */,
21DC0C17299F1AAB00BF6B06 /* TestTemplateTests.m */,
);
path = TestTemplateTests;
sourceTree = "<group>";
};
21189DDF2999D71400B98572 /* Products */ = {
21DC0C20299F1AAB00BF6B06 /* TestTemplateUITests */ = {
isa = PBXGroup;
children = (
21189DDE2999D71400B98572 /* TestTemplate.app */,
21DC0C21299F1AAB00BF6B06 /* TestTemplateUITests.m */,
21DC0C23299F1AAB00BF6B06 /* TestTemplateUITestsLaunchTests.m */,
);
name = Products;
path = TestTemplateUITests;
sourceTree = "<group>";
};
21189DE02999D71400B98572 /* TestTemplate */ = {
21DC0C30299F1AC800BF6B06 /* Category */ = {
isa = PBXGroup;
children = (
211846572999E78E00EF39DA /* Extensions */,
2118465A2999E97000EF39DA /* Resource */,
211846582999E79F00EF39DA /* Main */,
21189DE12999D71400B98572 /* AppDelegate.swift */,
21189DE52999D71400B98572 /* ViewController.swift */,
21189DE72999D71400B98572 /* Main.storyboard */,
21189DEA2999D71500B98572 /* Assets.xcassets */,
21189DEC2999D71500B98572 /* LaunchScreen.storyboard */,
21189DEF2999D71500B98572 /* Info.plist */,
21DC0C31299F1AF300BF6B06 /* NSString+Runbey.h */,
21DC0C32299F1AF300BF6B06 /* NSString+Runbey.m */,
);
path = TestTemplate;
path = Category;
sourceTree = "<group>";
};
21DC0C34299F1AFE00BF6B06 /* Main */ = {
isa = PBXGroup;
children = (
21DC0C35299F1B0700BF6B06 /* Home */,
);
path = Main;
sourceTree = "<group>";
};
218E07E4299E275200E92A33 /* Home */ = {
21DC0C35299F1B0700BF6B06 /* Home */ = {
isa = PBXGroup;
children = (
218E07E5299E276700E92A33 /* HomeViewController.swift */,
21DC0C36299F1B2300BF6B06 /* HomeViewController.h */,
21DC0C37299F1B2300BF6B06 /* HomeViewController.m */,
);
path = Home;
sourceTree = "<group>";
};
21DC0C39299F1B3E00BF6B06 /* Resource */ = {
isa = PBXGroup;
children = (
21DC0C3A299F1B5600BF6B06 /* Hello.txt */,
);
path = Resource;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
21189DDD2999D71400B98572 /* TestTemplate */ = {
21DC0BF7299F1AAA00BF6B06 /* TestTemplate */ = {
isa = PBXNativeTarget;
buildConfigurationList = 21189DF22999D71500B98572 /* Build configuration list for PBXNativeTarget "TestTemplate" */;
buildConfigurationList = 21DC0C27299F1AAB00BF6B06 /* Build configuration list for PBXNativeTarget "TestTemplate" */;
buildPhases = (
21189DDA2999D71400B98572 /* Sources */,
21189DDB2999D71400B98572 /* Frameworks */,
21189DDC2999D71400B98572 /* Resources */,
21DC0BF4299F1AAA00BF6B06 /* Sources */,
21DC0BF5299F1AAA00BF6B06 /* Frameworks */,
21DC0BF6299F1AAA00BF6B06 /* Resources */,
);
buildRules = (
);
......@@ -122,25 +198,68 @@
);
name = TestTemplate;
productName = TestTemplate;
productReference = 21189DDE2999D71400B98572 /* TestTemplate.app */;
productReference = 21DC0BF8299F1AAA00BF6B06 /* TestTemplate.app */;
productType = "com.apple.product-type.application";
};
21DC0C12299F1AAB00BF6B06 /* TestTemplateTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 21DC0C2A299F1AAB00BF6B06 /* Build configuration list for PBXNativeTarget "TestTemplateTests" */;
buildPhases = (
21DC0C0F299F1AAB00BF6B06 /* Sources */,
21DC0C10299F1AAB00BF6B06 /* Frameworks */,
21DC0C11299F1AAB00BF6B06 /* Resources */,
);
buildRules = (
);
dependencies = (
21DC0C15299F1AAB00BF6B06 /* PBXTargetDependency */,
);
name = TestTemplateTests;
productName = TestTemplateTests;
productReference = 21DC0C13299F1AAB00BF6B06 /* TestTemplateTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
21DC0C1C299F1AAB00BF6B06 /* TestTemplateUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 21DC0C2D299F1AAB00BF6B06 /* Build configuration list for PBXNativeTarget "TestTemplateUITests" */;
buildPhases = (
21DC0C19299F1AAB00BF6B06 /* Sources */,
21DC0C1A299F1AAB00BF6B06 /* Frameworks */,
21DC0C1B299F1AAB00BF6B06 /* Resources */,
);
buildRules = (
);
dependencies = (
21DC0C1F299F1AAB00BF6B06 /* PBXTargetDependency */,
);
name = TestTemplateUITests;
productName = TestTemplateUITests;
productReference = 21DC0C1D299F1AAB00BF6B06 /* TestTemplateUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
21189DD62999D71400B98572 /* Project object */ = {
21DC0BF0299F1AAA00BF6B06 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1410;
LastUpgradeCheck = 1410;
TargetAttributes = {
21189DDD2999D71400B98572 = {
21DC0BF7299F1AAA00BF6B06 = {
CreatedOnToolsVersion = 14.1;
};
21DC0C12299F1AAB00BF6B06 = {
CreatedOnToolsVersion = 14.1;
TestTargetID = 21DC0BF7299F1AAA00BF6B06;
};
21DC0C1C299F1AAB00BF6B06 = {
CreatedOnToolsVersion = 14.1;
TestTargetID = 21DC0BF7299F1AAA00BF6B06;
};
};
};
buildConfigurationList = 21189DD92999D71400B98572 /* Build configuration list for PBXProject "TestTemplate" */;
buildConfigurationList = 21DC0BF3299F1AAA00BF6B06 /* Build configuration list for PBXProject "TestTemplate" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
......@@ -148,57 +267,105 @@
en,
Base,
);
mainGroup = 21189DD52999D71400B98572;
productRefGroup = 21189DDF2999D71400B98572 /* Products */;
mainGroup = 21DC0BEF299F1AAA00BF6B06;
productRefGroup = 21DC0BF9299F1AAA00BF6B06 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
21189DDD2999D71400B98572 /* TestTemplate */,
21DC0BF7299F1AAA00BF6B06 /* TestTemplate */,
21DC0C12299F1AAB00BF6B06 /* TestTemplateTests */,
21DC0C1C299F1AAB00BF6B06 /* TestTemplateUITests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
21189DDC2999D71400B98572 /* Resources */ = {
21DC0BF6299F1AAA00BF6B06 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
21DC0C0B299F1AAB00BF6B06 /* LaunchScreen.storyboard in Resources */,
21DC0C08299F1AAB00BF6B06 /* Assets.xcassets in Resources */,
21DC0C06299F1AAA00BF6B06 /* Main.storyboard in Resources */,
21DC0C3B299F1B5600BF6B06 /* Hello.txt in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
21DC0C11299F1AAB00BF6B06 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
21DC0C1B299F1AAB00BF6B06 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
21189DEE2999D71500B98572 /* LaunchScreen.storyboard in Resources */,
21189DEB2999D71500B98572 /* Assets.xcassets in Resources */,
21189DE92999D71400B98572 /* Main.storyboard in Resources */,
218E07E3299E274700E92A33 /* hello.txt in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
21189DDA2999D71400B98572 /* Sources */ = {
21DC0BF4299F1AAA00BF6B06 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
21DC0C33299F1AF300BF6B06 /* NSString+Runbey.m in Sources */,
21DC0C03299F1AAA00BF6B06 /* ViewController.m in Sources */,
21DC0BFD299F1AAA00BF6B06 /* AppDelegate.m in Sources */,
21DC0C0E299F1AAB00BF6B06 /* main.m in Sources */,
21DC0C00299F1AAA00BF6B06 /* SceneDelegate.m in Sources */,
21DC0C38299F1B2300BF6B06 /* HomeViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
21DC0C0F299F1AAB00BF6B06 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
218E07E1299E271600E92A33 /* String.swift in Sources */,
21189DE62999D71400B98572 /* ViewController.swift in Sources */,
21189DE22999D71400B98572 /* AppDelegate.swift in Sources */,
218E07E6299E276700E92A33 /* HomeViewController.swift in Sources */,
21DC0C18299F1AAB00BF6B06 /* TestTemplateTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
21DC0C19299F1AAB00BF6B06 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
21DC0C24299F1AAB00BF6B06 /* TestTemplateUITestsLaunchTests.m in Sources */,
21DC0C22299F1AAB00BF6B06 /* TestTemplateUITests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
21DC0C15299F1AAB00BF6B06 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 21DC0BF7299F1AAA00BF6B06 /* TestTemplate */;
targetProxy = 21DC0C14299F1AAB00BF6B06 /* PBXContainerItemProxy */;
};
21DC0C1F299F1AAB00BF6B06 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 21DC0BF7299F1AAA00BF6B06 /* TestTemplate */;
targetProxy = 21DC0C1E299F1AAB00BF6B06 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
21189DE72999D71400B98572 /* Main.storyboard */ = {
21DC0C04299F1AAA00BF6B06 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
21189DE82999D71400B98572 /* Base */,
21DC0C05299F1AAA00BF6B06 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
21189DEC2999D71500B98572 /* LaunchScreen.storyboard */ = {
21DC0C09299F1AAB00BF6B06 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
21189DED2999D71500B98572 /* Base */,
21DC0C0A299F1AAB00BF6B06 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
......@@ -206,7 +373,7 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
21189DF02999D71500B98572 /* Debug */ = {
21DC0C25299F1AAB00BF6B06 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
......@@ -261,12 +428,10 @@
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
21189DF12999D71500B98572 /* Release */ = {
21DC0C26299F1AAB00BF6B06 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
......@@ -314,13 +479,11 @@
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
21189DF32999D71500B98572 /* Debug */ = {
21DC0C28299F1AAB00BF6B06 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
......@@ -342,12 +505,11 @@
PRODUCT_BUNDLE_IDENTIFIER = com.runbey.ocr.TestTemplate;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
21189DF42999D71500B98572 /* Release */ = {
21DC0C29299F1AAB00BF6B06 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
......@@ -369,33 +531,114 @@
PRODUCT_BUNDLE_IDENTIFIER = com.runbey.ocr.TestTemplate;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
21DC0C2B299F1AAB00BF6B06 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.runbey.ocr.TestTemplateTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestTemplate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TestTemplate";
};
name = Debug;
};
21DC0C2C299F1AAB00BF6B06 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.runbey.ocr.TestTemplateTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestTemplate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TestTemplate";
};
name = Release;
};
21DC0C2E299F1AAB00BF6B06 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.runbey.ocr.TestTemplateUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = TestTemplate;
};
name = Debug;
};
21DC0C2F299F1AAB00BF6B06 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.runbey.ocr.TestTemplateUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_TARGET_NAME = TestTemplate;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
21189DD92999D71400B98572 /* Build configuration list for PBXProject "TestTemplate" */ = {
21DC0BF3299F1AAA00BF6B06 /* Build configuration list for PBXProject "TestTemplate" */ = {
isa = XCConfigurationList;
buildConfigurations = (
21DC0C25299F1AAB00BF6B06 /* Debug */,
21DC0C26299F1AAB00BF6B06 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
21DC0C27299F1AAB00BF6B06 /* Build configuration list for PBXNativeTarget "TestTemplate" */ = {
isa = XCConfigurationList;
buildConfigurations = (
21DC0C28299F1AAB00BF6B06 /* Debug */,
21DC0C29299F1AAB00BF6B06 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
21DC0C2A299F1AAB00BF6B06 /* Build configuration list for PBXNativeTarget "TestTemplateTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
21189DF02999D71500B98572 /* Debug */,
21189DF12999D71500B98572 /* Release */,
21DC0C2B299F1AAB00BF6B06 /* Debug */,
21DC0C2C299F1AAB00BF6B06 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
21189DF22999D71500B98572 /* Build configuration list for PBXNativeTarget "TestTemplate" */ = {
21DC0C2D299F1AAB00BF6B06 /* Build configuration list for PBXNativeTarget "TestTemplateUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
21189DF32999D71500B98572 /* Debug */,
21189DF42999D71500B98572 /* Release */,
21DC0C2E299F1AAB00BF6B06 /* Debug */,
21DC0C2F299F1AAB00BF6B06 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 21189DD62999D71400B98572 /* Project object */;
rootObject = 21DC0BF0299F1AAA00BF6B06 /* Project object */;
}
//
// AppDelegate.h
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@end
//
// AppDelegate.m
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
return YES;
}
#pragma mark - UISceneSession lifecycle
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
@end
//
// AppDelegate.swift
// TestTemplate
//
// Created by runbey-wcy on 2023/2/13.
//
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
}
......@@ -9,7 +9,7 @@
<!--View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController">
<viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
......
//
// NSString+Runbey.h
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSString (Runbey)
@end
NS_ASSUME_NONNULL_END
//
// NSString+Runbey.m
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import "NSString+Runbey.h"
@implementation NSString (Runbey)
@end
//
// String.swift
// TestTemplate
//
// Created by runbey-wcy on 2023/2/16.
//
import Foundation
extension String {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<dict>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
</dict>
</plist>
//
// HomeViewController.h
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface HomeViewController : UIViewController
@end
NS_ASSUME_NONNULL_END
//
// HomeViewController.m
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import "HomeViewController.h"
@interface HomeViewController ()
@end
@implementation HomeViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
//
// HomeViewController.swift
// TestTemplate
//
// Created by runbey-wcy on 2023/2/16.
//
import UIKit
class HomeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
//
// SceneDelegate.h
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import <UIKit/UIKit.h>
@interface SceneDelegate : UIResponder <UIWindowSceneDelegate>
@property (strong, nonatomic) UIWindow * window;
@end
//
// SceneDelegate.m
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import "SceneDelegate.h"
@interface SceneDelegate ()
@end
@implementation SceneDelegate
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
}
- (void)sceneDidDisconnect:(UIScene *)scene {
// Called as the scene is being released by the system.
// This occurs shortly after the scene enters the background, or when its session is discarded.
// Release any resources associated with this scene that can be re-created the next time the scene connects.
// The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
}
- (void)sceneDidBecomeActive:(UIScene *)scene {
// Called when the scene has moved from an inactive state to an active state.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}
- (void)sceneWillResignActive:(UIScene *)scene {
// Called when the scene will move from an active state to an inactive state.
// This may occur due to temporary interruptions (ex. an incoming phone call).
}
- (void)sceneWillEnterForeground:(UIScene *)scene {
// Called as the scene transitions from the background to the foreground.
// Use this method to undo the changes made on entering the background.
}
- (void)sceneDidEnterBackground:(UIScene *)scene {
// Called as the scene transitions from the foreground to the background.
// Use this method to save data, release shared resources, and store enough scene-specific state information
// to restore the scene back to its current state.
}
@end
//
// ViewController.h
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end
//
// ViewController.m
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
@end
//
// ViewController.swift
// TestTemplate
//
// Created by runbey-wcy on 2023/2/13.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
//
// main.m
// TestTemplate
//
// Created by runbey-wcy on 2023/2/17.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
NSString * appDelegateClassName;
@autoreleasepool {
// Setup code that might create autoreleased objects goes here.
appDelegateClassName = NSStringFromClass([AppDelegate class]);
}
return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}
//
// TestTemplateTests.m
// TestTemplateTests
//
// Created by runbey-wcy on 2023/2/17.
//
#import <XCTest/XCTest.h>
@interface TestTemplateTests : XCTestCase
@end
@implementation TestTemplateTests
- (void)setUp {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}
@end
//
// TestTemplateUITests.m
// TestTemplateUITests
//
// Created by runbey-wcy on 2023/2/17.
//
#import <XCTest/XCTest.h>
@interface TestTemplateUITests : XCTestCase
@end
@implementation TestTemplateUITests
- (void)setUp {
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
self.continueAfterFailure = NO;
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
- (void)testExample {
// UI tests must launch the application that they test.
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
- (void)testLaunchPerformance {
if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *)) {
// This measures how long it takes to launch your application.
[self measureWithMetrics:@[[[XCTApplicationLaunchMetric alloc] init]] block:^{
[[[XCUIApplication alloc] init] launch];
}];
}
}
@end
//
// TestTemplateUITestsLaunchTests.m
// TestTemplateUITests
//
// Created by runbey-wcy on 2023/2/17.
//
#import <XCTest/XCTest.h>
@interface TestTemplateUITestsLaunchTests : XCTestCase
@end
@implementation TestTemplateUITestsLaunchTests
+ (BOOL)runsForEachTargetApplicationUIConfiguration {
return YES;
}
- (void)setUp {
self.continueAfterFailure = NO;
}
- (void)testLaunch {
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
// Insert steps here to perform after app launch but before taking a screenshot,
// such as logging into a test account or navigating somewhere in the app
XCTAttachment *attachment = [XCTAttachment attachmentWithScreenshot:XCUIScreen.mainScreen.screenshot];
attachment.name = @"Launch Screen";
attachment.lifetime = XCTAttachmentLifetimeKeepAlways;
[self addAttachment:attachment];
}
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment