lizhihui

first add

Showing 143 changed files with 5317 additions and 0 deletions
No preview for this file type
No preview for this file type
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
269F653821B6613F006AEC88 /* HaiBaoJuheSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 269F653721B6613F006AEC88 /* HaiBaoJuheSDK.framework */; };
26B0AA0C22CB4AED00FBBC10 /* SDKInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = 26B0AA0B22CB4AEC00FBBC10 /* SDKInterface.m */; };
845D18221C8D778400F27EB9 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 845D181B1C8D778400F27EB9 /* Images.xcassets */; };
846BD2241EE9342700E89A1D /* guangka_config in Resources */ = {isa = PBXBuildFile; fileRef = 846BD21F1EE9342700E89A1D /* guangka_config */; };
847EE5E21EE9007E003A4B7B /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 847EE5E11EE9007E003A4B7B /* MainViewController.m */; };
8484E4F51EE7E0DC00B402D1 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8484E4F21EE7E0DC00B402D1 /* AppDelegate.m */; };
8484E4F61EE7E0DC00B402D1 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8484E4F41EE7E0DC00B402D1 /* ViewController.m */; };
8484E4FC1EE7E1D800B402D1 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E4FB1EE7E1D800B402D1 /* libsqlite3.dylib */; };
8484E4FE1EE7E1F700B402D1 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E4FD1EE7E1F700B402D1 /* CoreTelephony.framework */; };
8484E5001EE7E20C00B402D1 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E4FF1EE7E20C00B402D1 /* CFNetwork.framework */; };
8484E5021EE7E21F00B402D1 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5011EE7E21F00B402D1 /* UIKit.framework */; };
8484E5041EE7E24400B402D1 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5031EE7E24400B402D1 /* StoreKit.framework */; };
8484E5061EE7E24A00B402D1 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5051EE7E24A00B402D1 /* CoreMotion.framework */; };
8484E5081EE7E25600B402D1 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5071EE7E25600B402D1 /* CoreText.framework */; };
8484E50A1EE7E26200B402D1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5091EE7E26200B402D1 /* Security.framework */; };
8484E50C1EE7E27100B402D1 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E50B1EE7E27100B402D1 /* CoreGraphics.framework */; };
8484E50E1EE7E28000B402D1 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E50D1EE7E28000B402D1 /* QuartzCore.framework */; };
8484E5101EE7E29A00B402D1 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E50F1EE7E29A00B402D1 /* libc++.1.dylib */; };
8484E5121EE7E2B800B402D1 /* libz.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5111EE7E2B800B402D1 /* libz.1.dylib */; };
8484E5141EE7E2DE00B402D1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5131EE7E2DE00B402D1 /* Foundation.framework */; };
8484E5161EE7E36800B402D1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484E5151EE7E36800B402D1 /* SystemConfiguration.framework */; };
84A090AB1F160A69003D23FB /* TrackingIO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 84A090AA1F160A69003D23FB /* TrackingIO.a */; };
BB5F3C8E1C1811BC00DA339D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5F3C8D1C1811BC00DA339D /* main.m */; };
BB5F3C971C1811BC00DA339D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BB5F3C951C1811BC00DA339D /* Main.storyboard */; };
BB5F3CA81C1811BC00DA339D /* DemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5F3CA71C1811BC00DA339D /* DemoTests.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
BB5F3CA21C1811BC00DA339D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BB5F3C801C1811BC00DA339D /* Project object */;
proxyType = 1;
remoteGlobalIDString = BB5F3C871C1811BC00DA339D;
remoteInfo = Demo;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
84398BFB1C4C83EC0082D774 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
269F653721B6613F006AEC88 /* HaiBaoJuheSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HaiBaoJuheSDK.framework; sourceTree = "<group>"; };
26B0AA0A22CB4AEC00FBBC10 /* SDKInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDKInterface.h; path = poolsdk_file/poolsdk/SDKInterface.h; sourceTree = "<group>"; };
26B0AA0B22CB4AEC00FBBC10 /* SDKInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDKInterface.m; path = poolsdk_file/poolsdk/SDKInterface.m; sourceTree = "<group>"; };
845D181B1C8D778400F27EB9 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = poolsdk_file/poolsdk/Images.xcassets; sourceTree = "<group>"; };
845D181C1C8D778400F27EB9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = poolsdk_file/poolsdk/Info.plist; sourceTree = "<group>"; };
846BD21F1EE9342700E89A1D /* guangka_config */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = guangka_config; path = poolsdk_file/poolsdk/guangka_config; sourceTree = "<group>"; };
847EE5E01EE9007E003A4B7B /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = "<group>"; };
847EE5E11EE9007E003A4B7B /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = "<group>"; };
8484E4F11EE7E0DC00B402D1 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
8484E4F21EE7E0DC00B402D1 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
8484E4F31EE7E0DC00B402D1 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
8484E4F41EE7E0DC00B402D1 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
8484E4FB1EE7E1D800B402D1 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = ../../../../../../../../usr/lib/libsqlite3.dylib; sourceTree = "<group>"; };
8484E4FD1EE7E1F700B402D1 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
8484E4FF1EE7E20C00B402D1 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
8484E5011EE7E21F00B402D1 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
8484E5031EE7E24400B402D1 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
8484E5051EE7E24A00B402D1 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
8484E5071EE7E25600B402D1 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
8484E5091EE7E26200B402D1 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
8484E50B1EE7E27100B402D1 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
8484E50D1EE7E28000B402D1 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
8484E50F1EE7E29A00B402D1 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "../../../../../../../../usr/lib/libc++.1.dylib"; sourceTree = "<group>"; };
8484E5111EE7E2B800B402D1 /* libz.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.dylib; path = ../../../../../../../../usr/lib/libz.1.dylib; sourceTree = "<group>"; };
8484E5131EE7E2DE00B402D1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
8484E5151EE7E36800B402D1 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
84A090AA1F160A69003D23FB /* TrackingIO.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = TrackingIO.a; path = poolsdk_file/poolsdk/TrackingIO.a; sourceTree = "<group>"; };
84A090AC1F174E21003D23FB /* TrackingIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TrackingIO.h; path = poolsdk_file/poolsdk/TrackingIO.h; sourceTree = "<group>"; };
BB5F3C881C1811BC00DA339D /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; };
BB5F3C8D1C1811BC00DA339D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
BB5F3C961C1811BC00DA339D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
BB5F3C9B1C1811BC00DA339D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
BB5F3CA11C1811BC00DA339D /* DemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BB5F3CA61C1811BC00DA339D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BB5F3CA71C1811BC00DA339D /* DemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DemoTests.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
BB5F3C851C1811BC00DA339D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8484E5161EE7E36800B402D1 /* SystemConfiguration.framework in Frameworks */,
269F653821B6613F006AEC88 /* HaiBaoJuheSDK.framework in Frameworks */,
8484E4FC1EE7E1D800B402D1 /* libsqlite3.dylib in Frameworks */,
8484E5121EE7E2B800B402D1 /* libz.1.dylib in Frameworks */,
8484E5101EE7E29A00B402D1 /* libc++.1.dylib in Frameworks */,
8484E5001EE7E20C00B402D1 /* CFNetwork.framework in Frameworks */,
8484E5061EE7E24A00B402D1 /* CoreMotion.framework in Frameworks */,
8484E5021EE7E21F00B402D1 /* UIKit.framework in Frameworks */,
8484E50C1EE7E27100B402D1 /* CoreGraphics.framework in Frameworks */,
8484E5081EE7E25600B402D1 /* CoreText.framework in Frameworks */,
8484E50E1EE7E28000B402D1 /* QuartzCore.framework in Frameworks */,
8484E5141EE7E2DE00B402D1 /* Foundation.framework in Frameworks */,
8484E50A1EE7E26200B402D1 /* Security.framework in Frameworks */,
8484E5041EE7E24400B402D1 /* StoreKit.framework in Frameworks */,
8484E4FE1EE7E1F700B402D1 /* CoreTelephony.framework in Frameworks */,
84A090AB1F160A69003D23FB /* TrackingIO.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BB5F3C9E1C1811BC00DA339D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
8476DF631C4DD70500EC42BA /* poolsdk_file */ = {
isa = PBXGroup;
children = (
8476DF641C4DD71D00EC42BA /* poolsdk */,
);
name = poolsdk_file;
sourceTree = "<group>";
};
8476DF641C4DD71D00EC42BA /* poolsdk */ = {
isa = PBXGroup;
children = (
84A090AC1F174E21003D23FB /* TrackingIO.h */,
84A090AA1F160A69003D23FB /* TrackingIO.a */,
26B0AA0A22CB4AEC00FBBC10 /* SDKInterface.h */,
26B0AA0B22CB4AEC00FBBC10 /* SDKInterface.m */,
846BD21F1EE9342700E89A1D /* guangka_config */,
845D181B1C8D778400F27EB9 /* Images.xcassets */,
845D181C1C8D778400F27EB9 /* Info.plist */,
);
name = poolsdk;
sourceTree = "<group>";
};
BB5F3C7F1C1811BC00DA339D = {
isa = PBXGroup;
children = (
8484E5151EE7E36800B402D1 /* SystemConfiguration.framework */,
8484E5131EE7E2DE00B402D1 /* Foundation.framework */,
8484E5111EE7E2B800B402D1 /* libz.1.dylib */,
8484E50F1EE7E29A00B402D1 /* libc++.1.dylib */,
8484E50D1EE7E28000B402D1 /* QuartzCore.framework */,
8484E50B1EE7E27100B402D1 /* CoreGraphics.framework */,
8484E5091EE7E26200B402D1 /* Security.framework */,
8484E5071EE7E25600B402D1 /* CoreText.framework */,
8484E5051EE7E24A00B402D1 /* CoreMotion.framework */,
8484E5031EE7E24400B402D1 /* StoreKit.framework */,
8484E5011EE7E21F00B402D1 /* UIKit.framework */,
8484E4FF1EE7E20C00B402D1 /* CFNetwork.framework */,
8484E4FD1EE7E1F700B402D1 /* CoreTelephony.framework */,
8484E4FB1EE7E1D800B402D1 /* libsqlite3.dylib */,
8476DF631C4DD70500EC42BA /* poolsdk_file */,
BB5F3C8A1C1811BC00DA339D /* Demo */,
BB5F3CA41C1811BC00DA339D /* DemoTests */,
BB5F3C891C1811BC00DA339D /* Products */,
);
sourceTree = "<group>";
};
BB5F3C891C1811BC00DA339D /* Products */ = {
isa = PBXGroup;
children = (
BB5F3C881C1811BC00DA339D /* Demo.app */,
BB5F3CA11C1811BC00DA339D /* DemoTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
BB5F3C8A1C1811BC00DA339D /* Demo */ = {
isa = PBXGroup;
children = (
269F653721B6613F006AEC88 /* HaiBaoJuheSDK.framework */,
8484E4F11EE7E0DC00B402D1 /* AppDelegate.h */,
8484E4F21EE7E0DC00B402D1 /* AppDelegate.m */,
8484E4F31EE7E0DC00B402D1 /* ViewController.h */,
8484E4F41EE7E0DC00B402D1 /* ViewController.m */,
847EE5E01EE9007E003A4B7B /* MainViewController.h */,
847EE5E11EE9007E003A4B7B /* MainViewController.m */,
BB5F3C951C1811BC00DA339D /* Main.storyboard */,
BB5F3C9A1C1811BC00DA339D /* LaunchScreen.xib */,
BB5F3C8B1C1811BC00DA339D /* Supporting Files */,
);
path = Demo;
sourceTree = "<group>";
};
BB5F3C8B1C1811BC00DA339D /* Supporting Files */ = {
isa = PBXGroup;
children = (
BB5F3C8D1C1811BC00DA339D /* main.m */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
BB5F3CA41C1811BC00DA339D /* DemoTests */ = {
isa = PBXGroup;
children = (
BB5F3CA71C1811BC00DA339D /* DemoTests.m */,
BB5F3CA51C1811BC00DA339D /* Supporting Files */,
);
path = DemoTests;
sourceTree = "<group>";
};
BB5F3CA51C1811BC00DA339D /* Supporting Files */ = {
isa = PBXGroup;
children = (
BB5F3CA61C1811BC00DA339D /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
BB5F3C871C1811BC00DA339D /* Demo */ = {
isa = PBXNativeTarget;
buildConfigurationList = BB5F3CAB1C1811BC00DA339D /* Build configuration list for PBXNativeTarget "Demo" */;
buildPhases = (
BB5F3C841C1811BC00DA339D /* Sources */,
BB5F3C851C1811BC00DA339D /* Frameworks */,
BB5F3C861C1811BC00DA339D /* Resources */,
84398BFB1C4C83EC0082D774 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Demo;
productName = Demo;
productReference = BB5F3C881C1811BC00DA339D /* Demo.app */;
productType = "com.apple.product-type.application";
};
BB5F3CA01C1811BC00DA339D /* DemoTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = BB5F3CAE1C1811BC00DA339D /* Build configuration list for PBXNativeTarget "DemoTests" */;
buildPhases = (
BB5F3C9D1C1811BC00DA339D /* Sources */,
BB5F3C9E1C1811BC00DA339D /* Frameworks */,
BB5F3C9F1C1811BC00DA339D /* Resources */,
);
buildRules = (
);
dependencies = (
BB5F3CA31C1811BC00DA339D /* PBXTargetDependency */,
);
name = DemoTests;
productName = DemoTests;
productReference = BB5F3CA11C1811BC00DA339D /* DemoTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BB5F3C801C1811BC00DA339D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0640;
ORGANIZATIONNAME = winFan;
TargetAttributes = {
BB5F3C871C1811BC00DA339D = {
CreatedOnToolsVersion = 6.4;
DevelopmentTeam = PNDD7Y396D;
ProvisioningStyle = Manual;
};
BB5F3CA01C1811BC00DA339D = {
CreatedOnToolsVersion = 6.4;
TestTargetID = BB5F3C871C1811BC00DA339D;
};
};
};
buildConfigurationList = BB5F3C831C1811BC00DA339D /* Build configuration list for PBXProject "Demo" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = BB5F3C7F1C1811BC00DA339D;
productRefGroup = BB5F3C891C1811BC00DA339D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
BB5F3C871C1811BC00DA339D /* Demo */,
BB5F3CA01C1811BC00DA339D /* DemoTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
BB5F3C861C1811BC00DA339D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
845D18221C8D778400F27EB9 /* Images.xcassets in Resources */,
BB5F3C971C1811BC00DA339D /* Main.storyboard in Resources */,
846BD2241EE9342700E89A1D /* guangka_config in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BB5F3C9F1C1811BC00DA339D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
BB5F3C841C1811BC00DA339D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
26B0AA0C22CB4AED00FBBC10 /* SDKInterface.m in Sources */,
8484E4F51EE7E0DC00B402D1 /* AppDelegate.m in Sources */,
847EE5E21EE9007E003A4B7B /* MainViewController.m in Sources */,
BB5F3C8E1C1811BC00DA339D /* main.m in Sources */,
8484E4F61EE7E0DC00B402D1 /* ViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BB5F3C9D1C1811BC00DA339D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BB5F3CA81C1811BC00DA339D /* DemoTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
BB5F3CA31C1811BC00DA339D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = BB5F3C871C1811BC00DA339D /* Demo */;
targetProxy = BB5F3CA21C1811BC00DA339D /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
BB5F3C951C1811BC00DA339D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
BB5F3C961C1811BC00DA339D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
BB5F3C9A1C1811BC00DA339D /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
BB5F3C9B1C1811BC00DA339D /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
BB5F3CA91C1811BC00DA339D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.4;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
BB5F3CAA1C1811BC00DA339D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.4;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
BB5F3CAC1C1811BC00DA339D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = PNDD7Y396D;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Demo",
"$(PROJECT_DIR)/poolsdk_file/poolsdk",
"$(PROJECT_DIR)",
);
INFOPLIST_FILE = poolsdk_file/poolsdk/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Demo",
"$(PROJECT_DIR)/poolsdk_file/poolsdk",
);
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.test.youai;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "9303482b-bf64-4d76-83c5-97cec24e2bd5";
PROVISIONING_PROFILE_SPECIFIER = dev;
TARGETED_DEVICE_FAMILY = "1,2";
VALID_ARCHS = "arm64 armv7s";
};
name = Debug;
};
BB5F3CAD1C1811BC00DA339D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = PNDD7Y396D;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Demo",
"$(PROJECT_DIR)/poolsdk_file/poolsdk",
"$(PROJECT_DIR)",
);
INFOPLIST_FILE = poolsdk_file/poolsdk/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Demo",
"$(PROJECT_DIR)/poolsdk_file/poolsdk",
);
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.test.youai;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "8e8ee19d-d19f-41ba-9a9d-108915ed5380";
PROVISIONING_PROFILE_SPECIFIER = dis;
TARGETED_DEVICE_FAMILY = "1,2";
VALID_ARCHS = "arm64 armv7s";
};
name = Release;
};
BB5F3CAF1C1811BC00DA339D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(PROJECT_DIR)",
);
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = DemoTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Demo.app/Demo";
};
name = Debug;
};
BB5F3CB01C1811BC00DA339D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(PROJECT_DIR)",
);
INFOPLIST_FILE = DemoTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Demo.app/Demo";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
BB5F3C831C1811BC00DA339D /* Build configuration list for PBXProject "Demo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB5F3CA91C1811BC00DA339D /* Debug */,
BB5F3CAA1C1811BC00DA339D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BB5F3CAB1C1811BC00DA339D /* Build configuration list for PBXNativeTarget "Demo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB5F3CAC1C1811BC00DA339D /* Debug */,
BB5F3CAD1C1811BC00DA339D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BB5F3CAE1C1811BC00DA339D /* Build configuration list for PBXNativeTarget "DemoTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB5F3CAF1C1811BC00DA339D /* Debug */,
BB5F3CB01C1811BC00DA339D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BB5F3C801C1811BC00DA339D /* Project object */;
}
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Demo.xcodeproj">
</FileRef>
</Workspace>
{
"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "D1584AEF25B5C21395F515B62C90B71E0ACB26B2",
"DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
"5b13317c-0110-4367-8746-06bc6aadd3cd++2397" : {
}
},
"DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
"D1584AEF25B5C21395F515B62C90B71E0ACB26B2" : 0,
"5b13317c-0110-4367-8746-06bc6aadd3cd++2397" : 0
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "8119CC7B-EDC1-4646-9378-8ECAC2EEB94B",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
"D1584AEF25B5C21395F515B62C90B71E0ACB26B2" : "public_sdk_ios\/",
"5b13317c-0110-4367-8746-06bc6aadd3cd++2397" : "youai_foolsdk_ios\/"
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "Demo",
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
"DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "PoolSdk_Demo\/Demo.xcodeproj",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "svn:\/\/10.21.210.99",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Subversion",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "5b13317c-0110-4367-8746-06bc6aadd3cd++2397"
},
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "ssh:\/\/106.75.192.252:10022\/public_service\/public_sdk_ios.git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "D1584AEF25B5C21395F515B62C90B71E0ACB26B2"
}
]
}
\ No newline at end of file
<?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>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
<?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">
<array/>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
</Bucket>
<?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>
<key>SchemeUserState</key>
<dict>
<key>Demo.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "../PoolSdk/PoolSdk/SDKInterface.m"
timestampString = "471440051.171901"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "77"
endingLineNumber = "77"
landmarkName = "-receiveLoginMessage:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "../PoolSdk/PoolSdk/SDKInterface.m"
timestampString = "471440051.171901"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "43"
endingLineNumber = "43"
landmarkName = "-SDKloginSDK"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0640"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3CA01C1811BC00DA339D"
BuildableName = "DemoTests.xctest"
BlueprintName = "DemoTests"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3CA01C1811BC00DA339D"
BuildableName = "DemoTests.xctest"
BlueprintName = "DemoTests"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?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>
<key>SchemeUserState</key>
<dict>
<key>Demo.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>BB5F3C871C1811BC00DA339D</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>BB5F3CA01C1811BC00DA339D</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Demo/SDKInterface.h"
timestampString = "474775745.083759"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "9"
endingLineNumber = "9"
landmarkName = "@interface SDKInterface"
landmarkType = "2">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0700"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3CA01C1811BC00DA339D"
BuildableName = "DemoTests.xctest"
BlueprintName = "DemoTests"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
BuildableName = "Demo.app"
BlueprintName = "Demo"
ReferencedContainer = "container:Demo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?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>
<key>SchemeUserState</key>
<dict>
<key>Demo.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>BB5F3C871C1811BC00DA339D</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>BB5F3CA01C1811BC00DA339D</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
No preview for this file type
//
// AppDelegate.h
// publiDemo
//
// Created by winFan on 11/30/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
//
// AppDelegate.m
// publiDemo
//
// Created by winFan on 11/30/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import "AppDelegate.h"
#import "ViewController.h"
#import <HaiBaoJuheSDK/HaiBaoJuheSDK2.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSLog(@"didFinishLaunchingWithOptions");
[[HaiBaoJuheSDK shareSDK]application:application didFinishLaunchingWithOptions:launchOptions];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
[[HaiBaoJuheSDK shareSDK]applicationWillResignActive:application];
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
[[HaiBaoJuheSDK shareSDK]applicationDidEnterBackground:application];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
[[HaiBaoJuheSDK shareSDK]applicationDidBecomeActive:application];
}
- (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
NSLog(@"hanldeOpenURL%@",url.path );
[[HaiBaoJuheSDK shareSDK] handleOpenurl:url];
return true;
}
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{
[[HaiBaoJuheSDK shareSDK]application:app openURL:url options:options];
return YES;
}
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
[[HaiBaoJuheSDK shareSDK] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
return YES;
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
[[HaiBaoJuheSDK shareSDK] applicationWillEnterForeground:application];
}
@end
No preview for this file type
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2015 winFan. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
<rect key="frame" x="20" y="439" width="441" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Demo" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<rect key="frame" x="20" y="140" width="441" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="548" y="455"/>
</view>
</objects>
</document>
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Main View Controller-->
<scene sceneID="ufC-wZ-h7g">
<objects>
<viewController id="vXZ-lx-hvc" customClass="MainViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GQW-et-jRb">
<rect key="frame" x="44" y="85" width="208" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="初始化"/>
<connections>
<action selector="actionInit:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Srh-bu-gYD"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="s0O-FE-ge8">
<rect key="frame" x="61" y="123" width="175" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="登录"/>
<connections>
<action selector="actionLogin:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="381-gB-ImA"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JQY-uO-q36">
<rect key="frame" x="53" y="166" width="191" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="充值"/>
<connections>
<action selector="actionPay:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="bvf-M4-rqy"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5na-1c-IlO">
<rect key="frame" x="357" y="85" width="100" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="数据"/>
<connections>
<action selector="actionSubmitRoleData:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="aNf-Iw-unv"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jcX-L1-JB6">
<rect key="frame" x="377" y="166" width="60" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="切换账号"/>
<connections>
<action selector="actionSwitchAccount:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="miU-Hm-8cm"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Q9b-py-Nk0">
<rect key="frame" x="340" y="123" width="134" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="注销"/>
<connections>
<action selector="actionLogout:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="t6e-7P-tJU"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="445" y="282"/>
</scene>
</scenes>
</document>
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface EncryptTool : NSObject
+ (NSString *)base64EncodedStringWithWrapWidth:(NSUInteger)wrapWidth withData:(NSData *)argData;
+ (NSString *)doCipher:(NSString*)encryptValue;
+ (NSString *)decryptUseDES:(NSString *)cipherText;
@end
NS_ASSUME_NONNULL_END
#import <Foundation/Foundation.h>
#import "GTMDefines.h"
@interface GTMBase64 : NSObject
+(NSData *)encodeData:(NSData *)data;
+(NSData *)decodeData:(NSData *)data;
+(NSData *)encodeBytes:(const void *)bytes length:(NSUInteger)length;
+(NSData *)decodeBytes:(const void *)bytes length:(NSUInteger)length;
+(NSString *)stringByEncodingData:(NSData *)data;
+(NSString *)stringByEncodingBytes:(const void *)bytes length:(NSUInteger)length;
+(NSData *)decodeString:(NSString *)string;
+(NSData *)webSafeEncodeData:(NSData *)data
padded:(BOOL)padded;
+(NSData *)webSafeDecodeData:(NSData *)data;
+(NSData *)webSafeEncodeBytes:(const void *)bytes
length:(NSUInteger)length
padded:(BOOL)padded;
+(NSData *)webSafeDecodeBytes:(const void *)bytes length:(NSUInteger)length;
+(NSString *)stringByWebSafeEncodingData:(NSData *)data
padded:(BOOL)padded;
+(NSString *)stringByWebSafeEncodingBytes:(const void *)bytes
length:(NSUInteger)length
padded:(BOOL)padded;
+(NSData *)webSafeDecodeString:(NSString *)string;
@end
#include <AvailabilityMacros.h>
#include <TargetConditionals.h>
#if TARGET_OS_IPHONE
#include <Availability.h>
#endif // TARGET_OS_IPHONE
// Not all MAC_OS_X_VERSION_10_X macros defined in past SDKs
#ifndef MAC_OS_X_VERSION_10_5
#define MAC_OS_X_VERSION_10_5 1050
#endif
#ifndef MAC_OS_X_VERSION_10_6
#define MAC_OS_X_VERSION_10_6 1060
#endif
// Not all __IPHONE_X macros defined in past SDKs
#ifndef __IPHONE_2_1
#define __IPHONE_2_1 20100
#endif
#ifndef __IPHONE_2_2
#define __IPHONE_2_2 20200
#endif
#ifndef __IPHONE_3_0
#define __IPHONE_3_0 30000
#endif
#ifndef __IPHONE_3_1
#define __IPHONE_3_1 30100
#endif
#ifndef __IPHONE_3_2
#define __IPHONE_3_2 30200
#endif
#ifndef __IPHONE_4_0
#define __IPHONE_4_0 40000
#endif
// ----------------------------------------------------------------------------
// CPP symbols that can be overridden in a prefix to control how the toolbox
// is compiled.
// ----------------------------------------------------------------------------
// By setting the GTM_CONTAINERS_VALIDATION_FAILED_LOG and
// GTM_CONTAINERS_VALIDATION_FAILED_ASSERT macros you can control what happens
// when a validation fails. If you implement your own validators, you may want
// to control their internals using the same macros for consistency.
#ifndef GTM_CONTAINERS_VALIDATION_FAILED_ASSERT
#define GTM_CONTAINERS_VALIDATION_FAILED_ASSERT 0
#endif
// Give ourselves a consistent way to do inlines. Apple's macros even use
// a few different actual definitions, so we're based off of the foundation
// one.
#if !defined(GTM_INLINE)
#if defined (__GNUC__) && (__GNUC__ == 4)
#define GTM_INLINE static __inline__ __attribute__((always_inline))
#else
#define GTM_INLINE static __inline__
#endif
#endif
// Give ourselves a consistent way of doing externs that links up nicely
// when mixing objc and objc++
#if !defined (GTM_EXTERN)
#if defined __cplusplus
#define GTM_EXTERN extern "C"
#define GTM_EXTERN_C_BEGIN extern "C" {
#define GTM_EXTERN_C_END }
#else
#define GTM_EXTERN extern
#define GTM_EXTERN_C_BEGIN
#define GTM_EXTERN_C_END
#endif
#endif
// Give ourselves a consistent way of exporting things if we have visibility
// set to hidden.
#if !defined (GTM_EXPORT)
#define GTM_EXPORT __attribute__((visibility("default")))
#endif
// Give ourselves a consistent way of declaring something as unused. This
// doesn't use __unused because that is only supported in gcc 4.2 and greater.
#if !defined (GTM_UNUSED)
#define GTM_UNUSED(x) ((void)(x))
#endif
// _GTMDevLog & _GTMDevAssert
//
// _GTMDevLog & _GTMDevAssert are meant to be a very lightweight shell for
// developer level errors. This implementation simply macros to NSLog/NSAssert.
// It is not intended to be a general logging/reporting system.
//
// Please see http://code.google.com/p/google-toolbox-for-mac/wiki/DevLogNAssert
// for a little more background on the usage of these macros.
//
// _GTMDevLog log some error/problem in debug builds
// _GTMDevAssert assert if conditon isn't met w/in a method/function
// in all builds.
//
// To replace this system, just provide different macro definitions in your
// prefix header. Remember, any implementation you provide *must* be thread
// safe since this could be called by anything in what ever situtation it has
// been placed in.
//
// We only define the simple macros if nothing else has defined this.
#ifndef _GTMDevLog
#ifdef DEBUG
#define _GTMDevLog(...) NSLog(__VA_ARGS__)
#else
#define _GTMDevLog(...) do { } while (0)
#endif
#endif // _GTMDevLog
#ifndef _GTMDevAssert
// we directly invoke the NSAssert handler so we can pass on the varargs
// (NSAssert doesn't have a macro we can use that takes varargs)
#if !defined(NS_BLOCK_ASSERTIONS)
#define _GTMDevAssert(condition, ...) \
do { \
if (!(condition)) { \
[[NSAssertionHandler currentHandler] \
handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \
file:[NSString stringWithUTF8String:__FILE__] \
lineNumber:__LINE__ \
description:__VA_ARGS__]; \
} \
} while(0)
#else // !defined(NS_BLOCK_ASSERTIONS)
#define _GTMDevAssert(condition, ...) do { } while (0)
#endif // !defined(NS_BLOCK_ASSERTIONS)
#endif // _GTMDevAssert
// _GTMCompileAssert
// _GTMCompileAssert is an assert that is meant to fire at compile time if you
// want to check things at compile instead of runtime. For example if you
// want to check that a wchar is 4 bytes instead of 2 you would use
// _GTMCompileAssert(sizeof(wchar_t) == 4, wchar_t_is_4_bytes_on_OS_X)
// Note that the second "arg" is not in quotes, and must be a valid processor
// symbol in it's own right (no spaces, punctuation etc).
// Wrapping this in an #ifndef allows external groups to define their own
// compile time assert scheme.
#ifndef _GTMCompileAssert
// We got this technique from here:
// http://unixjunkie.blogspot.com/2007/10/better-compile-time-asserts_29.html
#define _GTMCompileAssertSymbolInner(line, msg) _GTMCOMPILEASSERT ## line ## __ ## msg
#define _GTMCompileAssertSymbol(line, msg) _GTMCompileAssertSymbolInner(line, msg)
#define _GTMCompileAssert(test, msg) \
typedef char _GTMCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ]
#endif // _GTMCompileAssert
// ----------------------------------------------------------------------------
// CPP symbols defined based on the project settings so the GTM code has
// simple things to test against w/o scattering the knowledge of project
// setting through all the code.
// ----------------------------------------------------------------------------
// Provide a single constant CPP symbol that all of GTM uses for ifdefing
// iPhone code.
#if TARGET_OS_IPHONE // iPhone SDK
// For iPhone specific stuff
#define GTM_IPHONE_SDK 1
#if TARGET_IPHONE_SIMULATOR
#define GTM_IPHONE_SIMULATOR 1
#else
#define GTM_IPHONE_DEVICE 1
#endif // TARGET_IPHONE_SIMULATOR
#else
// For MacOS specific stuff
#define GTM_MACOS_SDK 1
#endif
// Some of our own availability macros
#if GTM_MACOS_SDK
#define GTM_AVAILABLE_ONLY_ON_IPHONE UNAVAILABLE_ATTRIBUTE
#define GTM_AVAILABLE_ONLY_ON_MACOS
#else
#define GTM_AVAILABLE_ONLY_ON_IPHONE
#define GTM_AVAILABLE_ONLY_ON_MACOS UNAVAILABLE_ATTRIBUTE
#endif
// Provide a symbol to include/exclude extra code for GC support. (This mainly
// just controls the inclusion of finalize methods).
#ifndef GTM_SUPPORT_GC
#if GTM_IPHONE_SDK
// iPhone never needs GC
#define GTM_SUPPORT_GC 0
#else
// We can't find a symbol to tell if GC is supported/required, so best we
// do on Mac targets is include it if we're on 10.5 or later.
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
#define GTM_SUPPORT_GC 0
#else
#define GTM_SUPPORT_GC 1
#endif
#endif
#endif
// To simplify support for 64bit (and Leopard in general), we provide the type
// defines for non Leopard SDKs
#if !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
// NSInteger/NSUInteger and Max/Mins
#ifndef NSINTEGER_DEFINED
#if __LP64__ || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
#define NSIntegerMax LONG_MAX
#define NSIntegerMin LONG_MIN
#define NSUIntegerMax ULONG_MAX
#define NSINTEGER_DEFINED 1
#endif // NSINTEGER_DEFINED
// CGFloat
#ifndef CGFLOAT_DEFINED
#if defined(__LP64__) && __LP64__
// This really is an untested path (64bit on Tiger?)
typedef double CGFloat;
#define CGFLOAT_MIN DBL_MIN
#define CGFLOAT_MAX DBL_MAX
#define CGFLOAT_IS_DOUBLE 1
#else /* !defined(__LP64__) || !__LP64__ */
typedef float CGFloat;
#define CGFLOAT_MIN FLT_MIN
#define CGFLOAT_MAX FLT_MAX
#define CGFLOAT_IS_DOUBLE 0
#endif /* !defined(__LP64__) || !__LP64__ */
#define CGFLOAT_DEFINED 1
#endif // CGFLOAT_DEFINED
#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
// Some support for advanced clang static analysis functionality
// See http://clang-analyzer.llvm.org/annotations.html
#ifndef __has_feature // Optional.
#define __has_feature(x) 0 // Compatibility with non-clang compilers.
#endif
#ifndef NS_RETURNS_RETAINED
#if __has_feature(attribute_ns_returns_retained)
#define NS_RETURNS_RETAINED __attribute__((ns_returns_retained))
#else
#define NS_RETURNS_RETAINED
#endif
#endif
#ifndef NS_RETURNS_NOT_RETAINED
#if __has_feature(attribute_ns_returns_not_retained)
#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
#else
#define NS_RETURNS_NOT_RETAINED
#endif
#endif
#ifndef CF_RETURNS_RETAINED
#if __has_feature(attribute_cf_returns_retained)
#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))
#else
#define CF_RETURNS_RETAINED
#endif
#endif
#ifndef CF_RETURNS_NOT_RETAINED
#if __has_feature(attribute_cf_returns_not_retained)
#define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained))
#else
#define CF_RETURNS_NOT_RETAINED
#endif
#endif
// Defined on 10.6 and above.
#ifndef NS_FORMAT_ARGUMENT
#define NS_FORMAT_ARGUMENT(A)
#endif
// Defined on 10.6 and above.
#ifndef NS_FORMAT_FUNCTION
#define NS_FORMAT_FUNCTION(F,A)
#endif
// Defined on 10.6 and above.
#ifndef CF_FORMAT_ARGUMENT
#define CF_FORMAT_ARGUMENT(A)
#endif
// Defined on 10.6 and above.
#ifndef CF_FORMAT_FUNCTION
#define CF_FORMAT_FUNCTION(F,A)
#endif
#ifndef GTM_NONNULL
#define GTM_NONNULL(x) __attribute__((nonnull(x)))
#endif
#ifdef __OBJC__
// Declared here so that it can easily be used for logging tracking if
// necessary. See GTMUnitTestDevLog.h for details.
@class NSString;
GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...);
// Macro to allow you to create NSStrings out of other macros.
// #define FOO foo
// NSString *fooString = GTM_NSSTRINGIFY(FOO);
#if !defined (GTM_NSSTRINGIFY)
#define GTM_NSSTRINGIFY_INNER(x) @#x
#define GTM_NSSTRINGIFY(x) GTM_NSSTRINGIFY_INNER(x)
#endif
// Macro to allow fast enumeration when building for 10.5 or later, and
// reliance on NSEnumerator for 10.4. Remember, NSDictionary w/ FastEnumeration
// does keys, so pick the right thing, nothing is done on the FastEnumeration
// side to be sure you're getting what you wanted.
#ifndef GTM_FOREACH_OBJECT
#if TARGET_OS_IPHONE || !(MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
#define GTM_FOREACH_ENUMEREE(element, enumeration) \
for (element in enumeration)
#define GTM_FOREACH_OBJECT(element, collection) \
for (element in collection)
#define GTM_FOREACH_KEY(element, collection) \
for (element in collection)
#else
#define GTM_FOREACH_ENUMEREE(element, enumeration) \
for (NSEnumerator *_ ## element ## _enum = enumeration; \
(element = [_ ## element ## _enum nextObject]) != nil; )
#define GTM_FOREACH_OBJECT(element, collection) \
GTM_FOREACH_ENUMEREE(element, [collection objectEnumerator])
#define GTM_FOREACH_KEY(element, collection) \
GTM_FOREACH_ENUMEREE(element, [collection keyEnumerator])
#endif
#endif
// ============================================================================
// To simplify support for both Leopard and Snow Leopard we declare
// the Snow Leopard protocols that we need here.
#if !defined(GTM_10_6_PROTOCOLS_DEFINED) && !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
#define GTM_10_6_PROTOCOLS_DEFINED 1
@protocol NSConnectionDelegate
@end
@protocol NSAnimationDelegate
@end
@protocol NSImageDelegate
@end
@protocol NSTabViewDelegate
@end
#endif // !defined(GTM_10_6_PROTOCOLS_DEFINED) && !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
// GTM_SEL_STRING is for specifying selector (usually property) names to KVC
// or KVO methods.
// In debug it will generate warnings for undeclared selectors if
// -Wunknown-selector is turned on.
// In release it will have no runtime overhead.
#ifndef GTM_SEL_STRING
#ifdef DEBUG
#define GTM_SEL_STRING(selName) NSStringFromSelector(@selector(selName))
#else
#define GTM_SEL_STRING(selName) @#selName
#endif // DEBUG
#endif // GTM_SEL_STRING
#endif // __OBJC__
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface HaiBaoJuheCreateOrderInfo : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic,strong)NSString *serverId;//服务器ID
@property(nonatomic, strong)NSString *serverName;//服务器名称
@property(nonatomic, strong)NSString *playerId;//玩家ID
@property(nonatomic, strong)NSString *playerName;//玩家名称
@property(nonatomic, strong)NSString *playerLevel;//玩家等级
@property(nonatomic, strong)NSString *postAmount;//金额
@property(nonatomic, strong)NSString *productId;//产品ID
@property(nonatomic, strong)NSString *productName;//产品名称
@property(nonatomic, strong)NSString *productDesc;//产品描述
@property(nonatomic, strong)NSString *custom;//透传参数
@property(nonatomic, strong)NSString *exchange;//兑换比例
@property(nonatomic, strong)NSString *otherInfo;//扩展参数
@property(nonatomic, strong)NSString *userId;//用户ID
@property(nonatomic, strong)NSString *timestamp;//时间戳
- (NSString *) PromotionHaiBaoJuheGetTsign ;
- (NSString *) PromotionHaiBaoJuheGetTimestamp ;
@end
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface HaiBaoJuheLoginInfo : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic,strong)NSString *timestamp;
@property(nonatomic, strong)NSString *sign;
@property(nonatomic, strong)NSString *other;
@property(nonatomic, strong)NSString *openId;
@property(nonatomic, strong)NSString *userType;
@end
//
// PromotionHaiBaoJuheReportInfo.h
// HaiBaoJuheSDK
//
// Created by winFan on 12/21/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface HaiBaoJuheReportInfo : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic, strong)NSString *reportType;//类型
@property(nonatomic, strong)NSString *playerId;//玩家ID
@property(nonatomic, strong)NSString *playerName;//玩家名称
@property(nonatomic, strong)NSString *playerLevel;//玩家等级
@property(nonatomic, strong)NSString *roleSex;//角色性别(1男0女)
@property(nonatomic, strong)NSString *serverId;//服务器ID
@property(nonatomic, strong)NSString *serverName;//服务器名称
@property(nonatomic, strong)NSNumber *roleCTime;//创建角色时间(秒)
@property(nonatomic, strong)NSString *partyName;//工会名称
@property(nonatomic, strong)NSString *roleType;//角色类型
@property(nonatomic, strong)NSNumber *roleChangeTime;//角色等级更新时间(秒)
@property(nonatomic, strong)NSString *vipLevel;//vip等级
@property(nonatomic, strong)NSNumber *diamond;//余额
@property(nonatomic, strong)NSString *moneyType;//商品单位(元宝,金币)
@property(nonatomic, strong)NSString *custom;//透传参数
@property(nonatomic, strong)NSString *openId;
//#define REPORT_URL @"https://statistic.public.sdk.haibaoyouxi.com/sdk/statistic"
//#define REPORT_IDFA_URL @"https://statistic.public.sdk.haibaoyouxi.com/sdk/last_channel?idfa=%@&sdkSimpleName=%@&gameSimpleName=%@"
#define REPORT_OPEN @"open"
#define REPORT_ENTER @"enter"
#define REPORT_CREATEROLE @"createrole"
#define REPORT_ROLEUPGRADE @"roleupgrade"
#define REPORT_SDK_OPEN @"opensdk"
#define REPORT_EXIT @"exit"
#define REPORT_SELECT_SERVER @"selectserver"
@end
#import <Foundation/Foundation.h>
#import "HaiBaoJuheSDK2.h"
#import <UIKit/UIKit.h>
@interface HaiBaoJuheSDK : NSObject
@property(nonatomic, strong, readonly)NSString *sdkVersion;
@property(nonatomic, strong)NSString *urlSchemes;
@property(strong) NSMutableArray* PromotionList;
@property BOOL isAppleGzyazfing;
+ (HaiBaoJuheSDK *)shareSDK;
- (void)initSDK:(UIViewController *) control;
-(void)viewDidAppear;
- (void)setViewController:(UIViewController *)viewController;
- (void)loginSDK;
- (void)loginSDK:(UIViewController *)viewController;
- (void)gzyazfWithGzyazfmentInfo:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (BOOL)hasUserCenter;
- (void)gotoUserCenter;
- (void)reportSDK:(HaiBaoJuheReportInfo *)reportInfo;
- (BOOL)hasLogout;
- (void)logoutSDK;
- (BOOL)hasSwitchAccount;
- (void)switchAccount;
- (BOOL)hasExit;
- (void)exitSDK;
- (void)destroySDK;
@property(nonatomic, assign)ESDKOrientation sdkOrientation;
@property(nonatomic, assign)BOOL bShowedFloat;
@property(nonatomic, assign)int serverId;
-(NSString *) getGameChannelId;
- (NSString *) getCustomValue;
- (NSString *) getChannelParameter1;
- (NSString *) getChannelParameter2;
-(void)gzyazfmentSuccess:(NSString*)accountId orderId:(NSString*)orderId currencyAmount:(double)amount currencyType:(NSString*)currencyType gzyazfType:(NSString*)gzyazfType custom:(NSArray*)customArray;
- (void)handleOpenurl:(NSURL *)url;
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo ;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
- (void)applicationDidEnterBackground:(UIApplication *)application;
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillEnterForeground:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options;
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
@end
#import <UIKit/UIKit.h>
#import "dunnoHaiBaoJuheCheckerdavis.h"
#import "HaiBaoJuheReportInfo.h"
#import "HaiBaoJuheLoginInfo.h"
#import "Interface.h"
#import "magnumHaiBaoJuheNotificationwetland.h"
#import "magnumHaiBaoJuheGzyazfInfowetland.h"
#import "UnionInterface.h"
#import "HaiBaoJuheCreateOrderInfo.h"
#import "magnumHaiBaoJuheConfigwetland.h"
#import "xeroxHaiBaoJuheUtilsbrands.h"
#import "NetCenter.h"
#import "HaiBaoJuheSDK.h"
#import "HaiBaoJuheSDKDelegate.h"
#import <Foundation/Foundation.h>
@protocol HaiBaoJuheSDKDelegate <NSObject>
@optional
-(void)HaiBaoJuheSDKLoginSuccess:(HaiBaoJuheLoginInfo*)loginInfo;
-(void)HaiBaoJuheSDKLoginFail:(NSString*)msg;
-(void)HaiBaoJuheSDKSwitchAccountSuccess:(HaiBaoJuheLoginInfo*)loginInfo;
-(void)HaiBaoJuheSDKSwitchAccountFail:(NSString*)msg;
@end
//
// IAPHelper.h
//
// Original Created by Ray Wenderlich on 2/28/11.
// Created by saturngod on 7/9/12.
// Copyright 2011 Ray Wenderlich. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "StoreKit/StoreKit.h"
typedef void (^IAPProductsResponseBlock)(SKProductsRequest* request , SKProductsResponse* response);
typedef void (^IAPbuyProductCompleteResponseBlock)(SKPaymentTransaction* transcation);
typedef void (^checkReceiptCompleteResponseBlock)(NSString* response,NSError* error);
typedef void (^resoreProductsCompleteResponseBlock) (SKPaymentQueue* payment,NSError* error);
@interface IAPHelper : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver>
@property (nonatomic,strong) NSSet *productIdentifiers;
@property (nonatomic,strong) NSArray * products;
@property (nonatomic,strong) NSMutableSet *purchasedProducts;
@property (nonatomic,strong) SKProductsRequest *request;
@property (nonatomic) BOOL production;
//init With Product Identifiers
- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers;
//get Products List
- (void)requestProductsWithCompletion:(IAPProductsResponseBlock)completion;
//Buy Product
- (void)buyProduct:(SKProduct *)productIdentifier onCompletion:(IAPbuyProductCompleteResponseBlock)completion;
//restore Products
- (void)restoreProductsWithCompletion:(resoreProductsCompleteResponseBlock)completion;
//check isPurchased or not
- (BOOL)isPurchasedProductsIdentifier:(NSString*)productID;
//check receipt but recommend to use in server side instead of using this function
- (void)checkReceipt:(NSData*)receiptData onCompletion:(checkReceiptCompleteResponseBlock)completion;
- (void)checkReceipt:(NSData*)receiptData AndSharedSecret:(NSString*)secretKey onCompletion:(checkReceiptCompleteResponseBlock)completion;
//saved purchased product
- (void)provideContentWithTransaction:(SKPaymentTransaction *)transaction;
- (void)provideContent:(NSString *)productIdentifier __deprecated_msg("use provideContentWithTransaction: instead.");
//clear the saved products
- (void)clearSavedPurchasedProducts;
- (void)clearSavedPurchasedProductByID:(NSString*)productIdentifier;
//Get The Price with local currency
- (NSString *)getLocalePrice:(SKProduct *)product;
@end
//
// IAPShare.h
// ;
//
// Created by Htain Lin Shwe on 10/7/12.
// Copyright (c) 2012 Edenpod. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IAPHelper.h"
@interface IAPShare : NSObject
@property (nonatomic,strong) IAPHelper *iap;
+ (IAPShare *) sharedHelper;
+(id)toJSON:(NSString*)json;
@end
//
// Interface.h
// HaiBaoJuheSDK
//
// Created by winFan on 12/10/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#include "UnionInterface.h"
#import <SafariServices/SafariServices.h>
@interface Interface : NSObject <UnionInterface>
@property(nonatomic, strong)UIViewController *controller;
@end
//
// NSString+Base64.h
// Newsstand
//
// Created by Carlo Vigiani on 29/Oct/11.
// Copyright (c) 2011 viggiosoft. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSString (Base64)
+ (NSString *) base64StringFromData:(NSData *)data length:(long)length;
@end
#import <Foundation/Foundation.h>
@interface NSURLRequest (SSL)
+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
+(void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end
#import <Foundation/Foundation.h>
@interface NetCenter : NSObject
@property(nonatomic,retain) NSMutableData *receiveData;
@property(nonatomic,assign)int dataPackSerialNo;
+ (NetCenter *)getInstance;
- (NSString *)httpGetSyn:(NSString *) getUrl;
- (NSString *)httpPostSyn:(NSString *) postUrl : (NSDictionary *) postData;
- (void)httpGetNoSyn;
- (void)httpPostNoSyn:(NSString *) postUrl :(NSDictionary *)postDict;
- (void)httpPostAsync:(NSString*)postUrl :(NSDictionary*)postDict;
- (void)httpPostAsyncOpen:(NSString*)postUrl :(NSDictionary*)postDict;
-(void)httpGetAsync:(NSString *)url completionHandler:(void (^ __nullable)(NSURLResponse* __nullable response, NSData* __nullable data, NSError* __nullable connectionError)) handler;
- (NSString * __nullable)dicToString:(NSDictionary * __nullable) dict;
@end
#ifndef __HaiBaoJuheSDK__OtherSetting__
#define __HaiBaoJuheSDK__OtherSetting__
/**
应用支持的方向
*/
typedef NS_ENUM(NSUInteger, ESDKOrientation) {
ESDKOrientationPortrait = 1,//竖
ESDKOrientationLandscape,//横
ESDKOrientationNone//自动旋转
};
/**
应用支持的方向
*/
typedef NS_ENUM(NSUInteger, REPORT_TYPE) {
REPORT_TYPE_OPEN = 1,//竖
REPORT_TYPE_ENTER,//横
REPORT_TYPE_DEFINE//自动旋转
};
#endif /* defined(__HaiBaoJuheSDK__OtherSetting__) */
#import "HaiBaoJuheSDK2.h"
@interface SDKInterface : Interface
@end
//
// SFHFKeychainUtils.h
//
// Created by Buzz Andersen on 10/20/08.
// Based partly on code by Jonathan Wight, Jon Crosby, and Mike Malone.
// Copyright 2008 Sci-Fi Hi-Fi. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
#import <UIKit/UIKit.h>
@interface SFHFKeychainUtils : NSObject {
}
+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
+ (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
+ (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
@end
\ No newline at end of file
#define TRACK_VERSION @"1.0.1"
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface TrackingIO : NSObject
+(void) setPrintLog :(BOOL)print;
+ (void)initWithappKey:(NSString *)appKey withChannelId:(NSString *)channelId;
+ (void)setRegisterWithAccountID:(NSString *)account;
+ (void)setLoginWithAccountID:(NSString *)account;
+(void)setGzyazfmentStart:(NSString *)transactionId gzyazfmentType:(NSString*)gzyazfmentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
+(void)setGzyazfment:(NSString *)transactionId gzyazfmentType:(NSString*)gzyazfmentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra;
+(void)setProfile:(NSDictionary *)dataDic;
+(NSString*)getDeviceId;
@end
NS_ASSUME_NONNULL_END
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "HaiBaoJuheSDK2.h"
@protocol UnionInterface
/**
初始化SDK
*/
//[[PoolChecker getInstance] sendNotice:HaiBaoJuheSDKNotificationGzyazf notiName:@"" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"" extendData:order_id];
- (void)SDKinit:(UIViewController *) control;
- (void)setViewController:(UIViewController *) viewController;
/**
登录SDK
*/
- (void)SDKloginSDK;
- (void)SDKloginSDK:(UIViewController *) control;
/**
*是否含有注销接口
*/
- (BOOL)hasLogout;
/**
注销
*/
- (void)SDKlogoutSDK;
/**
*是否含有退出接口
**/
- (BOOL)hasExit;
/**
退出接口
*/
- (void)SDKexitSDK;
/**
*SDK销毁操作(游戏退出时调用)
*/
- (void)destroySDK;
/**
*是否含有用户中心接口
**/
- (BOOL)hasUserCenter;
/**
用户中心
*/
- (void)SDKgotoUserCenter;
/**
*是否含有切换账号接口
**/
- (BOOL)hasSwitchAccount;
/**
*切换账号
**/
- (void)switchAccount;
- (void)viewDidAppear;
/**
提交数据
*/
- (void)SDKreport:(HaiBaoJuheReportInfo *) reportInfo;
/**
进行支付
*/
- (void)SDKgzyazfWithGzyazfmentInfo:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (void)receiveCreateOrder: (NSNotification *)notification;
/**
*充值统计参数
*accountId 账号ID,必填项, 和登陆、注册使用的accountId保持一致即可。
*orderId 订单Id,必填项,请保证该值的全局唯一,系统会使用订单Id进行付费订单排重。
*currencyAmount 货币金额,单位为元,支持小数
*currencyType 货币类型
*gzyazfType 支付类型(渠道)
*/
-(void)gzyazfmentSuccess:(NSString*)accountId orderId:(NSString*)orderId currencyAmount:(double)amount currencyType:(NSString*)currencyType gzyazfType:(NSString*)gzyazfType custom:(NSArray *)customArray;
- (void)handleOpenurl:(NSURL *)url;
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
//推送
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo ;
//推送
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
- (void)applicationDidEnterBackground:(UIApplication *)application;
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillEnterForeground:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options;
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
@end
#import <Foundation/Foundation.h>
@interface aspirinPromotionControlvogue : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
#import "HaiBaoJuheLoginInfo.h"
#import "magnumHaiBaoJuheNotificationwetland.h"
#import "HaiBaoJuheCreateOrderInfo.h"
#import "magnumHaiBaoJuheGzyazfInfowetland.h"
#import "HaiBaoJuheReportInfo.h"
#import "HaiBaoJuheSDKDelegate.h"
@interface dunnoHaiBaoJuheCheckerdavis : NSObject<HaiBaoJuheSDKDelegate>
@property(nonatomic, strong)NSString *userId;
@property(nonatomic, strong)id<HaiBaoJuheSDKDelegate> mHaiBaoJuheSDKDelegate;
@property bool onlyOneTimeGzyazf;
+ (dunnoHaiBaoJuheCheckerdavis *)aspiringetInstancevogue;
- (void)initChecker;
- (void)startCheck:(HaiBaoJuheLoginInfo *)loginInfo;
- (void) createOrder:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (void) PromotionHaiBaoJuhereportOpen;
- (void) PromotionHaiBaoJuhereportSDKOpen;
- (void) PromotionHaiBaoJuhehandleFirstOpenApp:(NSString*) path;
- (void) reportEnter:(HaiBaoJuheReportInfo *)reInfo;
- (void) PromotionHaiBaoJuheReport:(NSString *)_action :(HaiBaoJuheReportInfo *)reInfo;
- (void)sendNotice:(HaiBaoJuheSDKNotificationType)notiType
notiName:(NSString *)notiName
statusCode:(int)nCode
description:(NSString *)szDescripton
extendData:(NSObject *)extendData;
- (void)startCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo;
- (void) PromotionHaiBaoJuheStartCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo type:(int)type;
/*
*初始化时调用
*/
- (void)setHaiBaoJuheSDKDelegate:(nullable id<HaiBaoJuheSDKDelegate>)HaiBaoJuheSDKDeletate;
@end
#import <UIKit/UIKit.h>
@interface dunnoPromotionLocationdavis : NSObject
+ (NSString *)PromotionSKCloudServiceSetupOptionsKey;
@end
#import <Foundation/Foundation.h>
@interface enquiryPromotionInformationemacs : NSObject
{
//
NSString *openId;
NSString *token;
NSString *timestamp;
}
@property(retain,nonatomic) NSString *openId;
@property(retain,nonatomic) NSString *token;
@property(retain,nonatomic) NSString *timestamp;
+ (enquiryPromotionInformationemacs *)getInstance;
@end
#import <UIKit/UIKit.h>
@interface idiotsPromotionIAPHelperControlmosaic : NSObject<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong) NSString* PromotionDingDanHao;
@property(nonatomic,strong) NSDictionary* PromotionHuoWuLieBiao;
@property(nonatomic,strong) NSMutableArray* PromotionHuoWuIDLieBiao;
@property(nonatomic, strong) UITableView *PromotionHuoWuLieBiaoView;
- (void)PromotionHuaQianView:(UIViewController*)controller PromotionHuoWuD:(NSString*)products PromotionQian:(NSString*)amount PromotionHuoWuMing:(NSString*)productName PromotionDingDanHao:(NSString*)DingDanHao;
@end
#import <Foundation/Foundation.h>
@interface kayakPromotionControlbraves : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
extern NSString * const mandyPromotionExitNotificationthumbs;
extern NSString * const magnumPromotionLoginNotificationwetland;
extern NSString * const mustangPromotionErrorNotificationsutton;
@interface kayakPromotionHuiTiaoNotificationbraves : NSObject
@end
#import <Foundation/Foundation.h>
@interface magnumHaiBaoJuheConfigwetland : NSObject
@property(nonatomic, strong)NSString *gameSimpleName;
@property(nonatomic, strong)NSString *sdkSimpleName;
@property(nonatomic, strong)NSString *sdkVersionCode;
@property(nonatomic, strong)NSString *loginCheckUrl;
@property(nonatomic, strong)NSString *gzyazfOrderUrl;
@property(nonatomic, strong)NSString *gzyazfCheckUrl;
@property(nonatomic, strong)NSString *c1;
@property(nonatomic, strong)NSString *c2;
@property(nonatomic, strong)NSString *custom;
+ (magnumHaiBaoJuheConfigwetland *)mustanggetInstancesutton;
- (void) loadFile:(NSString *) fileName;
- (NSString *)mandygetValueByKeythumbs:(NSString *) key;
- (void) updateC1C2Value:(NSString *)c1 c2:(NSString *)c2;
@end
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface magnumHaiBaoJuheGzyazfInfowetland : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic, strong)NSString *serverId;
@property(nonatomic, strong)NSString *queryId;
@property(nonatomic, strong)NSString *playerId;
@property(nonatomic, strong)NSString *playerName;
@property(nonatomic, strong)NSString *postAmount;
@property(nonatomic, strong)NSString *productId;
@property(nonatomic, strong)NSString *products;
@property(nonatomic, strong)NSString *custom;
@property(nonatomic, strong)NSString *postTime;
@property(nonatomic, strong)NSString *other;
//游戏传递过来的原值
@property(nonatomic, strong)NSString *serverName;//服务器名称
@property(nonatomic, strong)NSString *playerLevel;//玩家等级
@property(nonatomic, strong)NSString *productName;//产品名称
@property(nonatomic, strong)NSString *productDesc;//产品描述
@property(nonatomic, strong)NSString *exchange;//兑换比例
@end
//
// magnumHaiBaoJuheNotificationwetland.h
// public_i9133
//
// Created by winFan on 12/1/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import <Foundation/Foundation.h>
extern NSString * const HaiBaoJuheSDK_Notification; /**< */
extern NSString * const _create_order_notification; /**< */
/**
应用支持的方向
*/
typedef NS_ENUM(int, HaiBaoJuheSDKNotificationType) {
HaiBaoJuheSDKNotificationLogin = 1,//登录
HaiBaoJuheSDKNotificationLogout,//注销
HaiBaoJuheSDKNotificationGzyazf,//支付完成
HaiBaoJuheSDKNotificationPause,//暂停退出
HaiBaoJuheSDKNotificationRole,//创建角色
HaiBaoJuheSDKNotificationInitSDK,//初始化SDK
HaiBaoJuheSDKNotificationSwitchAccount,//切换账号
HaiBaoJuheSDKNotificationExit//退出游戏
};
@interface magnumHaiBaoJuheNotificationwetland : NSObject
@end
//////////////////////////////////////////////////////////////////////
@interface HaiBaoJuheSDKResult : NSObject
@property(nonatomic, assign)int statusCode;//请参照此文件下面状态标识
@property(nonatomic, strong)NSString *resultDescription;
@property(nonatomic, strong)NSObject *extendData;
//V1.2.0新增
@property(nonatomic, assign)HaiBaoJuheSDKNotificationType notiType;//消息类型
@property(nonatomic, strong)NSString *notiName;//消息名称
@end
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
/* 状态标识 */
#define HaiBaoJuheSDK_NO_ERROR 0 /*操作成功*/
#define HaiBaoJuheSDK_ERROR_LOGIN_FAILED -100 /*登录失败*/
#define HaiBaoJuheSDK_ERROR_LOGIN_CANCEL -101 /*登录取消*/
#define HaiBaoJuheSDK_ERROR_LOGIN_GAMGEACCOUNT -102 /*游戏帐号登录,非平台账号*/
#define HaiBaoJuheSDK_ERROR_PAY_FAILED -200 /*支付失败*/
#define HaiBaoJuheSDK_ERROR_PAY_CANCEL -201 /*支付取消*/
#define HaiBaoJuheSDK_ERROR_PAY_VERSIGN -202 /*支付验签失败*/
#define HaiBaoJuheSDK_ERROR_CREATE_ORDER_FAILED -203 /*支付验签失败*/
#define HaiBaoJuheSDK_ERROR_ROLE_CREATE_FAILED -300 /*角色创建失败*/
#define HaiBaoJuheSDK_ERROR_INIT_FAILED -400 /*初始化失败*/
#define HaiBaoJuheSDK_ERROR_SWICHT_ACCOUNT_FAILED -500 /*切换账号失败*/
#define HaiBaoJuheSDK_ERROR_EXIT_CANCEL -600 /*退出取消*/
//////////////////////////////////////////////////////////////////////
#import <Foundation/Foundation.h>
@interface magnumPromotionControlwetland : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <UIKit/UIKit.h>
#import "StoreKit/StoreKit.h"
@interface mandyPromotionAllManagerthumbs : NSObject
{
NSString* PromotionAPPID_;
NSString* PromotionAPPKEY_;
NSString* PromotionInviterCode_;
}
@property(strong) NSMutableArray* PromotionList;
@property bool PromotionGeiWoHuaQianBa;
+ (mandyPromotionAllManagerthumbs *)idiotsPromotionInstancemosaic;
- (void)enquiryPromotionChuShiHuaemacs;
- (void)richiePromotionDengLubasket:(NSString *)PromotionAPPID : (NSString *)PromotionAPPKEY : (UIViewController *)controller;
- (void)sugarPromotionYangShiseating:(NSString*)PromotionLeiXing;
- (void)PromotionQuery: (NSString *)PromotionFuWuQiID : (NSString *)PromotionNickName : (NSNumber *)PromotionAmount : (NSString *)PromotionCallBack : (UIViewController *)controller : (NSString *)PromotionServerName;
- (void)PromotionQueryOperation:(UIViewController*)controll PromotionHuoWuID:(NSString*)products PromotionJiaGe:(NSString*)amount PromotionHuoWuMing:(NSString*)productName PromotionDingDanHao:(NSString*) DingDanHao;
@end
#import <Foundation/Foundation.h>
void DGLog(NSString *fmt, ...);
typedef NS_ENUM(NSInteger, DGLoggerLevel)
{
ELogVerbose = 1,
ELogDebug,
ELogInfo,
ELogWarn,
ELogError
};
@interface mandyPromotionHaiBaoJuheDGLoggerthumbs : NSObject
+ (void)showLog:(NSString *)fmt,...;
+ (void)showLog:(DGLoggerLevel)level log:(NSString *)fmt,...;
+ (void)isShowLog:(BOOL)flag;
@end
#import <Foundation/Foundation.h>
#import "OtherSetting.h"
@interface mustangPromotionHaiBaoJuheBaseModelsutton : NSObject
- (NSString *) PromotionHaiBaoJuheObjectToJsonString;
- (NSMutableString *)paramAddToString;
- (id)initWithDiction:(NSDictionary *)diction;
@end
#import <Foundation/Foundation.h>
@interface richiePromotionControlbasket : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface sugarPromotionControlseating : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface sugarPromotionInformationJMseating : NSObject
+(NSString *)PromotionJM:(NSString *)jm;
@end
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface xeroxHaiBaoJuheUtilsbrands : NSObject
+(NSString *)md5:(NSString *)str;
+ (NSDictionary *) PromotionHaiBaoJuheDictionaryWithJsonString:(NSString *)jsonString;
+(NSString *)createGzyazfOrderUrl;
//*充值回调地址
+(NSString *)magnumcreateGzyazfUrlwetland;
+(UIActivityIndicatorView *)showLoadingDialog:(UIView*)parentView;
+(void)dismissLoadingDialog:(UIActivityIndicatorView*)indicatorView;
@end
#import <UIKit/UIKit.h>
#import "enquiryPromotionInformationemacs.h"
#import <JavaScriptCore/JavaScriptCore.h>
@interface xeroxPromotionMainbrands : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
{
UIWebView *webPromotionView_;
UIActivityIndicatorView *activityIndicator;
}
@property(assign) BOOL PromotionYouYuanJiao;
- (void)PromotionSettingPromotionView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
- (void)PromotionInitWebView;
- (void)loadWebPageWithString:(NSString *)url;
- (void)loadWebPageWithJs:(NSString *)content;
- (void)postNotification:(NSString *)name : (NSString *)code;
- (void)receiveIap:(NSNotification *)notification;
@end
<?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>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.mango.ios.fytx</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
//
// MainViewController.h
// Demo_qiyu
//
// Created by 许 on 17/6/7.
// Copyright © 2017年 winFan. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <HaiBaoJuheSDK/HaiBaoJuheSDK2.h>
@interface MainViewController : UIViewController
@end
//
// MainViewController.m
// Demo_qiyu
//
// Created by 许 on 17/6/7.
// Copyright © 2017年 winFan. All rights reserved.
//
#import "MainViewController.h"
#import <HaiBaoJuheSDK/HaiBaoJuheSDK2.h>
@interface MainViewController ()
@end
NSString* sdkUserId = @"";
@implementation MainViewController
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveSDKMessage:) name:HaiBaoJuheSDK_Notification object:nil];
// Do any additional setup after loading the view.
NSLog(@"viewDidLoad");
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#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.
}
*/
- (void)receiveSDKMessage:(NSNotification *)notification
{
HaiBaoJuheSDKResult *result = [notification object];
if (result) {
NSLog(@"notiType:%d",result.notiType);
switch (result.notiType) {
case HaiBaoJuheSDKNotificationInitSDK:
{
NSLog(@"sdk初始化成功");
}
break;
case HaiBaoJuheSDKNotificationLogin:
{
NSLog(@"result state:%d",result.statusCode);
if (result.statusCode == HaiBaoJuheSDK_NO_ERROR) {
HaiBaoJuheLoginInfo *loginInfo = (HaiBaoJuheLoginInfo*)result.extendData;
sdkUserId = [loginInfo openId];
NSLog(@"收到登陆信息public openid:%@", [loginInfo openId]);
NSLog(@"收到登陆信息public token:%@", [loginInfo sign]);
NSLog(@"收到登陆信息public timestamp:%@", [loginInfo timestamp]);
NSLog(@"userType:%@",[loginInfo userType]);
}else{
NSLog(@"登录失败:%@",[result description]);
}
}
break;
case HaiBaoJuheSDKNotificationLogout:
{
NSLog(@"sdk注销成功,游戏处理");
}
break;
case HaiBaoJuheSDKNotificationSwitchAccount:
NSLog(@"切换账号通知");
if (result.statusCode == HaiBaoJuheSDK_NO_ERROR) {
HaiBaoJuheLoginInfo *loginInfo = (HaiBaoJuheLoginInfo*)result.extendData;
NSLog(@"收到登陆信息public openid:%@", [loginInfo openId]);
NSLog(@"收到登陆信息public token:%@", [loginInfo sign]);
NSLog(@"收到登陆信息public timestamp:%@", [loginInfo timestamp]);
NSLog(@"userType:%@",[loginInfo userType]);
}else{
NSLog(@"%@",[result description]);
}
break;
default:
break;
}
}
}
- (IBAction)actionInit:(id)sender {
[[HaiBaoJuheSDK shareSDK]initSDK:self];
}
- (IBAction)actionLogin:(id)sender {
[[HaiBaoJuheSDK shareSDK] loginSDK];
}
- (IBAction)actionPay:(id)sender {
HaiBaoJuheCreateOrderInfo *payInfo = [[HaiBaoJuheCreateOrderInfo alloc]init];
[payInfo setServerId:@"99887766"];
[payInfo setPlayerName:@"iamrolename"];
[payInfo setPlayerLevel:@"10"];
[payInfo setUserId:sdkUserId];
[payInfo setPostAmount:@"6"];
[payInfo setProductId:@"com.gzss.rsrzrcj.6"];
[payInfo setPlayerId:@"1231241234"];
[payInfo setProductName:@"60金币"];
[payInfo setProductDesc:@"productDes"];
[payInfo setTimestamp:@"1232134"];
[payInfo setExchange:@"10"];
[payInfo setServerName:@"servername"];
[payInfo setCustom:@"custom"];
[[HaiBaoJuheSDK shareSDK] gzyazfWithGzyazfmentInfo:payInfo];
}
-(NSString*)getCurrentTimestamp{
// 时间戳转时间
NSTimeInterval interval = [[NSDate date] timeIntervalSince1970] * 1000;
NSString* timeStr = [[NSString alloc]initWithFormat:@"%.f",interval];
return timeStr;
}
/**
serverid
servername
roleid
rolename
rolelevel
*/
- (IBAction)actionSubmitRoleData:(id)sender {
NSLog(@"数据接口");
HaiBaoJuheReportInfo *reportInfo = [[HaiBaoJuheReportInfo alloc]init];
[reportInfo setReportType:REPORT_ENTER];
//[reportInfo setReportType:REPORT_CREATEROLE];
//[reportInfo setReportType:REPORT_ROLEUPGRADE]
[reportInfo setServerId:@"28"];
[reportInfo setServerName:@"serverName"];
[reportInfo setPlayerId:@"1231241234"];
[reportInfo setPlayerName:@"playName"];
[reportInfo setPlayerLevel:@"10"];
[reportInfo setPartyName:@"1345"];
[reportInfo setRoleCTime:[[NSNumber alloc]initWithLong:[self getCurrentTimestamp].longLongValue]];
[reportInfo setRoleChangeTime:[[NSNumber alloc]initWithLong:[self getCurrentTimestamp].longLongValue]];
[[HaiBaoJuheSDK shareSDK] reportSDK:reportInfo];
}
- (IBAction)actionLogout:(id)sender {
NSLog(@"注销");
if ([[HaiBaoJuheSDK shareSDK] hasLogout]) {
[[HaiBaoJuheSDK shareSDK] logoutSDK];
}
}
- (IBAction)actionSwitchAccount:(id)sender {
if([[HaiBaoJuheSDK shareSDK] hasSwitchAccount]){
[[HaiBaoJuheSDK shareSDK] switchAccount];
}
}
#pragma mark - 截屏
- (void)screenShot:(UIView *)view{
UIImage* image = nil;
UIGraphicsBeginImageContext(view.bounds.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIGraphicsEndImageContext();
if (image != nil) {
NSLog(@"截图成功!");
UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL);
}
}
#pragma mark - 保存到相册
-(void)image:(UIImage *)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo
{
if(!error){
NSLog(@"存到相册");
}else{
NSLog(@"存储失败");
}
}
//获取渠道参数
-(void)getChannel{
//获取channelId值
[[HaiBaoJuheSDK shareSDK]getGameChannelId];
//获取渠道参数1
[[HaiBaoJuheSDK shareSDK]getChannelParameter1];
//获取渠道参数2
[[HaiBaoJuheSDK shareSDK]getChannelParameter2];
//获取自定义参数
[[HaiBaoJuheSDK shareSDK]getCustomValue];
}
@end
//
// ViewController.h
// publiDemo
//
// Created by winFan on 11/30/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <HaiBaoJuheSDK/HaiBaoJuheSDK2.h>
@interface ViewController : UIViewController
- (void)receiveSDKMessage : (NSNotification *)notification;
@end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
[button1 setTitle:@"登陆" forState:UIControlStateNormal];
button1.frame = CGRectMake(50.0f, 100.0f, 50.0f, 40.0f);
button1.tag = 1;
[button1 addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview:button1];
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];
[button2 setTitle:@"数据" forState:UIControlStateNormal];
button2.frame = CGRectMake(150.0f, 100.0f, 50.0f, 40.0f);
button2.tag = 2;
[button2 addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview:button2];
UIButton *button4 = [UIButton buttonWithType:UIButtonTypeCustom];
[button4 setTitle:@"充值" forState:UIControlStateNormal];
button4.frame = CGRectMake(150.0f, 50.0f, 50.0f, 40.0f);
button4.tag = 4;
[button4 addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview:button4];
UIButton *button6 = [UIButton buttonWithType:UIButtonTypeCustom];
[button6 setTitle:@"获取配置参数" forState:UIControlStateNormal];
button6.frame = CGRectMake(10.0f, 50.0f, 150.0f, 40.0f);
button6.tag = 6;
[button6 addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview:button6];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveSDKMessage:) name:HaiBaoJuheSDK_Notification object:nil];
[[HaiBaoJuheSDK shareSDK]initSDK:self];
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
//[[HaiBaoJuheSDK shareSDK] viewDidAppear];
}
- (void) toggleButton: (UIButton *) button
{
int tag = (int)button.tag;
if (tag == 1) {
[[HaiBaoJuheSDK shareSDK] loginSDK];
}
else if (tag == 2)
{
NSLog(@"数据接口");
HaiBaoJuheReportInfo *reportInfo = [[HaiBaoJuheReportInfo alloc]init];
[reportInfo setReportType:REPORT_ENTER];
//[reportInfo setReportType:REPORT_CREATEROLE];
//[reportInfo setReportType:REPORT_ROLEUPGRADE]
[reportInfo setServerId:@"9133"];
[reportInfo setPlayerName:@"roleName"];
[reportInfo setPlayerId:@"pserverName"];
[[HaiBaoJuheSDK shareSDK] reportSDK:reportInfo];
}
else if (tag == 4)
{
HaiBaoJuheCreateOrderInfo *payInfo = [[HaiBaoJuheCreateOrderInfo alloc]init];
[payInfo setServerId:@"111"];
[payInfo setPostAmount:@"6"];
[payInfo setPlayerId:@"1231241234"];
[payInfo setTimestamp:@"1232134"];
[payInfo setExchange:@"10"];
[payInfo setCustom:@"custom"];
NSLog(@"start pay");
[[HaiBaoJuheSDK shareSDK] gzyazfWithGzyazfmentInfo:payInfo];
}
else if(tag == 6){
HaiBaoJuheSDK *haiBaoJuheSDK = [HaiBaoJuheSDK shareSDK];
NSLog(@"channelId:%@parame1:%@parame2:%@custom:%@",[haiBaoJuheSDK getGameChannelId],[haiBaoJuheSDK getChannelParameter1],[haiBaoJuheSDK getChannelParameter2],[haiBaoJuheSDK getCustomValue]);
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)receiveSDKMessage:(NSNotification *)notification
{
NSLog(@"receiveSDKMessage");
//[[HaiBaoJuheConfig getInstance] getValueByKey:@"gamechannelid"];
HaiBaoJuheSDKResult *result = [notification object];
if (result == nil ) {
return;
}
switch (result.notiType) {
case HaiBaoJuheSDKNotificationInitSDK:
{
NSLog(@"收到HaiBaoJuheSDKNotificationInitSDK");
}
break;
case HaiBaoJuheSDKNotificationLogin:
{
NSLog(@"result state:%d",result.statusCode);
if (result.statusCode == HaiBaoJuheSDK_NO_ERROR) {
HaiBaoJuheLoginInfo *loginInfo = (HaiBaoJuheLoginInfo*)result.extendData;
NSLog(@"收到登陆信息public openid:%@", [loginInfo openId]);
NSLog(@"收到登陆信息public token:%@", [loginInfo sign]);
NSLog(@"收到登陆信息public timestamp:%@", [loginInfo timestamp]);
NSLog(@"userType:%@",[loginInfo userType]);
}else{
NSLog(@"%@",[result description]);
}
}
break;
case HaiBaoJuheSDKNotificationGzyazf:
{
NSLog(@"收到登陆信息HaiBaoJuheSDKNotificationPay");
}
break;
default:
break;
}
}
@end
//
// main.m
// Demo
//
// Created by winFan on 12/9/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
No preview for this file type
//
// DemoTests.m
// DemoTests
//
// Created by winFan on 12/9/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
@interface DemoTests : XCTestCase
@end
@implementation DemoTests
- (void)setUp {
[super 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.
[super tearDown];
}
- (void)testExample {
// This is an example of a functional test case.
XCTAssert(YES, @"Pass");
}
- (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
<?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>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.mango.ios.fytx.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
No preview for this file type
No preview for this file type
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"orientation" : "portrait",
"idiom" : "iphone",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"minimum-system-version" : "7.0",
"subtype" : "retina4",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
<?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>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>神手DEMO</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>sdk.uuufish.com</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
</dict>
</plist>
#import <HaiBaoJuheSDK/HaiBaoJuheSDK2.h>
#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h>
@interface SDKInterface : Interface <SKRequestDelegate>
@end
#include "SDKInterface.h"
#import <UIKit/UIKit.h>
#import "HaiBaoJuheSDK/mandyPromotionAllManagerthumbs.h"
#import "HaiBaoJuheSDK/kayakPromotionHuiTiaoNotificationbraves.h"
#import "HaiBaoJuheSDK/enquiryPromotionInformationemacs.h"
#import "TrackingIO.h"
@implementation SDKInterface : Interface
int mExchange;
NSString *PromotionAppId;
NSString *PromotionAppKey;
NSString *PromotionLeakOrderUrl;
- (void)SDKinit:(UIViewController *) control
{
[super SDKinit:control];
[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic]enquiryPromotionChuShiHuaemacs];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic]sugarPromotionYangShiseating:@"sdk"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:magnumPromotionLoginNotificationwetland object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HCKAssetsToolCallBack:) name:@"PromotionToolCallBack" object:nil];
[[dunnoHaiBaoJuheCheckerdavis aspiringetInstancevogue] sendNotice:HaiBaoJuheSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"initSuccess" extendData:nil];
NSString* channelId = [[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"gamechannelid"];
if(channelId == nil || [channelId length] <= 0){
channelId = @"unknown";
}
[TrackingIO initWithappKey:[[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"renyunAppKey"] withChannelId:channelId];
}
/**
登录SDK
*/
- (void)SDKloginSDK
{
//APPID APPKEY
PromotionAppId = [[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"APP_ID"];
PromotionAppKey =[[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"APP_KEY"];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic]richiePromotionDengLubasket:PromotionAppId :PromotionAppKey :self.controller];
}
/**
loginCheck
*/
- (void)receiveLoginMessage:(NSNotification *)notification
{
NSLog(@"loginchek");
HaiBaoJuheLoginInfo *loginInfo = [HaiBaoJuheLoginInfo alloc];
loginInfo.openId = [[enquiryPromotionInformationemacs getInstance]openId];
loginInfo.sign = [[enquiryPromotionInformationemacs getInstance] token];
loginInfo.timestamp = [[enquiryPromotionInformationemacs getInstance] timestamp];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[dunnoHaiBaoJuheCheckerdavis aspiringetInstancevogue] startCheck:loginInfo];
});
}
-(NSString*)DataTojsonString:(id)object
{
NSString *jsonString = nil;
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object
options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
error:&error];
jsonString = [jsonData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
return jsonString;
}
/**
苹果支付结果回调
*/
- (void)HCKAssetsToolCallBack:(NSNotification *)notification
{
NSDictionary* payResultDic = notification.object;
NSString* receiptStr = [payResultDic objectForKey:@"PromotionToolResult"];
NSString* queryId = [payResultDic objectForKey:@"query_id"];
//收到回调,保存queryid和data
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* queryIdArray = [userDefaults objectForKey:@"queryIds"];
NSMutableArray* tempQueryIdArray = [[NSMutableArray alloc] initWithCapacity:10];
if (queryIdArray) {
}else{
queryIdArray = [[NSMutableArray alloc]initWithCapacity:10];
}
for (NSString* arrayQueryId in queryIdArray) {
[tempQueryIdArray addObject:arrayQueryId];
}
[tempQueryIdArray addObject:queryId];
[userDefaults setObject:tempQueryIdArray forKey:@"queryIds"];
[userDefaults setObject:receiptStr forKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:PromotionLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
[[dunnoHaiBaoJuheCheckerdavis aspiringetInstancevogue] sendNotice:HaiBaoJuheSDKNotificationGzyazf notiName:@"success" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"success" extendData:nil];
//删除已保存的
[userDefaults removeObjectForKey:queryId];
[tempQueryIdArray removeObject:queryId];
[userDefaults setObject:tempQueryIdArray forKey:@"queryIds"];
[userDefaults removeObjectForKey:@"lastqueryid"];
}
[userDefaults synchronize];
}
/**
支付 创建订单
*/
- (void)SDKgzyazfWithGzyazfmentInfo:(HaiBaoJuheCreateOrderInfo *)payInfo
{
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSString* lastqueryid = [userDefaults objectForKey:@"lastqueryid"];
PromotionLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[xeroxHaiBaoJuheUtilsbrands magnumcreateGzyazfUrlwetland],
[payInfo userId],
[payInfo playerId]];
[userDefaults setObject:PromotionLeakOrderUrl forKey:@"lastPromotionLeakOrderUrl"];
if (lastqueryid!=nil) {
//创建订单前进行补单
NSData* receiptData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString* receiptStr = [receiptData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
if (receiptStr!=nil) {
receiptStr = [receiptStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//如果不为空,进行最后一次补单
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",lastqueryid,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:PromotionLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
//删除已保存的
[userDefaults removeObjectForKey:@"lastqueryid"];
}
}
}
mExchange = [payInfo exchange].intValue;
[super SDKgzyazfWithGzyazfmentInfo:payInfo];
PromotionLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[xeroxHaiBaoJuheUtilsbrands magnumcreateGzyazfUrlwetland],
[payInfo userId],
[payInfo playerId]];
[userDefaults synchronize];
}
/**
SDK
*/
- (void)SDKgotoUserCenter
{
}
- (void)SDKreport:(HaiBaoJuheReportInfo *)reportInfo
{
NSLog(@"reportInfo");
NSString* reportType = [reportInfo reportType];
if (reportInfo) {
if ([reportType isEqualToString:REPORT_ENTER]) {
[TrackingIO setLoginWithAccountID:[reportInfo playerId]];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self handlerLeakOrder];
});
}else if ([reportType isEqualToString:REPORT_CREATEROLE]){
[TrackingIO setRegisterWithAccountID:[reportInfo playerId]];
}
}
}
/**
SDK
*/
- (void)SDKexitSDK
{
}
- (void)SDKlogoutSDK
{
NSLog(@"切换账号");
}
- (void)handleOpenurl:(NSURL *)url
{
}
- (void)receivePayMessage : (NSNotification *)notification;
{
NSString *order_id = [notification object];
NSLog(@"订单ID:%@", order_id);
}
//补单处理
- (void) handlerLeakOrder{
NSUserDefaults* userDefaults2 = [NSUserDefaults standardUserDefaults];
NSMutableArray* queryIdArray = [userDefaults2 objectForKey:@"queryIds"];
NSLog(@"orderDic%@",queryIdArray);
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* failQueryIdArray = [[NSMutableArray alloc]initWithCapacity:10];
if(queryIdArray){
for (NSString* queryId in queryIdArray) {
NSString* receiptStr = [userDefaults valueForKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* lastPromotionLeakOrderUrl = [userDefaults objectForKey:@"lastPromotionLeakOrderUrl"];
NSString* result;
if (lastPromotionLeakOrderUrl!=nil) {
result = [[NetCenter getInstance] httpPostSyn:lastPromotionLeakOrderUrl :receiptDic];
}else{
result = [[NetCenter getInstance] httpPostSyn:[xeroxHaiBaoJuheUtilsbrands magnumcreateGzyazfUrlwetland] :receiptDic];
}
if([@"success" isEqualToString:result]){//成功
[userDefaults removeObjectForKey:queryId];
}else{//补单失败
[failQueryIdArray addObject:queryId];
}
}
if([failQueryIdArray count] > 0){//含有补单失败项
[userDefaults setObject:failQueryIdArray forKey:@"queryIds"];
}else{//全部补单成功
[userDefaults removeObjectForKey:@"queryIds"];
}
[userDefaults synchronize];
}
}
- (void)receiveCreateOrder:(NSNotification *)notification
{
NSLog(@"创建订单成功");
magnumHaiBaoJuheGzyazfInfowetland *payInfo = [notification object];
NSNumber *amount = @([[payInfo postAmount] integerValue] * mExchange);
NSString *serverId = [payInfo serverId];
NSString *roleName = [payInfo playerName];
NSString *queryId = [payInfo queryId];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self handlerLeakOrder];
});
NSString *other = [payInfo other];
if (other && [other length] > 0) {
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic] PromotionQuery:serverId :roleName :amount :[payInfo queryId] :self.controller :[payInfo serverName]];
}else{
NSString* products = [payInfo products];
//保存订单号到本地
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:queryId forKey:@"lastqueryid"];
[userDefaults synchronize];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic] PromotionQueryOperation:self.controller PromotionHuoWuID:products PromotionJiaGe:[payInfo postAmount] PromotionHuoWuMing:[payInfo productName] PromotionDingDanHao:queryId];
}
}
-(void)paymentSuccess:(NSString *)accountId orderId:(NSString *)orderId currencyAmount:(double)amount currencyType:(NSString *)currencyType payType:(NSString *)payType custom:(NSArray *)customArray
{
[TrackingIO setPayment:orderId paymentType:payType currentType:currencyType currencyAmount:amount];
}
@end
No preview for this file type
//
// NewTtack.h
// NewTtack
//
// Created by yun on 16/1/11.
// Copyright © 2016年 yun. All rights reserved.
//
#define TRACK_VERSION @"1.0.1"
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
/*
热云移动广告效果监测 平台 api 请选择对应的api进行使用
*/
NS_ASSUME_NONNULL_BEGIN
@interface TrackingIO : NSObject
//开启打印日志 正式上线包请关掉
+(void) setPrintLog :(BOOL)print;
// 开启数据统计
+ (void)initWithappKey:(NSString *)appKey withChannelId:(NSString *)channelId;
//注册成功后调用
+ (void)setRegisterWithAccountID:(NSString *)account;
//登陆成功后调用
+ (void)setLoginWithAccountID:(NSString *)account;
//开始付费时 调用(人民币单位是元)
+(void)setPaymentStart:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
// 支付完成,付费分析,记录玩家充值的金额(人民币单位是元)
+(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
//自定义事件
+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra;
//标准接口
+(void)setProfile:(NSDictionary *)dataDic;
//获取设备信息
+(NSString*)getDeviceId;
@end
NS_ASSUME_NONNULL_END
{"renyunAppKey": "", "payorderurl": "http://134.175.46.169:9020/paycheck/create", "usertype": 533, "sdkSimpleName": "apple_shenshou", "APP_ID": "5d143a4879a108171d4fa918", "gamechannelid": "", "APP_KEY": "1896c2d135872269262f63d2a60f4d0d", "logReportUrl": "None", "encode": "", "sdkVersionCode": "V1_2", "loginCheckUrl": "http://134.175.46.169:9020/logincheck/check", "appScheme": "asd", "descode": "", "c2": "", "c1": "", "custom": "{}", "paycheckurl": "http://134.175.46.169:9020/paycheck/confirm", "gameSimpleName": "haibao_test"}
新接入请参考对接文档和demo<br>
## 曾接入公共SDK的快速更新 聚合SDK <br>
1、``` 删除poolsdk_file文件夹中原来framework ``` <br>
3、``` 替换SDKInterface.m文件 ``` <br>
4、``` 删除 PoolSdk.framework ``` <br>
5、``` 引入HaiBaoJuheSDK.framework ``` <br>
6、``` 原pool_setting文件 替换成新 guangka_config 文件 ``` <br>
7、``` 所有接口PoolSdk 替换成 HaiBaoJuheSDK(如不理解可以参考demo或者详细文档) ``` <br>
## 已更新 海豹聚合SDK 2018年12月05日版本 快速更新到 2019年08月2日版本<br>
1、``` 删除poolsdk_file文件夹中原来framework ``` <br>
3、``` 替换SDKInterface文件 ``` <br>
4、``` 替换HaiBaoJuheSDK.framework ``` <br>
5、``` 原配置文件 替换成新 guangka_config 文件(可参考demo) ``` <br>
\ No newline at end of file
No preview for this file type
No preview for this file type
# 公共SDK服务端接入文档
### 1.登录验证
客户端发送请求参数给服务端,服务端对参数进行 MD5 加密,如果加密结果和serverSign 一致,则验证通过,否则不通过
参数 | 类型 | 描述
------------ | ------------- | ------------
userType | int | 用户类型 ID(渠道类型,兼容以 前帐号体系)
openId | string | 平台渠道方返回用户ID
timestamp | string | 时间戳,公共SDK发送到客户端的参数timestamp, 服务端可以判断 timestamp 是否 在有效的登录时间内
serverSign | string | 验证密钥,公共 SDK 发送到 客户端的参数 serverSign,加密串:gameAppkey=%s&userType=% s&openId=%s&timestamp=%s注意:(改为游戏本身的gameAppkey值)
验证方式:
serverSign=MD5(gameAppkey=%s&userType=%s&openId=%s&timestamp=%s) 如:
md5("gameAppkey=xxxx&userType=1&openId=123&timestamp=111111111111")
gameAppkey : 在公共SDK后台的 Md5加密的KEY
`注意!CP必须要以userType+openId保证帐号唯一性`
### 2. 充值验证(通知游戏方发货)
公共SDK服务器接收到渠道服务器充值回调,对回调进行 MD5 验证,如果验证通过, 则采用Post方式马上回调给游戏充值服务器,否则不会回调充值服务器,然后再返回 信息给渠道服务器。回调参数如下:
参数 | 类型 | 描述
------------ | -------------| ------------
serverId | int | 服务器 ID
playerId | int | 角色 ID
orderId | string | 渠道方订单 ID
payAmount | double | 充值金额(如有商品 ID,此值为商 品的金额)
currency | string | 充值货币(CNY:人民币)
goodsId | string | 商品ID,参数对一些有商品列表 的充值有效
goodsName | string | 商品名称
remoteIp | string | 客户端充值 IP
custom | string | 透传参数 ,长度 512
serverSign | string | 发给充值服务器验证的注意:(改为游戏本身的 gameAppkey 值)
uId | string | 平台渠道帐号 ID
gameSimpleName | string | 平台SDK后台游戏代号名
sdkSimpleName | string | 平台SDK代号
queryId | string | 平台SDK订单号
postTime | string | 订单创建时间戳
验证方式:
旧:serverSign=MD5(serverId=%s&playerId=%s&orderId=%s&gameAppKey=%s)
升级:sign=Md5('serverId=%s&playerId=%s&orderId=%s&payAmount=%s&goodsId=%s&sdkSimpleName=%s&gameAppKey=%s')
%s:为相应的值
gameAppkey : 在公共SDK后台的Md5加密的KEY
验证通过后,返回公共 SDK 服务器数据,数据格式:{"code":0,"message":"无订 单"}。code:0 表示失败,1 表示成功,message:描述原因。
`注意!CP必须要以orderId+sdkSimpleName保证订单唯一性,建议使用sign验证`
\ No newline at end of file
No preview for this file type
No preview for this file type
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface EncryptTool : NSObject
+ (NSString *)base64EncodedStringWithWrapWidth:(NSUInteger)wrapWidth withData:(NSData *)argData;
+ (NSString *)doCipher:(NSString*)encryptValue;
+ (NSString *)decryptUseDES:(NSString *)cipherText;
@end
NS_ASSUME_NONNULL_END
#import <Foundation/Foundation.h>
#import "GTMDefines.h"
@interface GTMBase64 : NSObject
+(NSData *)encodeData:(NSData *)data;
+(NSData *)decodeData:(NSData *)data;
+(NSData *)encodeBytes:(const void *)bytes length:(NSUInteger)length;
+(NSData *)decodeBytes:(const void *)bytes length:(NSUInteger)length;
+(NSString *)stringByEncodingData:(NSData *)data;
+(NSString *)stringByEncodingBytes:(const void *)bytes length:(NSUInteger)length;
+(NSData *)decodeString:(NSString *)string;
+(NSData *)webSafeEncodeData:(NSData *)data
padded:(BOOL)padded;
+(NSData *)webSafeDecodeData:(NSData *)data;
+(NSData *)webSafeEncodeBytes:(const void *)bytes
length:(NSUInteger)length
padded:(BOOL)padded;
+(NSData *)webSafeDecodeBytes:(const void *)bytes length:(NSUInteger)length;
+(NSString *)stringByWebSafeEncodingData:(NSData *)data
padded:(BOOL)padded;
+(NSString *)stringByWebSafeEncodingBytes:(const void *)bytes
length:(NSUInteger)length
padded:(BOOL)padded;
+(NSData *)webSafeDecodeString:(NSString *)string;
@end
#include <AvailabilityMacros.h>
#include <TargetConditionals.h>
#if TARGET_OS_IPHONE
#include <Availability.h>
#endif // TARGET_OS_IPHONE
// Not all MAC_OS_X_VERSION_10_X macros defined in past SDKs
#ifndef MAC_OS_X_VERSION_10_5
#define MAC_OS_X_VERSION_10_5 1050
#endif
#ifndef MAC_OS_X_VERSION_10_6
#define MAC_OS_X_VERSION_10_6 1060
#endif
// Not all __IPHONE_X macros defined in past SDKs
#ifndef __IPHONE_2_1
#define __IPHONE_2_1 20100
#endif
#ifndef __IPHONE_2_2
#define __IPHONE_2_2 20200
#endif
#ifndef __IPHONE_3_0
#define __IPHONE_3_0 30000
#endif
#ifndef __IPHONE_3_1
#define __IPHONE_3_1 30100
#endif
#ifndef __IPHONE_3_2
#define __IPHONE_3_2 30200
#endif
#ifndef __IPHONE_4_0
#define __IPHONE_4_0 40000
#endif
// ----------------------------------------------------------------------------
// CPP symbols that can be overridden in a prefix to control how the toolbox
// is compiled.
// ----------------------------------------------------------------------------
// By setting the GTM_CONTAINERS_VALIDATION_FAILED_LOG and
// GTM_CONTAINERS_VALIDATION_FAILED_ASSERT macros you can control what happens
// when a validation fails. If you implement your own validators, you may want
// to control their internals using the same macros for consistency.
#ifndef GTM_CONTAINERS_VALIDATION_FAILED_ASSERT
#define GTM_CONTAINERS_VALIDATION_FAILED_ASSERT 0
#endif
// Give ourselves a consistent way to do inlines. Apple's macros even use
// a few different actual definitions, so we're based off of the foundation
// one.
#if !defined(GTM_INLINE)
#if defined (__GNUC__) && (__GNUC__ == 4)
#define GTM_INLINE static __inline__ __attribute__((always_inline))
#else
#define GTM_INLINE static __inline__
#endif
#endif
// Give ourselves a consistent way of doing externs that links up nicely
// when mixing objc and objc++
#if !defined (GTM_EXTERN)
#if defined __cplusplus
#define GTM_EXTERN extern "C"
#define GTM_EXTERN_C_BEGIN extern "C" {
#define GTM_EXTERN_C_END }
#else
#define GTM_EXTERN extern
#define GTM_EXTERN_C_BEGIN
#define GTM_EXTERN_C_END
#endif
#endif
// Give ourselves a consistent way of exporting things if we have visibility
// set to hidden.
#if !defined (GTM_EXPORT)
#define GTM_EXPORT __attribute__((visibility("default")))
#endif
// Give ourselves a consistent way of declaring something as unused. This
// doesn't use __unused because that is only supported in gcc 4.2 and greater.
#if !defined (GTM_UNUSED)
#define GTM_UNUSED(x) ((void)(x))
#endif
// _GTMDevLog & _GTMDevAssert
//
// _GTMDevLog & _GTMDevAssert are meant to be a very lightweight shell for
// developer level errors. This implementation simply macros to NSLog/NSAssert.
// It is not intended to be a general logging/reporting system.
//
// Please see http://code.google.com/p/google-toolbox-for-mac/wiki/DevLogNAssert
// for a little more background on the usage of these macros.
//
// _GTMDevLog log some error/problem in debug builds
// _GTMDevAssert assert if conditon isn't met w/in a method/function
// in all builds.
//
// To replace this system, just provide different macro definitions in your
// prefix header. Remember, any implementation you provide *must* be thread
// safe since this could be called by anything in what ever situtation it has
// been placed in.
//
// We only define the simple macros if nothing else has defined this.
#ifndef _GTMDevLog
#ifdef DEBUG
#define _GTMDevLog(...) NSLog(__VA_ARGS__)
#else
#define _GTMDevLog(...) do { } while (0)
#endif
#endif // _GTMDevLog
#ifndef _GTMDevAssert
// we directly invoke the NSAssert handler so we can pass on the varargs
// (NSAssert doesn't have a macro we can use that takes varargs)
#if !defined(NS_BLOCK_ASSERTIONS)
#define _GTMDevAssert(condition, ...) \
do { \
if (!(condition)) { \
[[NSAssertionHandler currentHandler] \
handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \
file:[NSString stringWithUTF8String:__FILE__] \
lineNumber:__LINE__ \
description:__VA_ARGS__]; \
} \
} while(0)
#else // !defined(NS_BLOCK_ASSERTIONS)
#define _GTMDevAssert(condition, ...) do { } while (0)
#endif // !defined(NS_BLOCK_ASSERTIONS)
#endif // _GTMDevAssert
// _GTMCompileAssert
// _GTMCompileAssert is an assert that is meant to fire at compile time if you
// want to check things at compile instead of runtime. For example if you
// want to check that a wchar is 4 bytes instead of 2 you would use
// _GTMCompileAssert(sizeof(wchar_t) == 4, wchar_t_is_4_bytes_on_OS_X)
// Note that the second "arg" is not in quotes, and must be a valid processor
// symbol in it's own right (no spaces, punctuation etc).
// Wrapping this in an #ifndef allows external groups to define their own
// compile time assert scheme.
#ifndef _GTMCompileAssert
// We got this technique from here:
// http://unixjunkie.blogspot.com/2007/10/better-compile-time-asserts_29.html
#define _GTMCompileAssertSymbolInner(line, msg) _GTMCOMPILEASSERT ## line ## __ ## msg
#define _GTMCompileAssertSymbol(line, msg) _GTMCompileAssertSymbolInner(line, msg)
#define _GTMCompileAssert(test, msg) \
typedef char _GTMCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ]
#endif // _GTMCompileAssert
// ----------------------------------------------------------------------------
// CPP symbols defined based on the project settings so the GTM code has
// simple things to test against w/o scattering the knowledge of project
// setting through all the code.
// ----------------------------------------------------------------------------
// Provide a single constant CPP symbol that all of GTM uses for ifdefing
// iPhone code.
#if TARGET_OS_IPHONE // iPhone SDK
// For iPhone specific stuff
#define GTM_IPHONE_SDK 1
#if TARGET_IPHONE_SIMULATOR
#define GTM_IPHONE_SIMULATOR 1
#else
#define GTM_IPHONE_DEVICE 1
#endif // TARGET_IPHONE_SIMULATOR
#else
// For MacOS specific stuff
#define GTM_MACOS_SDK 1
#endif
// Some of our own availability macros
#if GTM_MACOS_SDK
#define GTM_AVAILABLE_ONLY_ON_IPHONE UNAVAILABLE_ATTRIBUTE
#define GTM_AVAILABLE_ONLY_ON_MACOS
#else
#define GTM_AVAILABLE_ONLY_ON_IPHONE
#define GTM_AVAILABLE_ONLY_ON_MACOS UNAVAILABLE_ATTRIBUTE
#endif
// Provide a symbol to include/exclude extra code for GC support. (This mainly
// just controls the inclusion of finalize methods).
#ifndef GTM_SUPPORT_GC
#if GTM_IPHONE_SDK
// iPhone never needs GC
#define GTM_SUPPORT_GC 0
#else
// We can't find a symbol to tell if GC is supported/required, so best we
// do on Mac targets is include it if we're on 10.5 or later.
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
#define GTM_SUPPORT_GC 0
#else
#define GTM_SUPPORT_GC 1
#endif
#endif
#endif
// To simplify support for 64bit (and Leopard in general), we provide the type
// defines for non Leopard SDKs
#if !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
// NSInteger/NSUInteger and Max/Mins
#ifndef NSINTEGER_DEFINED
#if __LP64__ || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
#define NSIntegerMax LONG_MAX
#define NSIntegerMin LONG_MIN
#define NSUIntegerMax ULONG_MAX
#define NSINTEGER_DEFINED 1
#endif // NSINTEGER_DEFINED
// CGFloat
#ifndef CGFLOAT_DEFINED
#if defined(__LP64__) && __LP64__
// This really is an untested path (64bit on Tiger?)
typedef double CGFloat;
#define CGFLOAT_MIN DBL_MIN
#define CGFLOAT_MAX DBL_MAX
#define CGFLOAT_IS_DOUBLE 1
#else /* !defined(__LP64__) || !__LP64__ */
typedef float CGFloat;
#define CGFLOAT_MIN FLT_MIN
#define CGFLOAT_MAX FLT_MAX
#define CGFLOAT_IS_DOUBLE 0
#endif /* !defined(__LP64__) || !__LP64__ */
#define CGFLOAT_DEFINED 1
#endif // CGFLOAT_DEFINED
#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
// Some support for advanced clang static analysis functionality
// See http://clang-analyzer.llvm.org/annotations.html
#ifndef __has_feature // Optional.
#define __has_feature(x) 0 // Compatibility with non-clang compilers.
#endif
#ifndef NS_RETURNS_RETAINED
#if __has_feature(attribute_ns_returns_retained)
#define NS_RETURNS_RETAINED __attribute__((ns_returns_retained))
#else
#define NS_RETURNS_RETAINED
#endif
#endif
#ifndef NS_RETURNS_NOT_RETAINED
#if __has_feature(attribute_ns_returns_not_retained)
#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
#else
#define NS_RETURNS_NOT_RETAINED
#endif
#endif
#ifndef CF_RETURNS_RETAINED
#if __has_feature(attribute_cf_returns_retained)
#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))
#else
#define CF_RETURNS_RETAINED
#endif
#endif
#ifndef CF_RETURNS_NOT_RETAINED
#if __has_feature(attribute_cf_returns_not_retained)
#define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained))
#else
#define CF_RETURNS_NOT_RETAINED
#endif
#endif
// Defined on 10.6 and above.
#ifndef NS_FORMAT_ARGUMENT
#define NS_FORMAT_ARGUMENT(A)
#endif
// Defined on 10.6 and above.
#ifndef NS_FORMAT_FUNCTION
#define NS_FORMAT_FUNCTION(F,A)
#endif
// Defined on 10.6 and above.
#ifndef CF_FORMAT_ARGUMENT
#define CF_FORMAT_ARGUMENT(A)
#endif
// Defined on 10.6 and above.
#ifndef CF_FORMAT_FUNCTION
#define CF_FORMAT_FUNCTION(F,A)
#endif
#ifndef GTM_NONNULL
#define GTM_NONNULL(x) __attribute__((nonnull(x)))
#endif
#ifdef __OBJC__
// Declared here so that it can easily be used for logging tracking if
// necessary. See GTMUnitTestDevLog.h for details.
@class NSString;
GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...);
// Macro to allow you to create NSStrings out of other macros.
// #define FOO foo
// NSString *fooString = GTM_NSSTRINGIFY(FOO);
#if !defined (GTM_NSSTRINGIFY)
#define GTM_NSSTRINGIFY_INNER(x) @#x
#define GTM_NSSTRINGIFY(x) GTM_NSSTRINGIFY_INNER(x)
#endif
// Macro to allow fast enumeration when building for 10.5 or later, and
// reliance on NSEnumerator for 10.4. Remember, NSDictionary w/ FastEnumeration
// does keys, so pick the right thing, nothing is done on the FastEnumeration
// side to be sure you're getting what you wanted.
#ifndef GTM_FOREACH_OBJECT
#if TARGET_OS_IPHONE || !(MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
#define GTM_FOREACH_ENUMEREE(element, enumeration) \
for (element in enumeration)
#define GTM_FOREACH_OBJECT(element, collection) \
for (element in collection)
#define GTM_FOREACH_KEY(element, collection) \
for (element in collection)
#else
#define GTM_FOREACH_ENUMEREE(element, enumeration) \
for (NSEnumerator *_ ## element ## _enum = enumeration; \
(element = [_ ## element ## _enum nextObject]) != nil; )
#define GTM_FOREACH_OBJECT(element, collection) \
GTM_FOREACH_ENUMEREE(element, [collection objectEnumerator])
#define GTM_FOREACH_KEY(element, collection) \
GTM_FOREACH_ENUMEREE(element, [collection keyEnumerator])
#endif
#endif
// ============================================================================
// To simplify support for both Leopard and Snow Leopard we declare
// the Snow Leopard protocols that we need here.
#if !defined(GTM_10_6_PROTOCOLS_DEFINED) && !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
#define GTM_10_6_PROTOCOLS_DEFINED 1
@protocol NSConnectionDelegate
@end
@protocol NSAnimationDelegate
@end
@protocol NSImageDelegate
@end
@protocol NSTabViewDelegate
@end
#endif // !defined(GTM_10_6_PROTOCOLS_DEFINED) && !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
// GTM_SEL_STRING is for specifying selector (usually property) names to KVC
// or KVO methods.
// In debug it will generate warnings for undeclared selectors if
// -Wunknown-selector is turned on.
// In release it will have no runtime overhead.
#ifndef GTM_SEL_STRING
#ifdef DEBUG
#define GTM_SEL_STRING(selName) NSStringFromSelector(@selector(selName))
#else
#define GTM_SEL_STRING(selName) @#selName
#endif // DEBUG
#endif // GTM_SEL_STRING
#endif // __OBJC__
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface HaiBaoJuheCreateOrderInfo : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic,strong)NSString *serverId;//服务器ID
@property(nonatomic, strong)NSString *serverName;//服务器名称
@property(nonatomic, strong)NSString *playerId;//玩家ID
@property(nonatomic, strong)NSString *playerName;//玩家名称
@property(nonatomic, strong)NSString *playerLevel;//玩家等级
@property(nonatomic, strong)NSString *postAmount;//金额
@property(nonatomic, strong)NSString *productId;//产品ID
@property(nonatomic, strong)NSString *productName;//产品名称
@property(nonatomic, strong)NSString *productDesc;//产品描述
@property(nonatomic, strong)NSString *custom;//透传参数
@property(nonatomic, strong)NSString *exchange;//兑换比例
@property(nonatomic, strong)NSString *otherInfo;//扩展参数
@property(nonatomic, strong)NSString *userId;//用户ID
@property(nonatomic, strong)NSString *timestamp;//时间戳
- (NSString *) PromotionHaiBaoJuheGetTsign ;
- (NSString *) PromotionHaiBaoJuheGetTimestamp ;
@end
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface HaiBaoJuheLoginInfo : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic,strong)NSString *timestamp;
@property(nonatomic, strong)NSString *sign;
@property(nonatomic, strong)NSString *other;
@property(nonatomic, strong)NSString *openId;
@property(nonatomic, strong)NSString *userType;
@end
//
// PromotionHaiBaoJuheReportInfo.h
// HaiBaoJuheSDK
//
// Created by winFan on 12/21/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface HaiBaoJuheReportInfo : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic, strong)NSString *reportType;//类型
@property(nonatomic, strong)NSString *playerId;//玩家ID
@property(nonatomic, strong)NSString *playerName;//玩家名称
@property(nonatomic, strong)NSString *playerLevel;//玩家等级
@property(nonatomic, strong)NSString *roleSex;//角色性别(1男0女)
@property(nonatomic, strong)NSString *serverId;//服务器ID
@property(nonatomic, strong)NSString *serverName;//服务器名称
@property(nonatomic, strong)NSNumber *roleCTime;//创建角色时间(秒)
@property(nonatomic, strong)NSString *partyName;//工会名称
@property(nonatomic, strong)NSString *roleType;//角色类型
@property(nonatomic, strong)NSNumber *roleChangeTime;//角色等级更新时间(秒)
@property(nonatomic, strong)NSString *vipLevel;//vip等级
@property(nonatomic, strong)NSNumber *diamond;//余额
@property(nonatomic, strong)NSString *moneyType;//商品单位(元宝,金币)
@property(nonatomic, strong)NSString *custom;//透传参数
@property(nonatomic, strong)NSString *openId;
//#define REPORT_URL @"https://statistic.public.sdk.haibaoyouxi.com/sdk/statistic"
//#define REPORT_IDFA_URL @"https://statistic.public.sdk.haibaoyouxi.com/sdk/last_channel?idfa=%@&sdkSimpleName=%@&gameSimpleName=%@"
#define REPORT_OPEN @"open"
#define REPORT_ENTER @"enter"
#define REPORT_CREATEROLE @"createrole"
#define REPORT_ROLEUPGRADE @"roleupgrade"
#define REPORT_SDK_OPEN @"opensdk"
#define REPORT_EXIT @"exit"
#define REPORT_SELECT_SERVER @"selectserver"
@end
#import <Foundation/Foundation.h>
#import "HaiBaoJuheSDK2.h"
#import <UIKit/UIKit.h>
@interface HaiBaoJuheSDK : NSObject
@property(nonatomic, strong, readonly)NSString *sdkVersion;
@property(nonatomic, strong)NSString *urlSchemes;
@property(strong) NSMutableArray* PromotionList;
@property BOOL isAppleGzyazfing;
+ (HaiBaoJuheSDK *)shareSDK;
- (void)initSDK:(UIViewController *) control;
-(void)viewDidAppear;
- (void)setViewController:(UIViewController *)viewController;
- (void)loginSDK;
- (void)loginSDK:(UIViewController *)viewController;
- (void)gzyazfWithGzyazfmentInfo:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (BOOL)hasUserCenter;
- (void)gotoUserCenter;
- (void)reportSDK:(HaiBaoJuheReportInfo *)reportInfo;
- (BOOL)hasLogout;
- (void)logoutSDK;
- (BOOL)hasSwitchAccount;
- (void)switchAccount;
- (BOOL)hasExit;
- (void)exitSDK;
- (void)destroySDK;
@property(nonatomic, assign)ESDKOrientation sdkOrientation;
@property(nonatomic, assign)BOOL bShowedFloat;
@property(nonatomic, assign)int serverId;
-(NSString *) getGameChannelId;
- (NSString *) getCustomValue;
- (NSString *) getChannelParameter1;
- (NSString *) getChannelParameter2;
-(void)gzyazfmentSuccess:(NSString*)accountId orderId:(NSString*)orderId currencyAmount:(double)amount currencyType:(NSString*)currencyType gzyazfType:(NSString*)gzyazfType custom:(NSArray*)customArray;
- (void)handleOpenurl:(NSURL *)url;
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo ;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
- (void)applicationDidEnterBackground:(UIApplication *)application;
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillEnterForeground:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options;
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
@end
#import <UIKit/UIKit.h>
#import "dunnoHaiBaoJuheCheckerdavis.h"
#import "HaiBaoJuheReportInfo.h"
#import "HaiBaoJuheLoginInfo.h"
#import "Interface.h"
#import "magnumHaiBaoJuheNotificationwetland.h"
#import "magnumHaiBaoJuheGzyazfInfowetland.h"
#import "UnionInterface.h"
#import "HaiBaoJuheCreateOrderInfo.h"
#import "magnumHaiBaoJuheConfigwetland.h"
#import "xeroxHaiBaoJuheUtilsbrands.h"
#import "NetCenter.h"
#import "HaiBaoJuheSDK.h"
#import "HaiBaoJuheSDKDelegate.h"
#import <Foundation/Foundation.h>
@protocol HaiBaoJuheSDKDelegate <NSObject>
@optional
-(void)HaiBaoJuheSDKLoginSuccess:(HaiBaoJuheLoginInfo*)loginInfo;
-(void)HaiBaoJuheSDKLoginFail:(NSString*)msg;
-(void)HaiBaoJuheSDKSwitchAccountSuccess:(HaiBaoJuheLoginInfo*)loginInfo;
-(void)HaiBaoJuheSDKSwitchAccountFail:(NSString*)msg;
@end
//
// IAPHelper.h
//
// Original Created by Ray Wenderlich on 2/28/11.
// Created by saturngod on 7/9/12.
// Copyright 2011 Ray Wenderlich. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "StoreKit/StoreKit.h"
typedef void (^IAPProductsResponseBlock)(SKProductsRequest* request , SKProductsResponse* response);
typedef void (^IAPbuyProductCompleteResponseBlock)(SKPaymentTransaction* transcation);
typedef void (^checkReceiptCompleteResponseBlock)(NSString* response,NSError* error);
typedef void (^resoreProductsCompleteResponseBlock) (SKPaymentQueue* payment,NSError* error);
@interface IAPHelper : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver>
@property (nonatomic,strong) NSSet *productIdentifiers;
@property (nonatomic,strong) NSArray * products;
@property (nonatomic,strong) NSMutableSet *purchasedProducts;
@property (nonatomic,strong) SKProductsRequest *request;
@property (nonatomic) BOOL production;
//init With Product Identifiers
- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers;
//get Products List
- (void)requestProductsWithCompletion:(IAPProductsResponseBlock)completion;
//Buy Product
- (void)buyProduct:(SKProduct *)productIdentifier onCompletion:(IAPbuyProductCompleteResponseBlock)completion;
//restore Products
- (void)restoreProductsWithCompletion:(resoreProductsCompleteResponseBlock)completion;
//check isPurchased or not
- (BOOL)isPurchasedProductsIdentifier:(NSString*)productID;
//check receipt but recommend to use in server side instead of using this function
- (void)checkReceipt:(NSData*)receiptData onCompletion:(checkReceiptCompleteResponseBlock)completion;
- (void)checkReceipt:(NSData*)receiptData AndSharedSecret:(NSString*)secretKey onCompletion:(checkReceiptCompleteResponseBlock)completion;
//saved purchased product
- (void)provideContentWithTransaction:(SKPaymentTransaction *)transaction;
- (void)provideContent:(NSString *)productIdentifier __deprecated_msg("use provideContentWithTransaction: instead.");
//clear the saved products
- (void)clearSavedPurchasedProducts;
- (void)clearSavedPurchasedProductByID:(NSString*)productIdentifier;
//Get The Price with local currency
- (NSString *)getLocalePrice:(SKProduct *)product;
@end
//
// IAPShare.h
// ;
//
// Created by Htain Lin Shwe on 10/7/12.
// Copyright (c) 2012 Edenpod. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IAPHelper.h"
@interface IAPShare : NSObject
@property (nonatomic,strong) IAPHelper *iap;
+ (IAPShare *) sharedHelper;
+(id)toJSON:(NSString*)json;
@end
//
// Interface.h
// HaiBaoJuheSDK
//
// Created by winFan on 12/10/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#include "UnionInterface.h"
#import <SafariServices/SafariServices.h>
@interface Interface : NSObject <UnionInterface>
@property(nonatomic, strong)UIViewController *controller;
@end
//
// NSString+Base64.h
// Newsstand
//
// Created by Carlo Vigiani on 29/Oct/11.
// Copyright (c) 2011 viggiosoft. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSString (Base64)
+ (NSString *) base64StringFromData:(NSData *)data length:(long)length;
@end
#import <Foundation/Foundation.h>
@interface NSURLRequest (SSL)
+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
+(void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end
#import <Foundation/Foundation.h>
@interface NetCenter : NSObject
@property(nonatomic,retain) NSMutableData *receiveData;
@property(nonatomic,assign)int dataPackSerialNo;
+ (NetCenter *)getInstance;
- (NSString *)httpGetSyn:(NSString *) getUrl;
- (NSString *)httpPostSyn:(NSString *) postUrl : (NSDictionary *) postData;
- (void)httpGetNoSyn;
- (void)httpPostNoSyn:(NSString *) postUrl :(NSDictionary *)postDict;
- (void)httpPostAsync:(NSString*)postUrl :(NSDictionary*)postDict;
- (void)httpPostAsyncOpen:(NSString*)postUrl :(NSDictionary*)postDict;
-(void)httpGetAsync:(NSString *)url completionHandler:(void (^ __nullable)(NSURLResponse* __nullable response, NSData* __nullable data, NSError* __nullable connectionError)) handler;
- (NSString * __nullable)dicToString:(NSDictionary * __nullable) dict;
@end
#ifndef __HaiBaoJuheSDK__OtherSetting__
#define __HaiBaoJuheSDK__OtherSetting__
/**
应用支持的方向
*/
typedef NS_ENUM(NSUInteger, ESDKOrientation) {
ESDKOrientationPortrait = 1,//竖
ESDKOrientationLandscape,//横
ESDKOrientationNone//自动旋转
};
/**
应用支持的方向
*/
typedef NS_ENUM(NSUInteger, REPORT_TYPE) {
REPORT_TYPE_OPEN = 1,//竖
REPORT_TYPE_ENTER,//横
REPORT_TYPE_DEFINE//自动旋转
};
#endif /* defined(__HaiBaoJuheSDK__OtherSetting__) */
#import "HaiBaoJuheSDK2.h"
@interface SDKInterface : Interface
@end
//
// SFHFKeychainUtils.h
//
// Created by Buzz Andersen on 10/20/08.
// Based partly on code by Jonathan Wight, Jon Crosby, and Mike Malone.
// Copyright 2008 Sci-Fi Hi-Fi. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
#import <UIKit/UIKit.h>
@interface SFHFKeychainUtils : NSObject {
}
+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
+ (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
+ (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
@end
\ No newline at end of file
#define TRACK_VERSION @"1.0.1"
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface TrackingIO : NSObject
+(void) setPrintLog :(BOOL)print;
+ (void)initWithappKey:(NSString *)appKey withChannelId:(NSString *)channelId;
+ (void)setRegisterWithAccountID:(NSString *)account;
+ (void)setLoginWithAccountID:(NSString *)account;
+(void)setGzyazfmentStart:(NSString *)transactionId gzyazfmentType:(NSString*)gzyazfmentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
+(void)setGzyazfment:(NSString *)transactionId gzyazfmentType:(NSString*)gzyazfmentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra;
+(void)setProfile:(NSDictionary *)dataDic;
+(NSString*)getDeviceId;
@end
NS_ASSUME_NONNULL_END
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "HaiBaoJuheSDK2.h"
@protocol UnionInterface
/**
初始化SDK
*/
//[[PoolChecker getInstance] sendNotice:HaiBaoJuheSDKNotificationGzyazf notiName:@"" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"" extendData:order_id];
- (void)SDKinit:(UIViewController *) control;
- (void)setViewController:(UIViewController *) viewController;
/**
登录SDK
*/
- (void)SDKloginSDK;
- (void)SDKloginSDK:(UIViewController *) control;
/**
*是否含有注销接口
*/
- (BOOL)hasLogout;
/**
注销
*/
- (void)SDKlogoutSDK;
/**
*是否含有退出接口
**/
- (BOOL)hasExit;
/**
退出接口
*/
- (void)SDKexitSDK;
/**
*SDK销毁操作(游戏退出时调用)
*/
- (void)destroySDK;
/**
*是否含有用户中心接口
**/
- (BOOL)hasUserCenter;
/**
用户中心
*/
- (void)SDKgotoUserCenter;
/**
*是否含有切换账号接口
**/
- (BOOL)hasSwitchAccount;
/**
*切换账号
**/
- (void)switchAccount;
- (void)viewDidAppear;
/**
提交数据
*/
- (void)SDKreport:(HaiBaoJuheReportInfo *) reportInfo;
/**
进行支付
*/
- (void)SDKgzyazfWithGzyazfmentInfo:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (void)receiveCreateOrder: (NSNotification *)notification;
/**
*充值统计参数
*accountId 账号ID,必填项, 和登陆、注册使用的accountId保持一致即可。
*orderId 订单Id,必填项,请保证该值的全局唯一,系统会使用订单Id进行付费订单排重。
*currencyAmount 货币金额,单位为元,支持小数
*currencyType 货币类型
*gzyazfType 支付类型(渠道)
*/
-(void)gzyazfmentSuccess:(NSString*)accountId orderId:(NSString*)orderId currencyAmount:(double)amount currencyType:(NSString*)currencyType gzyazfType:(NSString*)gzyazfType custom:(NSArray *)customArray;
- (void)handleOpenurl:(NSURL *)url;
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
//推送
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo ;
//推送
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
- (void)applicationDidEnterBackground:(UIApplication *)application;
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillEnterForeground:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options;
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
@end
#import <Foundation/Foundation.h>
@interface aspirinPromotionControlvogue : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
#import "HaiBaoJuheLoginInfo.h"
#import "magnumHaiBaoJuheNotificationwetland.h"
#import "HaiBaoJuheCreateOrderInfo.h"
#import "magnumHaiBaoJuheGzyazfInfowetland.h"
#import "HaiBaoJuheReportInfo.h"
#import "HaiBaoJuheSDKDelegate.h"
@interface dunnoHaiBaoJuheCheckerdavis : NSObject<HaiBaoJuheSDKDelegate>
@property(nonatomic, strong)NSString *userId;
@property(nonatomic, strong)id<HaiBaoJuheSDKDelegate> mHaiBaoJuheSDKDelegate;
@property bool onlyOneTimeGzyazf;
+ (dunnoHaiBaoJuheCheckerdavis *)aspiringetInstancevogue;
- (void)initChecker;
- (void)startCheck:(HaiBaoJuheLoginInfo *)loginInfo;
- (void) createOrder:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (void) PromotionHaiBaoJuhereportOpen;
- (void) PromotionHaiBaoJuhereportSDKOpen;
- (void) PromotionHaiBaoJuhehandleFirstOpenApp:(NSString*) path;
- (void) reportEnter:(HaiBaoJuheReportInfo *)reInfo;
- (void) PromotionHaiBaoJuheReport:(NSString *)_action :(HaiBaoJuheReportInfo *)reInfo;
- (void)sendNotice:(HaiBaoJuheSDKNotificationType)notiType
notiName:(NSString *)notiName
statusCode:(int)nCode
description:(NSString *)szDescripton
extendData:(NSObject *)extendData;
- (void)startCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo;
- (void) PromotionHaiBaoJuheStartCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo type:(int)type;
/*
*初始化时调用
*/
- (void)setHaiBaoJuheSDKDelegate:(nullable id<HaiBaoJuheSDKDelegate>)HaiBaoJuheSDKDeletate;
@end
#import <UIKit/UIKit.h>
@interface dunnoPromotionLocationdavis : NSObject
+ (NSString *)PromotionSKCloudServiceSetupOptionsKey;
@end
#import <Foundation/Foundation.h>
@interface enquiryPromotionInformationemacs : NSObject
{
//
NSString *openId;
NSString *token;
NSString *timestamp;
}
@property(retain,nonatomic) NSString *openId;
@property(retain,nonatomic) NSString *token;
@property(retain,nonatomic) NSString *timestamp;
+ (enquiryPromotionInformationemacs *)getInstance;
@end
#import <UIKit/UIKit.h>
@interface idiotsPromotionIAPHelperControlmosaic : NSObject<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong) NSString* PromotionDingDanHao;
@property(nonatomic,strong) NSDictionary* PromotionHuoWuLieBiao;
@property(nonatomic,strong) NSMutableArray* PromotionHuoWuIDLieBiao;
@property(nonatomic, strong) UITableView *PromotionHuoWuLieBiaoView;
- (void)PromotionHuaQianView:(UIViewController*)controller PromotionHuoWuD:(NSString*)products PromotionQian:(NSString*)amount PromotionHuoWuMing:(NSString*)productName PromotionDingDanHao:(NSString*)DingDanHao;
@end
#import <Foundation/Foundation.h>
@interface kayakPromotionControlbraves : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
extern NSString * const mandyPromotionExitNotificationthumbs;
extern NSString * const magnumPromotionLoginNotificationwetland;
extern NSString * const mustangPromotionErrorNotificationsutton;
@interface kayakPromotionHuiTiaoNotificationbraves : NSObject
@end
#import <Foundation/Foundation.h>
@interface magnumHaiBaoJuheConfigwetland : NSObject
@property(nonatomic, strong)NSString *gameSimpleName;
@property(nonatomic, strong)NSString *sdkSimpleName;
@property(nonatomic, strong)NSString *sdkVersionCode;
@property(nonatomic, strong)NSString *loginCheckUrl;
@property(nonatomic, strong)NSString *gzyazfOrderUrl;
@property(nonatomic, strong)NSString *gzyazfCheckUrl;
@property(nonatomic, strong)NSString *c1;
@property(nonatomic, strong)NSString *c2;
@property(nonatomic, strong)NSString *custom;
+ (magnumHaiBaoJuheConfigwetland *)mustanggetInstancesutton;
- (void) loadFile:(NSString *) fileName;
- (NSString *)mandygetValueByKeythumbs:(NSString *) key;
- (void) updateC1C2Value:(NSString *)c1 c2:(NSString *)c2;
@end
#import "mustangPromotionHaiBaoJuheBaseModelsutton.h"
@interface magnumHaiBaoJuheGzyazfInfowetland : mustangPromotionHaiBaoJuheBaseModelsutton
@property(nonatomic, strong)NSString *serverId;
@property(nonatomic, strong)NSString *queryId;
@property(nonatomic, strong)NSString *playerId;
@property(nonatomic, strong)NSString *playerName;
@property(nonatomic, strong)NSString *postAmount;
@property(nonatomic, strong)NSString *productId;
@property(nonatomic, strong)NSString *products;
@property(nonatomic, strong)NSString *custom;
@property(nonatomic, strong)NSString *postTime;
@property(nonatomic, strong)NSString *other;
//游戏传递过来的原值
@property(nonatomic, strong)NSString *serverName;//服务器名称
@property(nonatomic, strong)NSString *playerLevel;//玩家等级
@property(nonatomic, strong)NSString *productName;//产品名称
@property(nonatomic, strong)NSString *productDesc;//产品描述
@property(nonatomic, strong)NSString *exchange;//兑换比例
@end
//
// magnumHaiBaoJuheNotificationwetland.h
// public_i9133
//
// Created by winFan on 12/1/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import <Foundation/Foundation.h>
extern NSString * const HaiBaoJuheSDK_Notification; /**< */
extern NSString * const _create_order_notification; /**< */
/**
应用支持的方向
*/
typedef NS_ENUM(int, HaiBaoJuheSDKNotificationType) {
HaiBaoJuheSDKNotificationLogin = 1,//登录
HaiBaoJuheSDKNotificationLogout,//注销
HaiBaoJuheSDKNotificationGzyazf,//支付完成
HaiBaoJuheSDKNotificationPause,//暂停退出
HaiBaoJuheSDKNotificationRole,//创建角色
HaiBaoJuheSDKNotificationInitSDK,//初始化SDK
HaiBaoJuheSDKNotificationSwitchAccount,//切换账号
HaiBaoJuheSDKNotificationExit//退出游戏
};
@interface magnumHaiBaoJuheNotificationwetland : NSObject
@end
//////////////////////////////////////////////////////////////////////
@interface HaiBaoJuheSDKResult : NSObject
@property(nonatomic, assign)int statusCode;//请参照此文件下面状态标识
@property(nonatomic, strong)NSString *resultDescription;
@property(nonatomic, strong)NSObject *extendData;
//V1.2.0新增
@property(nonatomic, assign)HaiBaoJuheSDKNotificationType notiType;//消息类型
@property(nonatomic, strong)NSString *notiName;//消息名称
@end
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
/* 状态标识 */
#define HaiBaoJuheSDK_NO_ERROR 0 /*操作成功*/
#define HaiBaoJuheSDK_ERROR_LOGIN_FAILED -100 /*登录失败*/
#define HaiBaoJuheSDK_ERROR_LOGIN_CANCEL -101 /*登录取消*/
#define HaiBaoJuheSDK_ERROR_LOGIN_GAMGEACCOUNT -102 /*游戏帐号登录,非平台账号*/
#define HaiBaoJuheSDK_ERROR_PAY_FAILED -200 /*支付失败*/
#define HaiBaoJuheSDK_ERROR_PAY_CANCEL -201 /*支付取消*/
#define HaiBaoJuheSDK_ERROR_PAY_VERSIGN -202 /*支付验签失败*/
#define HaiBaoJuheSDK_ERROR_CREATE_ORDER_FAILED -203 /*支付验签失败*/
#define HaiBaoJuheSDK_ERROR_ROLE_CREATE_FAILED -300 /*角色创建失败*/
#define HaiBaoJuheSDK_ERROR_INIT_FAILED -400 /*初始化失败*/
#define HaiBaoJuheSDK_ERROR_SWICHT_ACCOUNT_FAILED -500 /*切换账号失败*/
#define HaiBaoJuheSDK_ERROR_EXIT_CANCEL -600 /*退出取消*/
//////////////////////////////////////////////////////////////////////
#import <Foundation/Foundation.h>
@interface magnumPromotionControlwetland : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <UIKit/UIKit.h>
#import "StoreKit/StoreKit.h"
@interface mandyPromotionAllManagerthumbs : NSObject
{
NSString* PromotionAPPID_;
NSString* PromotionAPPKEY_;
NSString* PromotionInviterCode_;
}
@property(strong) NSMutableArray* PromotionList;
@property bool PromotionGeiWoHuaQianBa;
+ (mandyPromotionAllManagerthumbs *)idiotsPromotionInstancemosaic;
- (void)enquiryPromotionChuShiHuaemacs;
- (void)richiePromotionDengLubasket:(NSString *)PromotionAPPID : (NSString *)PromotionAPPKEY : (UIViewController *)controller;
- (void)sugarPromotionYangShiseating:(NSString*)PromotionLeiXing;
- (void)PromotionQuery: (NSString *)PromotionFuWuQiID : (NSString *)PromotionNickName : (NSNumber *)PromotionAmount : (NSString *)PromotionCallBack : (UIViewController *)controller : (NSString *)PromotionServerName;
- (void)PromotionQueryOperation:(UIViewController*)controll PromotionHuoWuID:(NSString*)products PromotionJiaGe:(NSString*)amount PromotionHuoWuMing:(NSString*)productName PromotionDingDanHao:(NSString*) DingDanHao;
@end
#import <Foundation/Foundation.h>
void DGLog(NSString *fmt, ...);
typedef NS_ENUM(NSInteger, DGLoggerLevel)
{
ELogVerbose = 1,
ELogDebug,
ELogInfo,
ELogWarn,
ELogError
};
@interface mandyPromotionHaiBaoJuheDGLoggerthumbs : NSObject
+ (void)showLog:(NSString *)fmt,...;
+ (void)showLog:(DGLoggerLevel)level log:(NSString *)fmt,...;
+ (void)isShowLog:(BOOL)flag;
@end
#import <Foundation/Foundation.h>
#import "OtherSetting.h"
@interface mustangPromotionHaiBaoJuheBaseModelsutton : NSObject
- (NSString *) PromotionHaiBaoJuheObjectToJsonString;
- (NSMutableString *)paramAddToString;
- (id)initWithDiction:(NSDictionary *)diction;
@end
#import <Foundation/Foundation.h>
@interface richiePromotionControlbasket : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface sugarPromotionControlseating : NSObject
- (void)initPromotionInstance;
- (void) PromotionStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface sugarPromotionInformationJMseating : NSObject
+(NSString *)PromotionJM:(NSString *)jm;
@end
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface xeroxHaiBaoJuheUtilsbrands : NSObject
+(NSString *)md5:(NSString *)str;
+ (NSDictionary *) PromotionHaiBaoJuheDictionaryWithJsonString:(NSString *)jsonString;
+(NSString *)createGzyazfOrderUrl;
//*充值回调地址
+(NSString *)magnumcreateGzyazfUrlwetland;
+(UIActivityIndicatorView *)showLoadingDialog:(UIView*)parentView;
+(void)dismissLoadingDialog:(UIActivityIndicatorView*)indicatorView;
@end
#import <UIKit/UIKit.h>
#import "enquiryPromotionInformationemacs.h"
#import <JavaScriptCore/JavaScriptCore.h>
@interface xeroxPromotionMainbrands : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
{
UIWebView *webPromotionView_;
UIActivityIndicatorView *activityIndicator;
}
@property(assign) BOOL PromotionYouYuanJiao;
- (void)PromotionSettingPromotionView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
- (void)PromotionInitWebView;
- (void)loadWebPageWithString:(NSString *)url;
- (void)loadWebPageWithJs:(NSString *)content;
- (void)postNotification:(NSString *)name : (NSString *)code;
- (void)receiveIap:(NSNotification *)notification;
@end
No preview for this file type
No preview for this file type
No preview for this file type
<?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>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.youai.sdk</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
#import <HaiBaoJuheSDK/HaiBaoJuheSDK2.h>
@interface SDKInterface : Interface
@end
#include "SDKInterface.h"
#import <UIKit/UIKit.h>
#import "HaiBaoJuheSDK/mandyPromotionAllManagerthumbs.h"
#import "HaiBaoJuheSDK/kayakPromotionHuiTiaoNotificationbraves.h"
#import "HaiBaoJuheSDK/enquiryPromotionInformationemacs.h"
#import "TrackingIO.h"
@implementation SDKInterface : Interface
int mExchange;
NSString *PromotionAppId;
NSString *PromotionAppKey;
NSString *PromotionLeakOrderUrl;
- (void)SDKinit:(UIViewController *) control
{
[super SDKinit:control];
[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic]enquiryPromotionChuShiHuaemacs];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic]sugarPromotionYangShiseating:@"sdk"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:magnumPromotionLoginNotificationwetland object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HCKAssetsToolCallBack:) name:@"PromotionToolCallBack" object:nil];
[[dunnoHaiBaoJuheCheckerdavis aspiringetInstancevogue] sendNotice:HaiBaoJuheSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"initSuccess" extendData:nil];
NSString* channelId = [[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"gamechannelid"];
if(channelId == nil || [channelId length] <= 0){
channelId = @"unknown";
}
[TrackingIO initWithappKey:[[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"renyunAppKey"] withChannelId:channelId];
}
/**
登录SDK
*/
- (void)SDKloginSDK
{
//APPID APPKEY
PromotionAppId = [[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"APP_ID"];
PromotionAppKey =[[magnumHaiBaoJuheConfigwetland mustanggetInstancesutton] mandygetValueByKeythumbs:@"APP_KEY"];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic]richiePromotionDengLubasket:PromotionAppId :PromotionAppKey :self.controller];
}
/**
loginCheck
*/
- (void)receiveLoginMessage:(NSNotification *)notification
{
NSLog(@"loginchek");
HaiBaoJuheLoginInfo *loginInfo = [HaiBaoJuheLoginInfo alloc];
loginInfo.openId = [[enquiryPromotionInformationemacs getInstance]openId];
loginInfo.sign = [[enquiryPromotionInformationemacs getInstance] token];
loginInfo.timestamp = [[enquiryPromotionInformationemacs getInstance] timestamp];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[dunnoHaiBaoJuheCheckerdavis aspiringetInstancevogue] startCheck:loginInfo];
});
}
-(NSString*)DataTojsonString:(id)object
{
NSString *jsonString = nil;
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object
options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
error:&error];
jsonString = [jsonData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
return jsonString;
}
/**
苹果支付结果回调
*/
- (void)HCKAssetsToolCallBack:(NSNotification *)notification
{
NSDictionary* payResultDic = notification.object;
NSString* receiptStr = [payResultDic objectForKey:@"PromotionToolResult"];
NSString* queryId = [payResultDic objectForKey:@"query_id"];
//收到回调,保存queryid和data
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* queryIdArray = [userDefaults objectForKey:@"queryIds"];
NSMutableArray* tempQueryIdArray = [[NSMutableArray alloc] initWithCapacity:10];
if (queryIdArray) {
}else{
queryIdArray = [[NSMutableArray alloc]initWithCapacity:10];
}
for (NSString* arrayQueryId in queryIdArray) {
[tempQueryIdArray addObject:arrayQueryId];
}
[tempQueryIdArray addObject:queryId];
[userDefaults setObject:tempQueryIdArray forKey:@"queryIds"];
[userDefaults setObject:receiptStr forKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:PromotionLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
[[dunnoHaiBaoJuheCheckerdavis aspiringetInstancevogue] sendNotice:HaiBaoJuheSDKNotificationGzyazf notiName:@"success" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"success" extendData:nil];
//删除已保存的
[userDefaults removeObjectForKey:queryId];
[tempQueryIdArray removeObject:queryId];
[userDefaults setObject:tempQueryIdArray forKey:@"queryIds"];
[userDefaults removeObjectForKey:@"lastqueryid"];
}
[userDefaults synchronize];
}
/**
支付 创建订单
*/
- (void)SDKgzyazfWithGzyazfmentInfo:(HaiBaoJuheCreateOrderInfo *)payInfo
{
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSString* lastqueryid = [userDefaults objectForKey:@"lastqueryid"];
PromotionLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[xeroxHaiBaoJuheUtilsbrands magnumcreateGzyazfUrlwetland],
[payInfo userId],
[payInfo playerId]];
[userDefaults setObject:PromotionLeakOrderUrl forKey:@"lastPromotionLeakOrderUrl"];
if (lastqueryid!=nil) {
//创建订单前进行补单
NSData* receiptData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString* receiptStr = [receiptData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
if (receiptStr!=nil) {
receiptStr = [receiptStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//如果不为空,进行最后一次补单
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",lastqueryid,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:PromotionLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
//删除已保存的
[userDefaults removeObjectForKey:@"lastqueryid"];
}
}
}
mExchange = [payInfo exchange].intValue;
[super SDKgzyazfWithGzyazfmentInfo:payInfo];
PromotionLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[xeroxHaiBaoJuheUtilsbrands magnumcreateGzyazfUrlwetland],
[payInfo userId],
[payInfo playerId]];
[userDefaults synchronize];
}
/**
SDK
*/
- (void)SDKgotoUserCenter
{
}
- (void)SDKreport:(HaiBaoJuheReportInfo *)reportInfo
{
NSLog(@"reportInfo");
NSString* reportType = [reportInfo reportType];
if (reportInfo) {
if ([reportType isEqualToString:REPORT_ENTER]) {
[TrackingIO setLoginWithAccountID:[reportInfo playerId]];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self handlerLeakOrder];
});
}else if ([reportType isEqualToString:REPORT_CREATEROLE]){
[TrackingIO setRegisterWithAccountID:[reportInfo playerId]];
}
}
}
/**
SDK
*/
- (void)SDKexitSDK
{
}
- (void)SDKlogoutSDK
{
NSLog(@"切换账号");
}
- (void)handleOpenurl:(NSURL *)url
{
}
- (void)receivePayMessage : (NSNotification *)notification;
{
NSString *order_id = [notification object];
NSLog(@"订单ID:%@", order_id);
}
//补单处理
- (void) handlerLeakOrder{
NSUserDefaults* userDefaults2 = [NSUserDefaults standardUserDefaults];
NSMutableArray* queryIdArray = [userDefaults2 objectForKey:@"queryIds"];
NSLog(@"orderDic%@",queryIdArray);
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* failQueryIdArray = [[NSMutableArray alloc]initWithCapacity:10];
if(queryIdArray){
for (NSString* queryId in queryIdArray) {
NSString* receiptStr = [userDefaults valueForKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* lastPromotionLeakOrderUrl = [userDefaults objectForKey:@"lastPromotionLeakOrderUrl"];
NSString* result;
if (lastPromotionLeakOrderUrl!=nil) {
result = [[NetCenter getInstance] httpPostSyn:lastPromotionLeakOrderUrl :receiptDic];
}else{
result = [[NetCenter getInstance] httpPostSyn:[xeroxHaiBaoJuheUtilsbrands magnumcreateGzyazfUrlwetland] :receiptDic];
}
if([@"success" isEqualToString:result]){//成功
[userDefaults removeObjectForKey:queryId];
}else{//补单失败
[failQueryIdArray addObject:queryId];
}
}
if([failQueryIdArray count] > 0){//含有补单失败项
[userDefaults setObject:failQueryIdArray forKey:@"queryIds"];
}else{//全部补单成功
[userDefaults removeObjectForKey:@"queryIds"];
}
[userDefaults synchronize];
}
}
- (void)receiveCreateOrder:(NSNotification *)notification
{
NSLog(@"创建订单成功");
magnumHaiBaoJuheGzyazfInfowetland *payInfo = [notification object];
NSNumber *amount = @([[payInfo postAmount] integerValue] * mExchange);
NSString *serverId = [payInfo serverId];
NSString *roleName = [payInfo playerName];
NSString *queryId = [payInfo queryId];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self handlerLeakOrder];
});
NSString *other = [payInfo other];
if (other && [other length] > 0) {
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic] PromotionQuery:serverId :roleName :amount :[payInfo queryId] :self.controller :[payInfo serverName]];
}else{
NSString* products = [payInfo products];
//保存订单号到本地
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:queryId forKey:@"lastqueryid"];
[userDefaults synchronize];
[[mandyPromotionAllManagerthumbs idiotsPromotionInstancemosaic] PromotionQueryOperation:self.controller PromotionHuoWuID:products PromotionJiaGe:[payInfo postAmount] PromotionHuoWuMing:[payInfo productName] PromotionDingDanHao:queryId];
}
}
-(void)paymentSuccess:(NSString *)accountId orderId:(NSString *)orderId currencyAmount:(double)amount currencyType:(NSString *)currencyType payType:(NSString *)payType custom:(NSArray *)customArray
{
[TrackingIO setPayment:orderId paymentType:payType currentType:currencyType currencyAmount:amount];
}
@end
No preview for this file type
//
// NewTtack.h
// NewTtack
//
// Created by yun on 16/1/11.
// Copyright © 2016年 yun. All rights reserved.
//
#define TRACK_VERSION @"1.0.1"
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
/*
热云移动广告效果监测 平台 api 请选择对应的api进行使用
*/
NS_ASSUME_NONNULL_BEGIN
@interface TrackingIO : NSObject
//开启打印日志 正式上线包请关掉
+(void) setPrintLog :(BOOL)print;
// 开启数据统计
+ (void)initWithappKey:(NSString *)appKey withChannelId:(NSString *)channelId;
//注册成功后调用
+ (void)setRegisterWithAccountID:(NSString *)account;
//登陆成功后调用
+ (void)setLoginWithAccountID:(NSString *)account;
//开始付费时 调用(人民币单位是元)
+(void)setPaymentStart:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
// 支付完成,付费分析,记录玩家充值的金额(人民币单位是元)
+(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
//自定义事件
+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra;
//标准接口
+(void)setProfile:(NSDictionary *)dataDic;
//获取设备信息
+(NSString*)getDeviceId;
@end
NS_ASSUME_NONNULL_END
{"renyunAppKey": "", "payorderurl": "https://public.sdk.haibaoyouxi.com/paycheck/create", "usertype": 533, "sdkSimpleName": "apple_shenshou", "gamechannelid": "", "APP_KEY": "1896c2d135872269262f63d2a60f4d0d", "custom": "{}", "sdkVersionCode": "V1_2", "loginCheckUrl": "https://public.sdk.haibaoyouxi.com/logincheck/check", "appScheme": "asd", "c2": "", "c1": "", "APP_ID": "5d143a4879a108171d4fa918", "paycheckurl": "https://public.sdk.haibaoyouxi.com/paycheck/confirm", "logReportUrl":"https://public.sdk.haibaofun.com/sdk/statistic","gameSimpleName": "haibao_test"}