Commit 22b03300fcc2499ef5e744102b927a1e21b43be5
0 parents
Exists in
master
create Activity
Showing 18 changed files with 999 additions and 0 deletions Side-by-side Diff
- GameActivitySDK.framework/GameActivitySDK
- GameActivitySDK.framework/Headers
- GameActivitySDK.framework/Versions/A/GameActivitySDK
- GameActivitySDK.framework/Versions/A/Headers/LetsGameActivityAPI.h
- GameActivitySDK.framework/Versions/Current
- GameActivitySDK.xcodeproj/project.pbxproj
- GameActivitySDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata
- GameActivitySDK.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
- GameActivitySDK.xcodeproj/xcuserdata/yanglele.xcuserdatad/xcschemes/GameActivitySDK.framework.xcscheme
- GameActivitySDK.xcodeproj/xcuserdata/yanglele.xcuserdatad/xcschemes/xcschememanagement.plist
- GameActivitySDK/LSGColor.h
- GameActivitySDK/LSGColor.m
- GameActivitySDK/LSGGameActivityViewController.h
- GameActivitySDK/LSGGameActivityViewController.m
- GameActivitySDK/LSGMacros.h
- GameActivitySDK/LSGUrl.h
- GameActivitySDK/LetsGameActivityAPI.h
- GameActivitySDK/LetsGameActivityAPI.m
GameActivitySDK.framework/GameActivitySDK
GameActivitySDK.framework/Headers
GameActivitySDK.framework/Versions/A/GameActivitySDK
No preview for this file type
GameActivitySDK.framework/Versions/A/Headers/LetsGameActivityAPI.h
... | ... | @@ -0,0 +1,26 @@ |
1 | +// | |
2 | +// LetsGameActivityAPI.h | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <Foundation/Foundation.h> | |
10 | +#import <UIKit/UIKit.h> | |
11 | + | |
12 | +static NSString *actVersion = @"1.0.1"; | |
13 | + | |
14 | +@interface LetsGameActivityAPI : NSObject<UIApplicationDelegate> | |
15 | + | |
16 | +@property(nonatomic, assign) int isDebug; | |
17 | + | |
18 | ++(instancetype)instance; | |
19 | + | |
20 | +- (void)hide; | |
21 | + | |
22 | +-(void)decideIsDebug:(int)isDebug; | |
23 | + | |
24 | +-(void)GameActivityWithParaDictory:(NSDictionary *)paraDictory handleCallBackL:(void(^)(void))accomplistCallBack; | |
25 | + | |
26 | +@end |
GameActivitySDK.framework/Versions/Current
No preview for this file type
GameActivitySDK.xcodeproj/project.pbxproj
... | ... | @@ -0,0 +1,463 @@ |
1 | +// !$*UTF8*$! | |
2 | +{ | |
3 | + archiveVersion = 1; | |
4 | + classes = { | |
5 | + }; | |
6 | + objectVersion = 48; | |
7 | + objects = { | |
8 | + | |
9 | +/* Begin PBXAggregateTarget section */ | |
10 | + 752CAD6920CE2B37003C3840 /* GameActivitySDK.framework */ = { | |
11 | + isa = PBXAggregateTarget; | |
12 | + buildConfigurationList = 752CAD6A20CE2B37003C3840 /* Build configuration list for PBXAggregateTarget "GameActivitySDK.framework" */; | |
13 | + buildPhases = ( | |
14 | + 752CAD6F20CE2B7C003C3840 /* ShellScript */, | |
15 | + ); | |
16 | + dependencies = ( | |
17 | + 752CAD7120CE2B94003C3840 /* PBXTargetDependency */, | |
18 | + ); | |
19 | + name = GameActivitySDK.framework; | |
20 | + productName = GameActivitySDK.framework; | |
21 | + }; | |
22 | +/* End PBXAggregateTarget section */ | |
23 | + | |
24 | +/* Begin PBXBuildFile section */ | |
25 | + 752CAD7520CE2BF9003C3840 /* LetsGameActivityAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 752CAD7420CE2BF9003C3840 /* LetsGameActivityAPI.m */; }; | |
26 | + 752CAD7820CE4010003C3840 /* LetsGameActivityAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 752CAD7320CE2BF9003C3840 /* LetsGameActivityAPI.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
27 | + 752CAD7B20CE4515003C3840 /* LSGGameActivityViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 752CAD7920CE4515003C3840 /* LSGGameActivityViewController.h */; }; | |
28 | + 752CAD7C20CE4515003C3840 /* LSGGameActivityViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 752CAD7A20CE4515003C3840 /* LSGGameActivityViewController.m */; }; | |
29 | + 752CAD7F20CE45C3003C3840 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752CAD7E20CE45C3003C3840 /* UIKit.framework */; }; | |
30 | + 752CAD8120CE45CB003C3840 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752CAD8020CE45CB003C3840 /* Foundation.framework */; }; | |
31 | + 75A510D920CF61E5008A4F04 /* LetsGameActivityAPI.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 752CAD7320CE2BF9003C3840 /* LetsGameActivityAPI.h */; }; | |
32 | + 75A510DC20CF65E0008A4F04 /* LSGColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 75A510DA20CF65E0008A4F04 /* LSGColor.h */; }; | |
33 | + 75A510DD20CF65E0008A4F04 /* LSGColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A510DB20CF65E0008A4F04 /* LSGColor.m */; }; | |
34 | +/* End PBXBuildFile section */ | |
35 | + | |
36 | +/* Begin PBXContainerItemProxy section */ | |
37 | + 752CAD7020CE2B94003C3840 /* PBXContainerItemProxy */ = { | |
38 | + isa = PBXContainerItemProxy; | |
39 | + containerPortal = 752CAD5520CE2AEE003C3840 /* Project object */; | |
40 | + proxyType = 1; | |
41 | + remoteGlobalIDString = 752CAD5C20CE2AEE003C3840; | |
42 | + remoteInfo = GameActivitySDK; | |
43 | + }; | |
44 | +/* End PBXContainerItemProxy section */ | |
45 | + | |
46 | +/* Begin PBXCopyFilesBuildPhase section */ | |
47 | + 752CAD5B20CE2AEE003C3840 /* CopyFiles */ = { | |
48 | + isa = PBXCopyFilesBuildPhase; | |
49 | + buildActionMask = 2147483647; | |
50 | + dstPath = "include/$(PRODUCT_NAME)"; | |
51 | + dstSubfolderSpec = 16; | |
52 | + files = ( | |
53 | + 75A510D920CF61E5008A4F04 /* LetsGameActivityAPI.h in CopyFiles */, | |
54 | + ); | |
55 | + runOnlyForDeploymentPostprocessing = 0; | |
56 | + }; | |
57 | +/* End PBXCopyFilesBuildPhase section */ | |
58 | + | |
59 | +/* Begin PBXFileReference section */ | |
60 | + 752CAD5D20CE2AEE003C3840 /* libGameActivitySDK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libGameActivitySDK.a; sourceTree = BUILT_PRODUCTS_DIR; }; | |
61 | + 752CAD7320CE2BF9003C3840 /* LetsGameActivityAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LetsGameActivityAPI.h; sourceTree = "<group>"; }; | |
62 | + 752CAD7420CE2BF9003C3840 /* LetsGameActivityAPI.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LetsGameActivityAPI.m; sourceTree = "<group>"; }; | |
63 | + 752CAD7920CE4515003C3840 /* LSGGameActivityViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LSGGameActivityViewController.h; sourceTree = "<group>"; }; | |
64 | + 752CAD7A20CE4515003C3840 /* LSGGameActivityViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LSGGameActivityViewController.m; sourceTree = "<group>"; }; | |
65 | + 752CAD7E20CE45C3003C3840 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; | |
66 | + 752CAD8020CE45CB003C3840 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; | |
67 | + 752CAD8520CE4C17003C3840 /* LSGUrl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LSGUrl.h; sourceTree = "<group>"; }; | |
68 | + 752CAD8620CE59C5003C3840 /* LSGMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LSGMacros.h; sourceTree = "<group>"; }; | |
69 | + 75A510DA20CF65E0008A4F04 /* LSGColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LSGColor.h; sourceTree = "<group>"; }; | |
70 | + 75A510DB20CF65E0008A4F04 /* LSGColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LSGColor.m; sourceTree = "<group>"; }; | |
71 | +/* End PBXFileReference section */ | |
72 | + | |
73 | +/* Begin PBXFrameworksBuildPhase section */ | |
74 | + 752CAD5A20CE2AEE003C3840 /* Frameworks */ = { | |
75 | + isa = PBXFrameworksBuildPhase; | |
76 | + buildActionMask = 2147483647; | |
77 | + files = ( | |
78 | + 752CAD8120CE45CB003C3840 /* Foundation.framework in Frameworks */, | |
79 | + 752CAD7F20CE45C3003C3840 /* UIKit.framework in Frameworks */, | |
80 | + ); | |
81 | + runOnlyForDeploymentPostprocessing = 0; | |
82 | + }; | |
83 | +/* End PBXFrameworksBuildPhase section */ | |
84 | + | |
85 | +/* Begin PBXGroup section */ | |
86 | + 752CAD5420CE2AEE003C3840 = { | |
87 | + isa = PBXGroup; | |
88 | + children = ( | |
89 | + 752CAD5F20CE2AEE003C3840 /* GameActivitySDK */, | |
90 | + 752CAD5E20CE2AEE003C3840 /* Products */, | |
91 | + 752CAD7D20CE45C3003C3840 /* Frameworks */, | |
92 | + ); | |
93 | + sourceTree = "<group>"; | |
94 | + }; | |
95 | + 752CAD5E20CE2AEE003C3840 /* Products */ = { | |
96 | + isa = PBXGroup; | |
97 | + children = ( | |
98 | + 752CAD5D20CE2AEE003C3840 /* libGameActivitySDK.a */, | |
99 | + ); | |
100 | + name = Products; | |
101 | + sourceTree = "<group>"; | |
102 | + }; | |
103 | + 752CAD5F20CE2AEE003C3840 /* GameActivitySDK */ = { | |
104 | + isa = PBXGroup; | |
105 | + children = ( | |
106 | + 75A510DA20CF65E0008A4F04 /* LSGColor.h */, | |
107 | + 75A510DB20CF65E0008A4F04 /* LSGColor.m */, | |
108 | + 752CAD7920CE4515003C3840 /* LSGGameActivityViewController.h */, | |
109 | + 752CAD7A20CE4515003C3840 /* LSGGameActivityViewController.m */, | |
110 | + 752CAD7320CE2BF9003C3840 /* LetsGameActivityAPI.h */, | |
111 | + 752CAD7420CE2BF9003C3840 /* LetsGameActivityAPI.m */, | |
112 | + 752CAD8520CE4C17003C3840 /* LSGUrl.h */, | |
113 | + 752CAD8620CE59C5003C3840 /* LSGMacros.h */, | |
114 | + ); | |
115 | + path = GameActivitySDK; | |
116 | + sourceTree = "<group>"; | |
117 | + }; | |
118 | + 752CAD7D20CE45C3003C3840 /* Frameworks */ = { | |
119 | + isa = PBXGroup; | |
120 | + children = ( | |
121 | + 752CAD8020CE45CB003C3840 /* Foundation.framework */, | |
122 | + 752CAD7E20CE45C3003C3840 /* UIKit.framework */, | |
123 | + ); | |
124 | + name = Frameworks; | |
125 | + sourceTree = "<group>"; | |
126 | + }; | |
127 | +/* End PBXGroup section */ | |
128 | + | |
129 | +/* Begin PBXHeadersBuildPhase section */ | |
130 | + 752CAD7620CE3FFE003C3840 /* Headers */ = { | |
131 | + isa = PBXHeadersBuildPhase; | |
132 | + buildActionMask = 2147483647; | |
133 | + files = ( | |
134 | + 752CAD7820CE4010003C3840 /* LetsGameActivityAPI.h in Headers */, | |
135 | + 75A510DC20CF65E0008A4F04 /* LSGColor.h in Headers */, | |
136 | + 752CAD7B20CE4515003C3840 /* LSGGameActivityViewController.h in Headers */, | |
137 | + ); | |
138 | + runOnlyForDeploymentPostprocessing = 0; | |
139 | + }; | |
140 | +/* End PBXHeadersBuildPhase section */ | |
141 | + | |
142 | +/* Begin PBXNativeTarget section */ | |
143 | + 752CAD5C20CE2AEE003C3840 /* GameActivitySDK */ = { | |
144 | + isa = PBXNativeTarget; | |
145 | + buildConfigurationList = 752CAD6620CE2AEE003C3840 /* Build configuration list for PBXNativeTarget "GameActivitySDK" */; | |
146 | + buildPhases = ( | |
147 | + 752CAD5920CE2AEE003C3840 /* Sources */, | |
148 | + 752CAD5A20CE2AEE003C3840 /* Frameworks */, | |
149 | + 752CAD5B20CE2AEE003C3840 /* CopyFiles */, | |
150 | + 752CAD6D20CE2B52003C3840 /* ShellScript */, | |
151 | + 752CAD7620CE3FFE003C3840 /* Headers */, | |
152 | + ); | |
153 | + buildRules = ( | |
154 | + ); | |
155 | + dependencies = ( | |
156 | + ); | |
157 | + name = GameActivitySDK; | |
158 | + productName = GameActivitySDK; | |
159 | + productReference = 752CAD5D20CE2AEE003C3840 /* libGameActivitySDK.a */; | |
160 | + productType = "com.apple.product-type.library.static"; | |
161 | + }; | |
162 | +/* End PBXNativeTarget section */ | |
163 | + | |
164 | +/* Begin PBXProject section */ | |
165 | + 752CAD5520CE2AEE003C3840 /* Project object */ = { | |
166 | + isa = PBXProject; | |
167 | + attributes = { | |
168 | + LastUpgradeCheck = 0900; | |
169 | + ORGANIZATIONNAME = alexYang; | |
170 | + TargetAttributes = { | |
171 | + 752CAD5C20CE2AEE003C3840 = { | |
172 | + CreatedOnToolsVersion = 9.0; | |
173 | + ProvisioningStyle = Automatic; | |
174 | + }; | |
175 | + 752CAD6920CE2B37003C3840 = { | |
176 | + CreatedOnToolsVersion = 9.0; | |
177 | + ProvisioningStyle = Automatic; | |
178 | + }; | |
179 | + }; | |
180 | + }; | |
181 | + buildConfigurationList = 752CAD5820CE2AEE003C3840 /* Build configuration list for PBXProject "GameActivitySDK" */; | |
182 | + compatibilityVersion = "Xcode 8.0"; | |
183 | + developmentRegion = en; | |
184 | + hasScannedForEncodings = 0; | |
185 | + knownRegions = ( | |
186 | + en, | |
187 | + ); | |
188 | + mainGroup = 752CAD5420CE2AEE003C3840; | |
189 | + productRefGroup = 752CAD5E20CE2AEE003C3840 /* Products */; | |
190 | + projectDirPath = ""; | |
191 | + projectRoot = ""; | |
192 | + targets = ( | |
193 | + 752CAD5C20CE2AEE003C3840 /* GameActivitySDK */, | |
194 | + 752CAD6920CE2B37003C3840 /* GameActivitySDK.framework */, | |
195 | + ); | |
196 | + }; | |
197 | +/* End PBXProject section */ | |
198 | + | |
199 | +/* Begin PBXShellScriptBuildPhase section */ | |
200 | + 752CAD6D20CE2B52003C3840 /* ShellScript */ = { | |
201 | + isa = PBXShellScriptBuildPhase; | |
202 | + buildActionMask = 2147483647; | |
203 | + files = ( | |
204 | + ); | |
205 | + inputPaths = ( | |
206 | + ); | |
207 | + outputPaths = ( | |
208 | + ); | |
209 | + runOnlyForDeploymentPostprocessing = 0; | |
210 | + shellPath = /bin/sh; | |
211 | + shellScript = "set -e\n\nif [ ${DEPLOYMENT_LOCATION} == \"YES\" ]; then\necho \"Deploying, exit\"\nexit 0\nfi\n\nexport FRAMEWORK_LOCN=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework\"\nrm -rf ${FRAMEWORK_LOCN}\n# Create the path to the real Headers die\nmkdir -p \"${FRAMEWORK_LOCN}/Versions/A/Headers\"\n\n# Create the required symlinks\n/bin/ln -sfh A \"${FRAMEWORK_LOCN}/Versions/Current\"\n/bin/ln -sfh Versions/Current/Headers \"${FRAMEWORK_LOCN}/Headers\"\n/bin/ln -sfh \"Versions/Current/${PRODUCT_NAME}\" \\\n\"${FRAMEWORK_LOCN}/${PRODUCT_NAME}\"\n\necho \"taget built dir=${TARGET_BUILD_DIR},public headers path=${PUBLIC_HEADERS_FOLDER_PATH}\"\n# Copy the public headers into the framework\necho \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/\"\necho \"${FRAMEWORK_LOCN}/Versions/A/Headers\"\n\n/bin/cp -a \"${TARGET_BUILD_DIR}${PUBLIC_HEADERS_FOLDER_PATH}/\" \\\n\"${FRAMEWORK_LOCN}/Versions/A/Headers\"\n\necho \"Framework built successfully\""; | |
212 | + }; | |
213 | + 752CAD6F20CE2B7C003C3840 /* ShellScript */ = { | |
214 | + isa = PBXShellScriptBuildPhase; | |
215 | + buildActionMask = 2147483647; | |
216 | + files = ( | |
217 | + ); | |
218 | + inputPaths = ( | |
219 | + ); | |
220 | + outputPaths = ( | |
221 | + ); | |
222 | + runOnlyForDeploymentPostprocessing = 0; | |
223 | + shellPath = /bin/sh; | |
224 | + shellScript = "set -e\n\n# If we're already inside this script then die\nif [ -n \"$RW_MULTIPLATFORM_BUILD_IN_PROGRESS\" ]; then\nexit 0\nfi\nexport RW_MULTIPLATFORM_BUILD_IN_PROGRESS=1\n\nRW_FRAMEWORK_NAME=${PROJECT_NAME}\nRW_INPUT_STATIC_LIB=\"lib${PROJECT_NAME}.a\"\nRW_FRAMEWORK_LOCATION=\"${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.framework\"\n#RW_BUNDLE_NAME=\"VKSdkResources\"\n\n\nfunction build_static_library {\n # Will rebuild the static library as specified\n # build_static_library sdk\n xcrun xcodebuild -project \"${PROJECT_FILE_PATH}\" \\\n -target \"${TARGET_NAME}\" \\\n -configuration \"${CONFIGURATION}\" \\\n -sdk \"${1}\" \\\n ONLY_ACTIVE_ARCH=NO \\\n BUILD_DIR=\"${BUILD_DIR}\" \\\n OBJROOT=\"${OBJROOT}\" \\\n BUILD_ROOT=\"${BUILD_ROOT}\" \\\n SYMROOT=\"${SYMROOT}\" $ACTION\n}\n\nfunction make_fat_library {\n # Will smash 2 static libs together\n # make_fat_library in1 in2 out\n #xcrun\n lipo -create \"${1}\" \"${2}\" -output \"${3}\"\n}\n\n\n# 1 - Extract the platform (iphoneos/iphonesimulator) from the SDK name\nif [[ \"$SDK_NAME\" =~ ([A-Za-z]+) ]]; then\nRW_SDK_PLATFORM=${BASH_REMATCH[1]}\nelse\necho \"Could not find platform name from SDK_NAME: $SDK_NAME\"\nexit 1\nfi\n\n# 2 - Extract the version from the SDK\nif [[ \"$SDK_NAME\" =~ ([0-9]+.*$) ]]; then\nRW_SDK_VERSION=${BASH_REMATCH[1]}\nelse\necho \"Could not find sdk version from SDK_NAME: $SDK_NAME\"\nexit 1\nfi\n\n# 3 - Determine the other platform\nif [ \"$RW_SDK_PLATFORM\" == \"iphoneos\" ]; then\nRW_OTHER_PLATFORM=iphonesimulator\nelse\nRW_OTHER_PLATFORM=iphoneos\nfi\n\n# 4 - Find the build directory\nif [[ \"$BUILT_PRODUCTS_DIR\" =~ (.*)$RW_SDK_PLATFORM$ ]]; then\nRW_OTHER_BUILT_PRODUCTS_DIR=\"${BASH_REMATCH[1]}${RW_OTHER_PLATFORM}\"\nelse\necho \"Could not find other platform build directory.\"\nexit 1\nfi\n\n# Build the other platform.\nbuild_static_library \"${RW_OTHER_PLATFORM}${RW_SDK_VERSION}\"\n\n# If we're currently building for iphonesimulator, then need to rebuild\n# to ensure that we get both i386 and x86_64\nif [ \"$RW_SDK_PLATFORM\" == \"iphonesimulator\" ]; then\nbuild_static_library \"${SDK_NAME}\"\nfi\n\n# Join the 2 static libs into 1 and push into the .framework\nmake_fat_library \"${BUILT_PRODUCTS_DIR}/${RW_INPUT_STATIC_LIB}\" \\\n\"${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_INPUT_STATIC_LIB}\" \\\n\"${RW_FRAMEWORK_LOCATION}/Versions/A/${RW_FRAMEWORK_NAME}\"\n\n# Ensure that the framework is present in both platform's build directories\ncp -a \"${RW_FRAMEWORK_LOCATION}/Versions/A/${RW_FRAMEWORK_NAME}\" \\\n\"${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.framework/Versions/A/${RW_FRAMEWORK_NAME}\"\n\n# Copy the framework to the user's desktop\nditto \"${RW_FRAMEWORK_LOCATION}\" \"${SRCROOT}/${RW_FRAMEWORK_NAME}.framework\"\n\nopen ${SRCROOT}\n"; | |
225 | + }; | |
226 | +/* End PBXShellScriptBuildPhase section */ | |
227 | + | |
228 | +/* Begin PBXSourcesBuildPhase section */ | |
229 | + 752CAD5920CE2AEE003C3840 /* Sources */ = { | |
230 | + isa = PBXSourcesBuildPhase; | |
231 | + buildActionMask = 2147483647; | |
232 | + files = ( | |
233 | + 752CAD7C20CE4515003C3840 /* LSGGameActivityViewController.m in Sources */, | |
234 | + 752CAD7520CE2BF9003C3840 /* LetsGameActivityAPI.m in Sources */, | |
235 | + 75A510DD20CF65E0008A4F04 /* LSGColor.m in Sources */, | |
236 | + ); | |
237 | + runOnlyForDeploymentPostprocessing = 0; | |
238 | + }; | |
239 | +/* End PBXSourcesBuildPhase section */ | |
240 | + | |
241 | +/* Begin PBXTargetDependency section */ | |
242 | + 752CAD7120CE2B94003C3840 /* PBXTargetDependency */ = { | |
243 | + isa = PBXTargetDependency; | |
244 | + target = 752CAD5C20CE2AEE003C3840 /* GameActivitySDK */; | |
245 | + targetProxy = 752CAD7020CE2B94003C3840 /* PBXContainerItemProxy */; | |
246 | + }; | |
247 | +/* End PBXTargetDependency section */ | |
248 | + | |
249 | +/* Begin XCBuildConfiguration section */ | |
250 | + 752CAD6420CE2AEE003C3840 /* Debug */ = { | |
251 | + isa = XCBuildConfiguration; | |
252 | + buildSettings = { | |
253 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
254 | + CLANG_ANALYZER_NONNULL = YES; | |
255 | + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | |
256 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; | |
257 | + CLANG_CXX_LIBRARY = "libc++"; | |
258 | + CLANG_ENABLE_MODULES = YES; | |
259 | + CLANG_ENABLE_OBJC_ARC = YES; | |
260 | + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | |
261 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
262 | + CLANG_WARN_COMMA = YES; | |
263 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
264 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | |
265 | + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | |
266 | + CLANG_WARN_EMPTY_BODY = YES; | |
267 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
268 | + CLANG_WARN_INFINITE_RECURSION = YES; | |
269 | + CLANG_WARN_INT_CONVERSION = YES; | |
270 | + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | |
271 | + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | |
272 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | |
273 | + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | |
274 | + CLANG_WARN_STRICT_PROTOTYPES = YES; | |
275 | + CLANG_WARN_SUSPICIOUS_MOVE = YES; | |
276 | + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; | |
277 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
278 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
279 | + CODE_SIGN_IDENTITY = "iPhone Developer"; | |
280 | + COPY_PHASE_STRIP = NO; | |
281 | + DEBUG_INFORMATION_FORMAT = dwarf; | |
282 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
283 | + ENABLE_TESTABILITY = YES; | |
284 | + GCC_C_LANGUAGE_STANDARD = gnu11; | |
285 | + GCC_DYNAMIC_NO_PIC = NO; | |
286 | + GCC_NO_COMMON_BLOCKS = YES; | |
287 | + GCC_OPTIMIZATION_LEVEL = 0; | |
288 | + GCC_PREPROCESSOR_DEFINITIONS = ( | |
289 | + "DEBUG=1", | |
290 | + "$(inherited)", | |
291 | + ); | |
292 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
293 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | |
294 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
295 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | |
296 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
297 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
298 | + IPHONEOS_DEPLOYMENT_TARGET = 11.0; | |
299 | + MTL_ENABLE_DEBUG_INFO = YES; | |
300 | + ONLY_ACTIVE_ARCH = YES; | |
301 | + SDKROOT = iphoneos; | |
302 | + }; | |
303 | + name = Debug; | |
304 | + }; | |
305 | + 752CAD6520CE2AEE003C3840 /* Release */ = { | |
306 | + isa = XCBuildConfiguration; | |
307 | + buildSettings = { | |
308 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
309 | + CLANG_ANALYZER_NONNULL = YES; | |
310 | + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | |
311 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; | |
312 | + CLANG_CXX_LIBRARY = "libc++"; | |
313 | + CLANG_ENABLE_MODULES = YES; | |
314 | + CLANG_ENABLE_OBJC_ARC = YES; | |
315 | + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | |
316 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
317 | + CLANG_WARN_COMMA = YES; | |
318 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
319 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | |
320 | + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | |
321 | + CLANG_WARN_EMPTY_BODY = YES; | |
322 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
323 | + CLANG_WARN_INFINITE_RECURSION = YES; | |
324 | + CLANG_WARN_INT_CONVERSION = YES; | |
325 | + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | |
326 | + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | |
327 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | |
328 | + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | |
329 | + CLANG_WARN_STRICT_PROTOTYPES = YES; | |
330 | + CLANG_WARN_SUSPICIOUS_MOVE = YES; | |
331 | + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; | |
332 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
333 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
334 | + CODE_SIGN_IDENTITY = "iPhone Developer"; | |
335 | + COPY_PHASE_STRIP = NO; | |
336 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
337 | + ENABLE_NS_ASSERTIONS = NO; | |
338 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
339 | + GCC_C_LANGUAGE_STANDARD = gnu11; | |
340 | + GCC_NO_COMMON_BLOCKS = YES; | |
341 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
342 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | |
343 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
344 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | |
345 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
346 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
347 | + IPHONEOS_DEPLOYMENT_TARGET = 11.0; | |
348 | + MTL_ENABLE_DEBUG_INFO = NO; | |
349 | + SDKROOT = iphoneos; | |
350 | + VALIDATE_PRODUCT = YES; | |
351 | + }; | |
352 | + name = Release; | |
353 | + }; | |
354 | + 752CAD6720CE2AEE003C3840 /* Debug */ = { | |
355 | + isa = XCBuildConfiguration; | |
356 | + buildSettings = { | |
357 | + CODE_SIGN_STYLE = Automatic; | |
358 | + FRAMEWORK_SEARCH_PATHS = ( | |
359 | + "$(inherited)", | |
360 | + "$(PROJECT_DIR)/GameActivitySDK/", | |
361 | + "$(PROJECT_DIR)", | |
362 | + "$(SRCROOT)/../..", | |
363 | + ); | |
364 | + GCC_NO_COMMON_BLOCKS = NO; | |
365 | + HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/GameActivitySDK/"; | |
366 | + LIBRARY_SEARCH_PATHS = ( | |
367 | + "$(inherited)", | |
368 | + "$(PROJECT_DIR)/", | |
369 | + "$(PROJECT_DIR)", | |
370 | + ); | |
371 | + ONLY_ACTIVE_ARCH = NO; | |
372 | + OTHER_LDFLAGS = ( | |
373 | + "-ObjC", | |
374 | + "-all_load", | |
375 | + ); | |
376 | + PRIVATE_HEADERS_FOLDER_PATH = /../GameActivitySDK/Private; | |
377 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
378 | + PUBLIC_HEADERS_FOLDER_PATH = "/include/$(PRODUCT_NAME)"; | |
379 | + SKIP_INSTALL = YES; | |
380 | + TARGETED_DEVICE_FAMILY = "1,2"; | |
381 | + }; | |
382 | + name = Debug; | |
383 | + }; | |
384 | + 752CAD6820CE2AEE003C3840 /* Release */ = { | |
385 | + isa = XCBuildConfiguration; | |
386 | + buildSettings = { | |
387 | + CODE_SIGN_STYLE = Automatic; | |
388 | + FRAMEWORK_SEARCH_PATHS = ( | |
389 | + "$(inherited)", | |
390 | + "$(PROJECT_DIR)/GameActivitySDK/", | |
391 | + "$(PROJECT_DIR)", | |
392 | + "$(SRCROOT)/../..", | |
393 | + ); | |
394 | + GCC_NO_COMMON_BLOCKS = NO; | |
395 | + HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/GameActivitySDK/"; | |
396 | + LIBRARY_SEARCH_PATHS = ( | |
397 | + "$(inherited)", | |
398 | + "$(PROJECT_DIR)/", | |
399 | + "$(PROJECT_DIR)", | |
400 | + ); | |
401 | + OTHER_LDFLAGS = ( | |
402 | + "-ObjC", | |
403 | + "-all_load", | |
404 | + ); | |
405 | + PRIVATE_HEADERS_FOLDER_PATH = /../GameActivitySDK/Private; | |
406 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
407 | + PUBLIC_HEADERS_FOLDER_PATH = "/include/$(PRODUCT_NAME)"; | |
408 | + SKIP_INSTALL = YES; | |
409 | + TARGETED_DEVICE_FAMILY = "1,2"; | |
410 | + }; | |
411 | + name = Release; | |
412 | + }; | |
413 | + 752CAD6B20CE2B37003C3840 /* Debug */ = { | |
414 | + isa = XCBuildConfiguration; | |
415 | + buildSettings = { | |
416 | + CODE_SIGN_STYLE = Automatic; | |
417 | + ONLY_ACTIVE_ARCH = NO; | |
418 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
419 | + }; | |
420 | + name = Debug; | |
421 | + }; | |
422 | + 752CAD6C20CE2B37003C3840 /* Release */ = { | |
423 | + isa = XCBuildConfiguration; | |
424 | + buildSettings = { | |
425 | + CODE_SIGN_STYLE = Automatic; | |
426 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
427 | + }; | |
428 | + name = Release; | |
429 | + }; | |
430 | +/* End XCBuildConfiguration section */ | |
431 | + | |
432 | +/* Begin XCConfigurationList section */ | |
433 | + 752CAD5820CE2AEE003C3840 /* Build configuration list for PBXProject "GameActivitySDK" */ = { | |
434 | + isa = XCConfigurationList; | |
435 | + buildConfigurations = ( | |
436 | + 752CAD6420CE2AEE003C3840 /* Debug */, | |
437 | + 752CAD6520CE2AEE003C3840 /* Release */, | |
438 | + ); | |
439 | + defaultConfigurationIsVisible = 0; | |
440 | + defaultConfigurationName = Release; | |
441 | + }; | |
442 | + 752CAD6620CE2AEE003C3840 /* Build configuration list for PBXNativeTarget "GameActivitySDK" */ = { | |
443 | + isa = XCConfigurationList; | |
444 | + buildConfigurations = ( | |
445 | + 752CAD6720CE2AEE003C3840 /* Debug */, | |
446 | + 752CAD6820CE2AEE003C3840 /* Release */, | |
447 | + ); | |
448 | + defaultConfigurationIsVisible = 0; | |
449 | + defaultConfigurationName = Release; | |
450 | + }; | |
451 | + 752CAD6A20CE2B37003C3840 /* Build configuration list for PBXAggregateTarget "GameActivitySDK.framework" */ = { | |
452 | + isa = XCConfigurationList; | |
453 | + buildConfigurations = ( | |
454 | + 752CAD6B20CE2B37003C3840 /* Debug */, | |
455 | + 752CAD6C20CE2B37003C3840 /* Release */, | |
456 | + ); | |
457 | + defaultConfigurationIsVisible = 0; | |
458 | + defaultConfigurationName = Release; | |
459 | + }; | |
460 | +/* End XCConfigurationList section */ | |
461 | + }; | |
462 | + rootObject = 752CAD5520CE2AEE003C3840 /* Project object */; | |
463 | +} |
GameActivitySDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata
GameActivitySDK.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
GameActivitySDK.xcodeproj/xcuserdata/yanglele.xcuserdatad/xcschemes/GameActivitySDK.framework.xcscheme
... | ... | @@ -0,0 +1,82 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<Scheme | |
3 | + LastUpgradeVersion = "0900" | |
4 | + version = "1.3"> | |
5 | + <BuildAction | |
6 | + parallelizeBuildables = "YES" | |
7 | + buildImplicitDependencies = "YES"> | |
8 | + <BuildActionEntries> | |
9 | + <BuildActionEntry | |
10 | + buildForTesting = "YES" | |
11 | + buildForRunning = "YES" | |
12 | + buildForProfiling = "YES" | |
13 | + buildForArchiving = "YES" | |
14 | + buildForAnalyzing = "YES"> | |
15 | + <BuildableReference | |
16 | + BuildableIdentifier = "primary" | |
17 | + BlueprintIdentifier = "752CAD6920CE2B37003C3840" | |
18 | + BuildableName = "GameActivitySDK.framework" | |
19 | + BlueprintName = "GameActivitySDK.framework" | |
20 | + ReferencedContainer = "container:GameActivitySDK.xcodeproj"> | |
21 | + </BuildableReference> | |
22 | + </BuildActionEntry> | |
23 | + </BuildActionEntries> | |
24 | + </BuildAction> | |
25 | + <TestAction | |
26 | + buildConfiguration = "Debug" | |
27 | + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |
28 | + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |
29 | + language = "" | |
30 | + shouldUseLaunchSchemeArgsEnv = "YES"> | |
31 | + <Testables> | |
32 | + </Testables> | |
33 | + <AdditionalOptions> | |
34 | + </AdditionalOptions> | |
35 | + </TestAction> | |
36 | + <LaunchAction | |
37 | + buildConfiguration = "Debug" | |
38 | + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |
39 | + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |
40 | + language = "" | |
41 | + launchStyle = "0" | |
42 | + useCustomWorkingDirectory = "NO" | |
43 | + ignoresPersistentStateOnLaunch = "NO" | |
44 | + debugDocumentVersioning = "YES" | |
45 | + debugServiceExtension = "internal" | |
46 | + allowLocationSimulation = "YES"> | |
47 | + <MacroExpansion> | |
48 | + <BuildableReference | |
49 | + BuildableIdentifier = "primary" | |
50 | + BlueprintIdentifier = "752CAD6920CE2B37003C3840" | |
51 | + BuildableName = "GameActivitySDK.framework" | |
52 | + BlueprintName = "GameActivitySDK.framework" | |
53 | + ReferencedContainer = "container:GameActivitySDK.xcodeproj"> | |
54 | + </BuildableReference> | |
55 | + </MacroExpansion> | |
56 | + <AdditionalOptions> | |
57 | + </AdditionalOptions> | |
58 | + </LaunchAction> | |
59 | + <ProfileAction | |
60 | + buildConfiguration = "Release" | |
61 | + shouldUseLaunchSchemeArgsEnv = "YES" | |
62 | + savedToolIdentifier = "" | |
63 | + useCustomWorkingDirectory = "NO" | |
64 | + debugDocumentVersioning = "YES"> | |
65 | + <MacroExpansion> | |
66 | + <BuildableReference | |
67 | + BuildableIdentifier = "primary" | |
68 | + BlueprintIdentifier = "752CAD6920CE2B37003C3840" | |
69 | + BuildableName = "GameActivitySDK.framework" | |
70 | + BlueprintName = "GameActivitySDK.framework" | |
71 | + ReferencedContainer = "container:GameActivitySDK.xcodeproj"> | |
72 | + </BuildableReference> | |
73 | + </MacroExpansion> | |
74 | + </ProfileAction> | |
75 | + <AnalyzeAction | |
76 | + buildConfiguration = "Debug"> | |
77 | + </AnalyzeAction> | |
78 | + <ArchiveAction | |
79 | + buildConfiguration = "Release" | |
80 | + revealArchiveInOrganizer = "YES"> | |
81 | + </ArchiveAction> | |
82 | +</Scheme> |
GameActivitySDK.xcodeproj/xcuserdata/yanglele.xcuserdatad/xcschemes/xcschememanagement.plist
... | ... | @@ -0,0 +1,27 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>SchemeUserState</key> | |
6 | + <dict> | |
7 | + <key>GameActivitySDK.framework.xcscheme</key> | |
8 | + <dict> | |
9 | + <key>orderHint</key> | |
10 | + <integer>0</integer> | |
11 | + </dict> | |
12 | + <key>GameActivitySDK.xcscheme</key> | |
13 | + <dict> | |
14 | + <key>orderHint</key> | |
15 | + <integer>4</integer> | |
16 | + </dict> | |
17 | + </dict> | |
18 | + <key>SuppressBuildableAutocreation</key> | |
19 | + <dict> | |
20 | + <key>752CAD6920CE2B37003C3840</key> | |
21 | + <dict> | |
22 | + <key>primary</key> | |
23 | + <true/> | |
24 | + </dict> | |
25 | + </dict> | |
26 | +</dict> | |
27 | +</plist> |
GameActivitySDK/LSGColor.h
... | ... | @@ -0,0 +1,20 @@ |
1 | + | |
2 | + | |
3 | +#import <Foundation/Foundation.h> | |
4 | +#import <CoreGraphics/CoreGraphics.h> | |
5 | + | |
6 | +@class UIColor; | |
7 | + | |
8 | + | |
9 | +@interface LSGColor : NSObject | |
10 | + | |
11 | ++ (UIColor *)colorWithHexValue:(NSInteger)color alpha:(CGFloat)alpha; | |
12 | ++ (UIColor *)colorWithHexString:(NSString *)stringToConvert; | |
13 | + | |
14 | ++ (UIColor *)backgroudColor; //FFFFFF | |
15 | ++ (UIColor *)textColor; //3E3E3E | |
16 | ++ (UIColor *)lightTextColor; //7E7E7E | |
17 | ++ (UIColor *)redColor; //D11301 | |
18 | ++ (UIColor *)borderColor; | |
19 | + | |
20 | +@end |
GameActivitySDK/LSGColor.m
... | ... | @@ -0,0 +1,73 @@ |
1 | + | |
2 | + | |
3 | +#import <UIKit/UIKit.h> | |
4 | +#import "LSGColor.h" | |
5 | + | |
6 | + | |
7 | +@implementation LSGColor | |
8 | + | |
9 | ++ (UIColor *)colorWithHexValue:(NSInteger)color alpha:(CGFloat)alpha { | |
10 | + return [UIColor colorWithRed:((float) ((color & 0xff0000) >> 16)) / 255.0 | |
11 | + green:((float) ((color & 0x00ff00) >> 8)) / 255.0 | |
12 | + blue:((float) (color & 0x0000ff)) / 255.0 | |
13 | + alpha:alpha]; | |
14 | +} | |
15 | + | |
16 | ++ (UIColor *)colorWithHexString:(NSString *)stringToConvert | |
17 | +{ | |
18 | + //去掉前后空格换行符 | |
19 | + NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; | |
20 | + | |
21 | + if ([cString hasPrefix:@"0X"]) | |
22 | + cString = [cString substringFromIndex:2]; | |
23 | + else if ([cString hasPrefix:@"#"]) | |
24 | + cString = [cString substringFromIndex:1]; | |
25 | + | |
26 | + if ([cString length] != 6) | |
27 | + return nil; | |
28 | + | |
29 | + // Separate into r, g, b substrings | |
30 | + NSRange range; | |
31 | + range.location = 0; | |
32 | + range.length = 2; | |
33 | + NSString *rString = [cString substringWithRange:range]; | |
34 | + | |
35 | + range.location = 2; | |
36 | + NSString *gString = [cString substringWithRange:range]; | |
37 | + | |
38 | + range.location = 4; | |
39 | + NSString *bString = [cString substringWithRange:range]; | |
40 | + | |
41 | + unsigned int r, g, b; | |
42 | + [[NSScanner scannerWithString:rString] scanHexInt:&r]; | |
43 | + [[NSScanner scannerWithString:gString] scanHexInt:&g]; | |
44 | + [[NSScanner scannerWithString:bString] scanHexInt:&b]; | |
45 | + return [UIColor colorWithRed:r / 255.0 green:g / 255.0 blue:b / 255.0 alpha:1.0]; | |
46 | +} | |
47 | + | |
48 | ++ (UIColor *)backgroudColor | |
49 | +{ | |
50 | + return [UIColor whiteColor]; //[UIColor whiteColor]; | |
51 | +} | |
52 | + | |
53 | ++ (UIColor *)textColor | |
54 | +{ | |
55 | + return [self colorWithHexValue:0x3E3E3E alpha:1.0]; | |
56 | +} | |
57 | + | |
58 | ++ (UIColor *)lightTextColor | |
59 | +{ | |
60 | + return [self colorWithHexValue:0x7E7E7E alpha:1.0]; | |
61 | +} | |
62 | + | |
63 | ++ (UIColor *)redColor | |
64 | +{ | |
65 | + return [self colorWithHexValue:0xD11301 alpha:1.0]; | |
66 | +} | |
67 | + | |
68 | ++ (UIColor *)borderColor | |
69 | +{ | |
70 | + return [self colorWithHexValue:0xeeeeee alpha:1.0]; | |
71 | +} | |
72 | + | |
73 | +@end |
GameActivitySDK/LSGGameActivityViewController.h
... | ... | @@ -0,0 +1,28 @@ |
1 | +// | |
2 | +// LSGGameActivityViewController.h | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <UIKit/UIKit.h> | |
10 | + | |
11 | +@interface LSGGameActivityViewController : UIViewController | |
12 | + | |
13 | +//appId=100&appKey=f899139df5e1059396431415e770c6dd&userId=123456&serverId=111&serverName=aaa&roleId=222&roleName=ccc&diamond=888 | |
14 | + | |
15 | +@property(nonatomic, copy) NSString *appId; | |
16 | +@property(nonatomic, copy) NSString *appKey; | |
17 | +@property(nonatomic, copy) NSString *userId; | |
18 | +@property(nonatomic, copy) NSString *serverId; | |
19 | +@property(nonatomic, copy) NSString *serverName; | |
20 | +@property(nonatomic, copy) NSString *roleId; | |
21 | +@property(nonatomic, copy) NSString *roleName; | |
22 | +@property(nonatomic, copy) NSString *diamond; | |
23 | + | |
24 | +@property(nonatomic, assign) BOOL *isDebug; | |
25 | + | |
26 | +@property(nonatomic, copy) void(^accomplistCallBack)(); | |
27 | + | |
28 | +@end |
GameActivitySDK/LSGGameActivityViewController.m
... | ... | @@ -0,0 +1,132 @@ |
1 | +// | |
2 | +// LSGGameActivityViewController.m | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "LSGGameActivityViewController.h" | |
10 | +#import "LetsGameActivityAPI.h" | |
11 | +#import "LSGColor.h" | |
12 | +#import "LSGUrl.h" | |
13 | +#import "LSGMacros.h" | |
14 | + | |
15 | +@interface LSGGameActivityViewController ()<UIWebViewDelegate> | |
16 | +@property(nonatomic, strong) UIWebView *webView; | |
17 | +@end | |
18 | + | |
19 | +@implementation LSGGameActivityViewController | |
20 | + | |
21 | +-(void)loadView{ | |
22 | + [super loadView]; | |
23 | + [self.navigationController setNavigationBarHidden:YES]; | |
24 | + self.view.backgroundColor = [LSGColor colorWithHexValue:0x181818 alpha:0.8]; | |
25 | + [self.view addSubview:self.webView]; | |
26 | +} | |
27 | + | |
28 | +- (void)viewDidLoad { | |
29 | + [super viewDidLoad]; | |
30 | + // Do any additional setup after loading the view. | |
31 | + | |
32 | + NSString *newUserAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"; | |
33 | + [[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent":newUserAgent}]; | |
34 | + | |
35 | + NSString *webViewUrlPath = [decideIsDebugOrRelease(self.isDebug) stringByAppendingString:kActivityAwardURL]; | |
36 | + NSMutableString *urlWithParams = [NSMutableString stringWithString:webViewUrlPath]; | |
37 | + | |
38 | + //appId=100&appKey=f899139df5e1059396431415e770c6dd&userId=123456&serverId=111&serverName=aaa&roleId=222&roleName=ccc&diamond=888 | |
39 | + NSMutableString *queryString = [NSMutableString new]; | |
40 | + [queryString appendFormat:@"appId=%@",self.appId]; | |
41 | + [queryString appendFormat:@"&appKey=%@", self.appKey]; | |
42 | + [queryString appendFormat:@"&userId=%@", self.userId]; | |
43 | + [queryString appendFormat:@"&serverId=%@", self.serverId]; | |
44 | + [queryString appendFormat:@"&serverName=%@", self.serverName]; | |
45 | + [queryString appendFormat:@"&roleId=%@", self.roleId]; | |
46 | + [queryString appendFormat:@"&roleName=%@", self.roleName]; | |
47 | + [queryString appendFormat:@"&diamond=%@", self.diamond]; | |
48 | + | |
49 | + [urlWithParams appendFormat:@"?%@", queryString]; | |
50 | + | |
51 | + NSString *urlEncode = [urlWithParams stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; | |
52 | + NSURL *url = [NSURL URLWithString:urlEncode]; | |
53 | + NSLog(@"activity Url %@", [url absoluteString]); | |
54 | + NSURLRequest *request = [NSURLRequest requestWithURL:url]; | |
55 | + [self.webView loadRequest:request]; | |
56 | +} | |
57 | + | |
58 | +-(UIWebView*)webView{ | |
59 | + if(!_webView){ | |
60 | + _webView = [[UIWebView alloc] init]; | |
61 | + _webView.delegate = self; | |
62 | + } | |
63 | + return _webView; | |
64 | +} | |
65 | + | |
66 | +-(void)viewDidLayoutSubviews{ | |
67 | + [super viewDidLayoutSubviews]; | |
68 | + [self layoutSubViews]; | |
69 | +} | |
70 | + | |
71 | +-(void)layoutSubViews{ | |
72 | + if (iPhoneX) { | |
73 | + _webView.frame = CGRectMake(0, 44, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-44-34); | |
74 | + }else{ | |
75 | + _webView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height); | |
76 | + } | |
77 | +} | |
78 | + | |
79 | +-(void)injectJSObject{ | |
80 | + NSString *jsPath = [[NSBundle mainBundle].resourcePath stringByAppendingFormat:@"/%@/ActJs.txt", kBundleName]; | |
81 | + NSString *jsStr = [NSString stringWithContentsOfFile:jsPath encoding:NSUTF8StringEncoding error:nil]; | |
82 | + [self.webView stringByEvaluatingJavaScriptFromString:jsStr]; | |
83 | + | |
84 | +} | |
85 | + | |
86 | +#pragma mark webView Delegate | |
87 | +-(void)webViewDidFinishLoad:(UIWebView *)webView{ | |
88 | + [self injectJSObject]; | |
89 | +} | |
90 | + | |
91 | +-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ | |
92 | + NSURL *url = [request URL]; | |
93 | + | |
94 | + NSString *urlStr = [url absoluteString]; | |
95 | + if([urlStr hasPrefix:@"jscall"]){ | |
96 | + NSArray *components = [urlStr componentsSeparatedByString:@":"]; | |
97 | + | |
98 | + NSString *function = (NSString*)[components objectAtIndex:1]; | |
99 | + //调用oc方法,忽略警告 | |
100 | +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" | |
101 | + NSString *funcSig = [NSString stringWithString:function]; | |
102 | + NSLog(@"select funcSig %@", funcSig); | |
103 | + | |
104 | + SEL selector = NSSelectorFromString(funcSig); | |
105 | + if ([self respondsToSelector:selector]) { | |
106 | + [self performSelector:selector]; | |
107 | + } | |
108 | + return NO; | |
109 | + }else{ | |
110 | + return YES; | |
111 | + } | |
112 | +} | |
113 | + | |
114 | +- (void)didReceiveMemoryWarning { | |
115 | + [super didReceiveMemoryWarning]; | |
116 | + // Dispose of any resources that can be recreated. | |
117 | +} | |
118 | + | |
119 | +#pragma js function | |
120 | +-(void)closeWin{ | |
121 | + // [[LetsGameAPI instance] hide]; | |
122 | + self.accomplistCallBack(); | |
123 | + //当成功完成时返回是1(包括支付成功和支付失败),其他的情况都是没有值 | |
124 | +// if ([args[0] isEqualToString:@"1"]) { | |
125 | +// //产生回调 | |
126 | +// self.accomplistCallBack(); | |
127 | +// } | |
128 | + //其余的关闭窗口 | |
129 | + [[LetsGameActivityAPI instance] hide]; | |
130 | +} | |
131 | + | |
132 | +@end |
GameActivitySDK/LSGMacros.h
... | ... | @@ -0,0 +1,24 @@ |
1 | +// | |
2 | +// LSGMacros.h | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#ifndef LSGMacros_h | |
10 | +#define LSGMacros_h | |
11 | + | |
12 | + | |
13 | +// 判断是否是iPhone X | |
14 | +#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO) | |
15 | +// 状态栏高度 | |
16 | +#define STATUS_BAR_HEIGHT (iPhoneX ? 44.f : 20.f) | |
17 | +// 导航栏高度 | |
18 | +#define NAVIGATION_BAR_HEIGHT (iPhoneX ? 88.f : 64.f) | |
19 | +// tabBar高度 | |
20 | +#define TAB_BAR_HEIGHT (iPhoneX ? (49.f+34.f) : 49.f) | |
21 | +// home indicator高度 | |
22 | +#define HOME_INDICATOR_HEIGHT (iPhoneX ? 34.f : 0.f) | |
23 | + | |
24 | +#endif /* LSGMacros_h */ |
GameActivitySDK/LSGUrl.h
... | ... | @@ -0,0 +1,21 @@ |
1 | +// | |
2 | +// LSGUrl.h | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#ifndef LSGUrl_h | |
10 | +#define LSGUrl_h | |
11 | + | |
12 | +#define devBaseURL @"https://devsdk.letsgame.mobi" | |
13 | +#define releaseBaseURL @"https://api.gumptech.com" | |
14 | + | |
15 | +#define kActivityAwardURL @"/activity/award.do" | |
16 | + | |
17 | + | |
18 | +#define kBundleName @"GameSDKResources.bundle" | |
19 | + | |
20 | +#define decideIsDebugOrRelease(isDebug) (isDebug > 0 ? devBaseURL: releaseBaseURL) | |
21 | +#endif /* LSGUrl_h */ |
GameActivitySDK/LetsGameActivityAPI.h
... | ... | @@ -0,0 +1,26 @@ |
1 | +// | |
2 | +// LetsGameActivityAPI.h | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <Foundation/Foundation.h> | |
10 | +#import <UIKit/UIKit.h> | |
11 | + | |
12 | +static NSString *actVersion = @"1.0.1"; | |
13 | + | |
14 | +@interface LetsGameActivityAPI : NSObject<UIApplicationDelegate> | |
15 | + | |
16 | +@property(nonatomic, assign) int isDebug; | |
17 | + | |
18 | ++(instancetype)instance; | |
19 | + | |
20 | +- (void)hide; | |
21 | + | |
22 | +-(void)decideIsDebug:(int)isDebug; | |
23 | + | |
24 | +-(void)GameActivityWithParaDictory:(NSDictionary *)paraDictory handleCallBackL:(void(^)(void))accomplistCallBack; | |
25 | + | |
26 | +@end |
GameActivitySDK/LetsGameActivityAPI.m
... | ... | @@ -0,0 +1,67 @@ |
1 | +// | |
2 | +// LetsGameActivityAPI.m | |
3 | +// GameActivitySDK | |
4 | +// | |
5 | +// Created by yanglele on 2018/6/11. | |
6 | +// Copyright © 2018年 alexYang. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "LetsGameActivityAPI.h" | |
10 | +#import "LSGGameActivityViewController.h" | |
11 | + | |
12 | +@interface LetsGameActivityAPI() | |
13 | + | |
14 | +@property(nonatomic, assign) BOOL isShowed; | |
15 | +@property(nonatomic, strong) UINavigationController *navigationController; | |
16 | + | |
17 | +@end | |
18 | + | |
19 | +@implementation LetsGameActivityAPI | |
20 | ++(instancetype)instance{ | |
21 | + static LetsGameActivityAPI *__single__; | |
22 | + static dispatch_once_t onceToken; | |
23 | + dispatch_once(&onceToken, ^{ | |
24 | + __single__ = [[LetsGameActivityAPI alloc] init]; | |
25 | + }); | |
26 | + return __single__; | |
27 | +} | |
28 | + | |
29 | +-(void)decideIsDebug:(int)isDebug{ | |
30 | + self.isDebug = isDebug; | |
31 | +} | |
32 | + | |
33 | +-(void)GameActivityWithParaDictory:(NSDictionary *)paraDictory handleCallBackL:(void(^)())accomplistCallBack{ | |
34 | + LSGGameActivityViewController *gameActivityVC = [[LSGGameActivityViewController alloc] init]; | |
35 | + gameActivityVC.appId = paraDictory[@"appId"]; | |
36 | + gameActivityVC.appKey = paraDictory[@"appKey"]; | |
37 | + gameActivityVC.userId = paraDictory[@"userId"]; | |
38 | + gameActivityVC.serverId = paraDictory[@"serverId"]; | |
39 | + gameActivityVC.serverName = paraDictory[@"serverName"]; | |
40 | + gameActivityVC.roleId = paraDictory[@"roleId"]; | |
41 | + gameActivityVC.roleName = paraDictory[@"roleName"]; | |
42 | + gameActivityVC.diamond = paraDictory[@"diamond"]; | |
43 | + | |
44 | + gameActivityVC.accomplistCallBack = accomplistCallBack; | |
45 | + | |
46 | + gameActivityVC.isDebug = self.isDebug; | |
47 | + self.navigationController = [[UINavigationController alloc] initWithRootViewController:gameActivityVC]; | |
48 | + [self show:[UIApplication sharedApplication].delegate.window]; | |
49 | + | |
50 | +} | |
51 | + | |
52 | +- (void)hide { | |
53 | + [self.navigationController popToRootViewControllerAnimated:NO]; | |
54 | + [self.navigationController.view removeFromSuperview]; | |
55 | + self.navigationController = nil; | |
56 | + self.isShowed = NO; | |
57 | +} | |
58 | + | |
59 | +- (void)show:(UIView *)view { | |
60 | + if (self.isShowed) { | |
61 | + return; | |
62 | + } | |
63 | + | |
64 | + [view addSubview:self.navigationController.view]; | |
65 | + self.isShowed = YES; | |
66 | +} | |
67 | +@end |