提交 328c6c03 authored 作者: 逄仁秀's avatar 逄仁秀

1

上级 061ef03c
......@@ -71,6 +71,6 @@ SPEC CHECKSUMS:
SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84
SnapKit: fe8a619752f3f27075cc9a90244d75c6c3f27e2a
PODFILE CHECKSUM: 2c02dcc29a9ee1c95e1075175ad5362ae5816532
PODFILE CHECKSUM: 205e606a62a452f94dd99783a0ca58690ab983aa
COCOAPODS: 1.11.3
......@@ -71,6 +71,6 @@ SPEC CHECKSUMS:
SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84
SnapKit: fe8a619752f3f27075cc9a90244d75c6c3f27e2a
PODFILE CHECKSUM: 2c02dcc29a9ee1c95e1075175ad5362ae5816532
PODFILE CHECKSUM: 205e606a62a452f94dd99783a0ca58690ab983aa
COCOAPODS: 1.11.3
......@@ -16,6 +16,7 @@
dependencies = (
);
name = AAINetwork;
productName = AAINetwork;
};
/* End PBXAggregateTarget section */
......@@ -706,7 +707,7 @@
213AD92413B54E4301509BE4B920B628 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "SDWebImage/Core/UIImage+ForceDecode.h"; sourceTree = "<group>"; };
21D06D50A298E51749A5B4EF8F69B589 /* UIImage+Metadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Metadata.m"; path = "SDWebImage/Core/UIImage+Metadata.m"; sourceTree = "<group>"; };
223B7D2AE0EDAAFA4DE4F2984FBBCCBC /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/Core/SDWebImageDownloaderOperation.m; sourceTree = "<group>"; };
22BFEC7F24E43BBF4250F8C77EEFB2C2 /* AAINetwork.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = AAINetwork.xcframework; sourceTree = "<group>"; };
22BFEC7F24E43BBF4250F8C77EEFB2C2 /* AAINetwork.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.xcframework; path = AAINetwork.xcframework; sourceTree = "<group>"; };
22D66CC26B9CF21E3BD3BB5569EBD962 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Source/HexColorTransform.swift; sourceTree = "<group>"; };
23CF3EB5764AB3F18F3416569B78FF02 /* TextAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnimator.swift; path = "lottie-swift/src/Private/Model/Text/TextAnimator.swift"; sourceTree = "<group>"; };
23FD4EFA224F86FC31BE7BC158C48102 /* BuiltInBasicType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuiltInBasicType.swift; path = Source/BuiltInBasicType.swift; sourceTree = "<group>"; };
......@@ -718,7 +719,7 @@
28ADCF45FC304CE33EF5D7FCDBFE2EB6 /* ShapeNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShapeNode.swift; path = "lottie-swift/src/Private/NodeRenderSystem/Nodes/PathNodes/ShapeNode.swift"; sourceTree = "<group>"; };
28CC105B48B321A821FF9A01A0E1177F /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/Core/NSData+ImageContentType.h"; sourceTree = "<group>"; };
290B14A91AF2C533CD16A0D534087C54 /* StrokeNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StrokeNode.swift; path = "lottie-swift/src/Private/NodeRenderSystem/Nodes/RenderNodes/StrokeNode.swift"; sourceTree = "<group>"; };
293E7A4D6F4E473914120C3F5C45D531 /* AAILivenessSDK.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AAILivenessSDK.xcframework; path = AAILivenessSDK/AAILivenessSDK.xcframework; sourceTree = "<group>"; };
293E7A4D6F4E473914120C3F5C45D531 /* AAILivenessSDK.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.xcframework; name = AAILivenessSDK.xcframework; path = AAILivenessSDK/AAILivenessSDK.xcframework; sourceTree = "<group>"; };
2A17D0F1B7B6910F030BA694D2723ABC /* Deserializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deserializer.swift; path = Source/Deserializer.swift; sourceTree = "<group>"; };
2A1CA0F02BC99ADF684EA2B4265C088B /* Color.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Color.swift; path = "lottie-swift/src/Public/Primitives/Color.swift"; sourceTree = "<group>"; };
2AE159587F0AA4728E9C82082EC1931D /* SDDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = SDWebImage/Core/SDDiskCache.h; sourceTree = "<group>"; };
......@@ -733,7 +734,7 @@
2FE6DD57DDDC438F293097D635C76149 /* DashPattern.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DashPattern.swift; path = "lottie-swift/src/Private/Model/Objects/DashPattern.swift"; sourceTree = "<group>"; };
3038116CDF7E96CAE33B750BAE3A6094 /* ADJUserDefaults.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ADJUserDefaults.m; path = Adjust/ADJUserDefaults.m; sourceTree = "<group>"; };
3053F4447BCB43E20F96F17ADB3B80C2 /* SDWebImageDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = SDWebImage/Core/SDWebImageDefine.h; sourceTree = "<group>"; };
315E6EFB519120984A5BCE14665D673E /* waiting.json */ = {isa = PBXFileReference; includeInIndex = 1; name = waiting.json; path = MCToast/Assets/waiting.json; sourceTree = "<group>"; };
315E6EFB519120984A5BCE14665D673E /* waiting.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = waiting.json; path = MCToast/Assets/waiting.json; sourceTree = "<group>"; };
32A54F1B2FF2B98578DA9233F47A17F2 /* AnimationContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimationContainer.swift; path = "lottie-swift/src/Private/LayerContainers/AnimationContainer.swift"; sourceTree = "<group>"; };
33E7D42A64C4172C7D03A3CFC1BBE469 /* GradientStrokeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientStrokeRenderer.swift; path = "lottie-swift/src/Private/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientStrokeRenderer.swift"; sourceTree = "<group>"; };
33ED0475D0B155FD393F93B03FDF8362 /* ContextDescriptorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContextDescriptorType.swift; path = Source/ContextDescriptorType.swift; sourceTree = "<group>"; };
......@@ -960,12 +961,12 @@
9B773BFFD149A91DE28BA8030CFE339D /* toast_success@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "toast_success@2x.png"; path = "MCToast/Assets/toast_success@2x.png"; sourceTree = "<group>"; };
9BC27AC459FB553D0C9AA5A881F85E34 /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.h; sourceTree = "<group>"; };
9BF7764FC780DF7709555234D1D84349 /* ADJPackageParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ADJPackageParams.h; path = Adjust/ADJPackageParams.h; sourceTree = "<group>"; };
9C6C74F803589B53680753432E84BC97 /* Pods-iOS-2kj */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "Pods-iOS-2kj"; path = "libPods-iOS-2kj.a"; sourceTree = BUILT_PRODUCTS_DIR; };
9C6C74F803589B53680753432E84BC97 /* libPods-iOS-2kj.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-iOS-2kj.a"; sourceTree = BUILT_PRODUCTS_DIR; };
9CD49F558731A10D07A187AA5B9D3552 /* UIImage+Transform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Transform.m"; path = "SDWebImage/Core/UIImage+Transform.m"; sourceTree = "<group>"; };
9D145B2D6FC5ED887A39E72E4DE234EE /* ADJEventFailure.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ADJEventFailure.m; path = Adjust/ADJEventFailure.m; sourceTree = "<group>"; };
9D3DD73F58F029F610226F390167FFE8 /* InvertedMatteLayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvertedMatteLayer.swift; path = "lottie-swift/src/Private/LayerContainers/Utility/InvertedMatteLayer.swift"; sourceTree = "<group>"; };
9D5000D2BEBDB7BDE1C868A8910A533A /* ADJActivityState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ADJActivityState.h; path = Adjust/ADJActivityState.h; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
9DB8B1715790B1BAA55688F176ACF3B4 /* CGFloatExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CGFloatExtensions.swift; path = "lottie-swift/src/Private/Utility/Extensions/CGFloatExtensions.swift"; sourceTree = "<group>"; };
9E14AB6D22F95F8CEA06186C4770973C /* IQKeyboardManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQKeyboardManager.m; path = IQKeyboardManager/IQKeyboardManager.m; sourceTree = "<group>"; };
9E71A655F072D9109864552C3A998E19 /* SDImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = SDWebImage/Core/SDImageFrame.h; sourceTree = "<group>"; };
......@@ -978,7 +979,7 @@
A1B5DA3B094E685056E4F5138817BB0F /* MCToast */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = MCToast; path = libMCToast.a; sourceTree = BUILT_PRODUCTS_DIR; };
A1E25300EC37F4FC85738773E76422AF /* LayerImageProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayerImageProvider.swift; path = "lottie-swift/src/Private/LayerContainers/Utility/LayerImageProvider.swift"; sourceTree = "<group>"; };
A293D11B8DC7DF18D8F975D54D44CFE1 /* SDWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImage.h; path = WebImage/SDWebImage.h; sourceTree = "<group>"; };
A4EAFD44BFB480DFCAAB1E345D874B63 /* MCToast-ToastBundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "MCToast-ToastBundle"; path = ToastBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
A4EAFD44BFB480DFCAAB1E345D874B63 /* ToastBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ToastBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
A4EB6DEBD91C4B8813D6DCCF3876EBBD /* MBProgressHUD.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MBProgressHUD.release.xcconfig; sourceTree = "<group>"; };
A52C7ACE74DB03D175FF02681CBFD95F /* SDDisplayLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDisplayLink.h; path = SDWebImage/Private/SDDisplayLink.h; sourceTree = "<group>"; };
A57A57D0D33B24DA2A3441B4B05CB4EE /* SDCycleScrollView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDCycleScrollView-prefix.pch"; sourceTree = "<group>"; };
......@@ -1321,7 +1322,6 @@
AFE2C1A37E4E7BFD7B41A9A3129EAA25 /* UILayoutSupport+Extensions.swift */,
BE9402B3BF68F1440AC0530CEDC8087B /* Support Files */,
);
name = SnapKit;
path = SnapKit;
sourceTree = "<group>";
};
......@@ -1358,7 +1358,6 @@
A6BAFFCD6E5C28EA3215D51BC4BAEF9C /* IQUIViewController+Additions.m */,
DAB64F8D65FC4ACB721C055F67F4A735 /* Support Files */,
);
name = IQKeyboardManager;
path = IQKeyboardManager;
sourceTree = "<group>";
};
......@@ -1557,7 +1556,6 @@
171A01D462F102A7994004EE26B2A44E /* Core */,
404DF08FC45E044A8917E617FB5DF563 /* Support Files */,
);
name = SDWebImage;
path = SDWebImage;
sourceTree = "<group>";
};
......@@ -1588,7 +1586,6 @@
3734CEE39272670B4F1B7B23A9BB88C6 /* MBProgressHUD.m */,
8A9158C52E9273616E72ED77B90F8C02 /* Support Files */,
);
name = MBProgressHUD;
path = MBProgressHUD;
sourceTree = "<group>";
};
......@@ -1690,7 +1687,6 @@
4AD0D28A96347D4A1292F520D4E3AC51 /* UIView+SDExtension.m */,
CF275A6A495455A30E330DBD40C0D4C7 /* Support Files */,
);
name = SDCycleScrollView;
path = SDCycleScrollView;
sourceTree = "<group>";
};
......@@ -1700,7 +1696,6 @@
586930ADFAC4D8914DA5EC2D39D7B55F /* Core */,
EDD36B0CAB1F37A5E38DC5A1F9B427D4 /* Support Files */,
);
name = Adjust;
path = Adjust;
sourceTree = "<group>";
};
......@@ -1859,7 +1854,6 @@
CEA984F7B02E487F32403BAE8CAAB3BE /* VectorsExtensions.swift */,
E2A0FE5B8B6E3FCFD93373979A260D81 /* Support Files */,
);
name = "lottie-ios";
path = "lottie-ios";
sourceTree = "<group>";
};
......@@ -1916,8 +1910,8 @@
51BA97E8B5085EFFB47BC9C0B785CEA7 /* lottie-ios */,
8B8FAB0D627B17EDE1366984278705D9 /* MBProgressHUD */,
A1B5DA3B094E685056E4F5138817BB0F /* MCToast */,
A4EAFD44BFB480DFCAAB1E345D874B63 /* MCToast-ToastBundle */,
9C6C74F803589B53680753432E84BC97 /* Pods-iOS-2kj */,
A4EAFD44BFB480DFCAAB1E345D874B63 /* ToastBundle.bundle */,
9C6C74F803589B53680753432E84BC97 /* libPods-iOS-2kj.a */,
8B6CF5C20C32EE9F7F0862FF892524DE /* SDCycleScrollView */,
B0B214D775196BA7CA8E17E53048A493 /* SDWebImage */,
979486118B3E90C08386079D57962701 /* SnapKit */,
......@@ -1980,7 +1974,6 @@
E7C708237C925CBC21C4855D90EE5E88 /* URLTransform.swift */,
D1666E30F660F99250B366F59FE50F22 /* Support Files */,
);
name = HandyJSON;
path = HandyJSON;
sourceTree = "<group>";
};
......@@ -2038,7 +2031,6 @@
91495AAC591BD95208F7DF6BD1F1EFE6 /* Frameworks */,
BC83805CABBD7D162FE01C3A2D042912 /* Support Files */,
);
name = AAINetwork;
path = AAINetwork;
sourceTree = "<group>";
};
......@@ -2090,7 +2082,6 @@
A53156B21DE1D25C8065E42C06AB987B /* Resources */,
291229F4C4C80A5E93887DD11BA46842 /* Support Files */,
);
name = MCToast;
path = MCToast;
sourceTree = "<group>";
};
......@@ -2122,7 +2113,6 @@
CFAA9FDC4445597830054AF427726B48 /* Resources */,
E9E51109F80F71C2D0434BFF5A4D1F11 /* Support Files */,
);
name = AAILiveness;
path = AAILiveness;
sourceTree = "<group>";
};
......@@ -2460,7 +2450,7 @@
);
name = "Pods-iOS-2kj";
productName = "Pods-iOS-2kj";
productReference = 9C6C74F803589B53680753432E84BC97 /* Pods-iOS-2kj */;
productReference = 9C6C74F803589B53680753432E84BC97 /* libPods-iOS-2kj.a */;
productType = "com.apple.product-type.library.static";
};
66D9134153A7BD0037C2DFB3EE231352 /* MCToast */ = {
......@@ -2497,7 +2487,7 @@
);
name = "MCToast-ToastBundle";
productName = ToastBundle;
productReference = A4EAFD44BFB480DFCAAB1E345D874B63 /* MCToast-ToastBundle */;
productReference = A4EAFD44BFB480DFCAAB1E345D874B63 /* ToastBundle.bundle */;
productType = "com.apple.product-type.bundle";
};
7111F362EA0D14BECD8B96EA1EAA5F79 /* Adjust */ = {
......@@ -3607,11 +3597,19 @@
isa = XCBuildConfiguration;
baseConfigurationReference = CA4250432A1DF0E963ABD47E12E53BD3 /* MCToast.debug.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
CODE_SIGN_STYLE = Manual;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MCToast";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 6QKPM88RAB;
IBSC_MODULE = MCToast;
INFOPLIST_FILE = "Target Support Files/MCToast/ResourceBundle-ToastBundle-MCToast-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
PRODUCT_BUNDLE_IDENTIFIER = pinjaman.online.dana.easypay.pay;
PRODUCT_NAME = ToastBundle;
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
......@@ -3787,7 +3785,7 @@
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-iOS-2kj/Pods-iOS-2kj.modulemap";
OTHER_LDFLAGS = "";
......@@ -3805,11 +3803,19 @@
isa = XCBuildConfiguration;
baseConfigurationReference = A875904B4948415E52F3FF52B07244A3 /* MCToast.release.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
CODE_SIGN_STYLE = Manual;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MCToast";
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 6QKPM88RAB;
IBSC_MODULE = MCToast;
INFOPLIST_FILE = "Target Support Files/MCToast/ResourceBundle-ToastBundle-MCToast-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
PRODUCT_BUNDLE_IDENTIFIER = pinjaman.online.dana.easypay.pay;
PRODUCT_NAME = ToastBundle;
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
......@@ -3825,7 +3831,7 @@
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-iOS-2kj/Pods-iOS-2kj.modulemap";
OTHER_LDFLAGS = "";
......
......@@ -2,23 +2,23 @@
<!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>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>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSPrincipalClass</key>
<string></string>
<key>CFBundleDevelopmentRegion</key>
<string>en</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>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
......@@ -46,6 +46,10 @@
88B5B93C2B4CEE1000871A63 /* KJAboutViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 88B5B93A2B4CEE1000871A63 /* KJAboutViewController.xib */; };
88B5B93E2B4D4AF000871A63 /* MyTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B5B93D2B4D4AF000871A63 /* MyTextField.swift */; };
88B5B9402B4E7B3400871A63 /* KJSingleChooseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B5B93F2B4E7B3400871A63 /* KJSingleChooseView.swift */; };
88B5B9442B51402100871A63 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88B5B9432B51402100871A63 /* SystemConfiguration.framework */; };
88B5B9462B51402900871A63 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88B5B9452B51402900871A63 /* Security.framework */; };
88B5B9482B51403300871A63 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 88B5B9472B51403300871A63 /* libz.tbd */; };
88B5B94A2B51403D00871A63 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 88B5B9492B51403D00871A63 /* libc++.tbd */; };
88BE37D82AFCC15400D04877 /* KJHomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88BE37D62AFCC15400D04877 /* KJHomeViewController.swift */; };
88BE37D92AFCC15400D04877 /* KJHomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 88BE37D72AFCC15400D04877 /* KJHomeViewController.xib */; };
88BE37DE2AFCC19F00D04877 /* KJChargeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88BE37DC2AFCC19F00D04877 /* KJChargeViewController.swift */; };
......@@ -149,6 +153,11 @@
88B5B93A2B4CEE1000871A63 /* KJAboutViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KJAboutViewController.xib; sourceTree = "<group>"; };
88B5B93D2B4D4AF000871A63 /* MyTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyTextField.swift; sourceTree = "<group>"; };
88B5B93F2B4E7B3400871A63 /* KJSingleChooseView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KJSingleChooseView.swift; sourceTree = "<group>"; };
88B5B9432B51402100871A63 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
88B5B9452B51402900871A63 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
88B5B9472B51403300871A63 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
88B5B9492B51403D00871A63 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
88B5B94B2B51467200871A63 /* Bugly.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Bugly.framework; sourceTree = "<group>"; };
88BE37D62AFCC15400D04877 /* KJHomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJHomeViewController.swift; sourceTree = "<group>"; };
88BE37D72AFCC15400D04877 /* KJHomeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KJHomeViewController.xib; sourceTree = "<group>"; };
88BE37DC2AFCC19F00D04877 /* KJChargeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJChargeViewController.swift; sourceTree = "<group>"; };
......@@ -194,6 +203,10 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88B5B94A2B51403D00871A63 /* libc++.tbd in Frameworks */,
88B5B9482B51403300871A63 /* libz.tbd in Frameworks */,
88B5B9462B51402900871A63 /* Security.framework in Frameworks */,
88B5B9442B51402100871A63 /* SystemConfiguration.framework in Frameworks */,
91C122B3FA1EBE4646480F8D /* libPods-iOS-2kj.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -218,6 +231,10 @@
1515A692C4392089CF2A520F /* Frameworks */ = {
isa = PBXGroup;
children = (
88B5B9492B51403D00871A63 /* libc++.tbd */,
88B5B9472B51403300871A63 /* libz.tbd */,
88B5B9452B51402900871A63 /* Security.framework */,
88B5B9432B51402100871A63 /* SystemConfiguration.framework */,
11D69ABBA8CADA79BD7A0869 /* libPods-iOS-2kj.a */,
);
name = Frameworks;
......@@ -372,6 +389,7 @@
88BE37FD2AFCCC9800D04877 /* tool */ = {
isa = PBXGroup;
children = (
88B5B94B2B51467200871A63 /* Bugly.framework */,
88B5B92C2B47FD2800871A63 /* DeviceManager.h */,
88B5B92D2B47FD2800871A63 /* DeviceManager.m */,
);
......@@ -793,7 +811,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
......@@ -847,7 +865,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
......@@ -864,13 +882,20 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6QKPM88RAB;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = S39X7KBZRW;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/iOS-2kj/tool",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "iOS-2kj/Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "Easy Pay";
INFOPLIST_KEY_NSCameraUsageDescription = "We need access to your camera for QR code scanning.";
INFOPLIST_KEY_NSCameraUsageDescription = "Mohon izinkan pengambilan foto untuk mengaktifkan fungsi gesek guna memfasilitasi penambahan akun yang akan ditransfer";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
......@@ -881,9 +906,11 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = kpss.iOS.com;
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = pinjaman.online.dana.easypay;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = EasyPay;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
......@@ -902,13 +929,20 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6QKPM88RAB;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = S39X7KBZRW;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/iOS-2kj/tool",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "iOS-2kj/Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "Easy Pay";
INFOPLIST_KEY_NSCameraUsageDescription = "We need access to your camera for QR code scanning.";
INFOPLIST_KEY_NSCameraUsageDescription = "Mohon izinkan pengambilan foto untuk mengaktifkan fungsi gesek guna memfasilitasi penambahan akun yang akan ditransfer";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
......@@ -919,9 +953,11 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = kpss.iOS.com;
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = pinjaman.online.dana.easypay;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = EasyPay;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
......@@ -941,13 +977,16 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6QKPM88RAB;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "kpss.iOS-2kjTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/iOS-2kj.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/iOS-2kj";
};
name = Debug;
......@@ -961,13 +1000,16 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6QKPM88RAB;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "kpss.iOS-2kjTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/iOS-2kj.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/iOS-2kj";
};
name = Release;
......@@ -980,12 +1022,16 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6QKPM88RAB;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "kpss.iOS-2kjUITests";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
TEST_TARGET_NAME = "iOS-2kj";
};
name = Debug;
......@@ -998,12 +1044,16 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6QKPM88RAB;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "kpss.iOS-2kjUITests";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
TEST_TARGET_NAME = "iOS-2kj";
};
name = Release;
......
......@@ -23,7 +23,7 @@
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
......@@ -92,10 +92,10 @@
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
buildConfiguration = "Release">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
buildConfiguration = "Debug"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
......@@ -24,6 +24,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
let vc = storyBoard.instantiateInitialViewController()
window?.rootViewController = vc
Bugly.start(withAppId: "24c27e69cc")
// let provider = MoyaProvider<MyService>()
// provider.request(.getDomain) { result in
......
......@@ -36,6 +36,14 @@ class MainWebViewController: KJBaseViewController, WKNavigationDelegate {
}
decisionHandler(.allow)
}
func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
self.titleL.text = webView.title
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.titleL.text = webView.title
}
/*
// MARK: - Navigation
......
......@@ -88,12 +88,36 @@ class KJHomeViewController: KJBaseViewController {
// 普通的网络请求
func getData() {
// 构建URL
let url:URL = URL(string: "https://www.danamudah.fun/kopisusu_server/user/get_home_service")!
let url:URL = URL(string: "https://www.danamudah.fun/kopisusu_server/user/get_banner")!
// 发送HTTP请求的的session对象
let session = URLSession.shared
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("id", forHTTPHeaderField: "language")
request.setValue("1.0.0", forHTTPHeaderField: "version")
request.setValue("IOS", forHTTPHeaderField: "device-type")
request.setValue("1.2", forHTTPHeaderField: "api-version")
request.setValue("EasyPay", forHTTPHeaderField: "app-name")
request.setValue("AppStore", forHTTPHeaderField: "place")
let str = DeviceManager.getDeviceModel()
var param = ["type": "1"]
if str.contains("iPad") == true {
param["device"] = "2"
} else if str.contains("iPhone") == true {
param["device"] = "1"
} else {
param["device"] = "2"
}
var jsonData = NSData()
do {
jsonData = try JSONSerialization.data(withJSONObject: param, options: .prettyPrinted) as NSData
} catch {
print(error.localizedDescription)
}
request.httpBody = jsonData as! Data
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
// 发一个post请求
let task = session.dataTask(with: request as URLRequest) {(
......@@ -290,6 +314,9 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo
vc.index = 3
vc.titleText = "E-Money"
navigationController?.pushViewController(vc, animated: true)
} else if self.banner[index]?.url == "app://help" {
let vc = KJAboutViewController()
navigationController?.pushViewController(vc, animated: true)
} else {
// 构建URL
let hud = MBProgressHUD.showAdded(to: self.view, animated: true)
......@@ -350,7 +377,15 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo
string = (self.banner[index]?.url ?? "") + "?adid=" + (Adjust.adid() ?? "") + "&device_tx_id="
}
let txid = (dict["ret"] as! NSDictionary)["tx_id"] as! String
let url = string + txid + "#?token=" + (UserDefaults.standard.string(forKey: "token") ?? "")
var url = string
let titleStr = self.banner[index]?.title ?? ""
if titleStr == "mudah" {
url = string + txid + "#?token=" + (UserDefaults.standard.string(forKey: "token") ?? "")
} else if titleStr == "kopisusu" {
url = string + txid + "#?token=" + (UserDefaults.standard.string(forKey: "kopi_token") ?? "")
} else {
url = string + txid
}
vc.url = url
self.navigationController?.pushViewController(vc, animated: true)
}
......
......@@ -14,5 +14,6 @@ class KJBannerModel: HandyJSON {
var need_login: String?
var type: String?
var url: String?
var title: String?
required init() {}
}
......@@ -24,8 +24,8 @@
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jt4-FN-Beo">
<rect key="frame" x="15" y="113" width="363" height="90"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="充值金额" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ls1-wk-m4n">
<rect key="frame" x="15" y="15.000000000000002" width="65.333333333333329" height="22.666666666666671"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="jumlah isi ulang" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ls1-wk-m4n">
<rect key="frame" x="14.999999999999993" y="15.000000000000002" width="111.33333333333331" height="22.666666666666671"/>
<constraints>
<constraint firstAttribute="height" constant="22.5" id="H9O-Nw-l75"/>
</constraints>
......
......@@ -10,17 +10,17 @@ import UIKit
class KJZFCodeViewController: KJBaseViewController {
var toCharge: Bool = false
@IBOutlet weak var firstTF: UITextField!
@IBOutlet weak var firstTF: MyTextField!
@IBOutlet weak var secondTF: UITextField!
@IBOutlet weak var secondTF: MyTextField!
@IBOutlet weak var thirdTF: UITextField!
@IBOutlet weak var thirdTF: MyTextField!
@IBOutlet weak var forthTF: UITextField!
@IBOutlet weak var forthTF: MyTextField!
@IBOutlet weak var fifthTF: UITextField!
@IBOutlet weak var fifthTF: MyTextField!
@IBOutlet weak var sixthTF: UITextField!
@IBOutlet weak var sixthTF: MyTextField!
@IBOutlet weak var sureBtn: UIButton!
......@@ -35,6 +35,13 @@ class KJZFCodeViewController: KJBaseViewController {
forthTF.delegate = self
fifthTF.delegate = self
sixthTF.delegate = self
firstTF.myDelegate = self
secondTF.myDelegate = self
thirdTF.myDelegate = self
forthTF.myDelegate = self
fifthTF.myDelegate = self
sixthTF.myDelegate = self
}
@IBAction func sureAction(_ sender: Any) {
......@@ -111,7 +118,7 @@ class KJZFCodeViewController: KJBaseViewController {
}
extension KJZFCodeViewController: UITextFieldDelegate {
extension KJZFCodeViewController: UITextFieldDelegate, MyTextFieldDelegate {
func textFieldDidChangeSelection(_ textField: UITextField) {
if textField == firstTF {
if textField.text?.count ?? 0 >= 1 {
......@@ -139,4 +146,25 @@ extension KJZFCodeViewController: UITextFieldDelegate {
}
}
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if textField.text?.count ?? 0 >= 1 && string.count >= 1 {
return false
}
return true
}
func textFieldDidDelete(textfield: UITextField) {
if textfield == secondTF {
firstTF.becomeFirstResponder()
} else if textfield == thirdTF {
secondTF.becomeFirstResponder()
} else if textfield == forthTF {
thirdTF.becomeFirstResponder()
} else if textfield == fifthTF {
forthTF.becomeFirstResponder()
} else if textfield == sixthTF {
fifthTF.becomeFirstResponder()
}
}
}
......@@ -26,65 +26,62 @@
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="设置支付密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Afz-1X-tLb">
<rect key="frame" x="90.666666666666686" y="153" width="212" height="42"/>
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="35"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mengatur kata sandi pembayaran" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Afz-1X-tLb">
<rect key="frame" x="36.666666666666657" y="153" width="319.66666666666674" height="25.333333333333343"/>
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="21"/>
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="为了您的支付安全,请先设置支付密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Qb-Zp-LOr">
<rect key="frame" x="30" y="208" width="260.33333333333331" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="tqf-aE-mWi"/>
</constraints>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Untuk keamanan pembayaran Anda, silakan atur kata sandi pembayaran terlebih dahulu!" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Qb-Zp-LOr">
<rect key="frame" x="30" y="191.33333333333334" width="333" height="36"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vXv-bD-TM0">
<rect key="frame" x="49" y="302.66666666666669" width="41" height="2"/>
<rect key="frame" x="49" y="301" width="41" height="2"/>
<color key="backgroundColor" red="0.40392156862745099" green="0.27843137254901962" blue="0.80392156862745101" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="Lq7-fR-jyv"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pIK-Re-v6R">
<rect key="frame" x="100" y="302.66666666666669" width="40.666666666666657" height="2"/>
<rect key="frame" x="100" y="301" width="40.666666666666657" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="NEl-ew-V3l"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ewy-Py-3RL">
<rect key="frame" x="150.66666666666666" y="302.66666666666669" width="41" height="2"/>
<rect key="frame" x="150.66666666666666" y="301" width="41" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="3HB-vh-cYD"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="brT-sb-Jgu">
<rect key="frame" x="201.66666666666666" y="302.66666666666669" width="40.666666666666657" height="2"/>
<rect key="frame" x="201.66666666666666" y="301" width="40.666666666666657" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="BBh-jb-n5U"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pAP-Oa-91N">
<rect key="frame" x="252.33333333333337" y="302.66666666666669" width="41" height="2"/>
<rect key="frame" x="252.33333333333337" y="301" width="41" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="hLQ-Pv-KBv"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QeE-Kv-E05">
<rect key="frame" x="303.33333333333331" y="302.66666666666669" width="40.666666666666686" height="2"/>
<rect key="frame" x="303.33333333333331" y="301" width="40.666666666666686" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="QHy-Wg-cXs"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="6xY-ld-A5h">
<rect key="frame" x="49" y="256.66666666666669" width="41" height="46"/>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="6xY-ld-A5h" customClass="MyTextField" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="49" y="255" width="41" height="46"/>
<constraints>
<constraint firstAttribute="height" constant="46" id="nZQ-HJ-JNP"/>
</constraints>
......@@ -92,8 +89,8 @@
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="30"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Amk-Mc-BcN">
<rect key="frame" x="100" y="256.66666666666669" width="40.666666666666657" height="46"/>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Amk-Mc-BcN" customClass="MyTextField" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="100" y="255" width="40.666666666666657" height="46"/>
<constraints>
<constraint firstAttribute="height" constant="46" id="NtY-vI-Ba9"/>
</constraints>
......@@ -101,8 +98,8 @@
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="30"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pwM-gR-Zaa">
<rect key="frame" x="150.66666666666666" y="256.66666666666669" width="41" height="46"/>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pwM-gR-Zaa" customClass="MyTextField" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="150.66666666666666" y="255" width="41" height="46"/>
<constraints>
<constraint firstAttribute="height" constant="46" id="2GW-1X-xHk"/>
</constraints>
......@@ -110,8 +107,8 @@
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="30"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mLn-hd-CtX">
<rect key="frame" x="201.66666666666666" y="256.66666666666669" width="40.666666666666657" height="46"/>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mLn-hd-CtX" customClass="MyTextField" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="201.66666666666666" y="255" width="40.666666666666657" height="46"/>
<constraints>
<constraint firstAttribute="height" constant="46" id="vQS-nK-aZA"/>
</constraints>
......@@ -119,8 +116,8 @@
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="30"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="a1P-Nv-DCj">
<rect key="frame" x="252.33333333333337" y="256.66666666666669" width="41" height="46"/>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="a1P-Nv-DCj" customClass="MyTextField" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="252.33333333333337" y="255" width="41" height="46"/>
<constraints>
<constraint firstAttribute="height" constant="46" id="Nsg-Sd-nGx"/>
</constraints>
......@@ -128,8 +125,8 @@
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="30"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="5ls-NE-TlZ">
<rect key="frame" x="303.33333333333331" y="256.66666666666669" width="40.666666666666686" height="46"/>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="5ls-NE-TlZ" customClass="MyTextField" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="303.33333333333331" y="255" width="40.666666666666686" height="46"/>
<constraints>
<constraint firstAttribute="height" constant="46" id="59m-TL-Yg2"/>
</constraints>
......@@ -138,13 +135,13 @@
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="M8d-Jl-VQk">
<rect key="frame" x="47.666666666666657" y="343.66666666666669" width="298" height="49"/>
<rect key="frame" x="47.666666666666657" y="342" width="298" height="49"/>
<color key="backgroundColor" red="0.40392156862745099" green="0.27843137254901962" blue="0.80392156862745101" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="49" id="7ci-dK-ePW"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title="确定">
<buttonConfiguration key="configuration" style="plain" title="menentukan">
<color key="baseForegroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</buttonConfiguration>
<connections>
......@@ -152,7 +149,7 @@
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3hH-kf-QAM">
<rect key="frame" x="49" y="256.66666666666669" width="295" height="46"/>
<rect key="frame" x="49" y="255" width="295" height="46"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
</subviews>
......@@ -179,6 +176,7 @@
<constraint firstItem="vXv-bD-TM0" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="49" id="PcF-5y-uLn"/>
<constraint firstItem="brT-sb-Jgu" firstAttribute="top" secondItem="vXv-bD-TM0" secondAttribute="top" id="Pvt-kH-xOx"/>
<constraint firstItem="brT-sb-Jgu" firstAttribute="leading" secondItem="mLn-hd-CtX" secondAttribute="leading" id="SDW-HU-XB3"/>
<constraint firstAttribute="trailing" secondItem="0Qb-Zp-LOr" secondAttribute="trailing" constant="30" id="UEA-Wh-Np7"/>
<constraint firstItem="pAP-Oa-91N" firstAttribute="top" secondItem="a1P-Nv-DCj" secondAttribute="bottom" id="VyW-k7-CG1"/>
<constraint firstItem="Ewy-Py-3RL" firstAttribute="top" secondItem="pwM-gR-Zaa" secondAttribute="bottom" id="XqI-gj-Okh"/>
<constraint firstItem="pAP-Oa-91N" firstAttribute="bottom" secondItem="vXv-bD-TM0" secondAttribute="bottom" id="Y1O-A7-s7Z"/>
......
......@@ -7,3 +7,7 @@
#import <SDCycleScrollView.h>
#import "DeviceManager.h"
#import <Bugly/Bugly.h>
......@@ -88,10 +88,10 @@ class KJLoginPhoneViewController: KJBaseViewController {
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("id", forHTTPHeaderField: "language")
request.setValue("1.0", forHTTPHeaderField: "version")
request.setValue("1.0.0", forHTTPHeaderField: "version")
request.setValue("IOS", forHTTPHeaderField: "device-type")
request.setValue("1.2", forHTTPHeaderField: "api-version")
request.setValue("danamudah", forHTTPHeaderField: "app-name")
request.setValue("EasyPay", forHTTPHeaderField: "app-name")
request.setValue("AppStore", forHTTPHeaderField: "place")
var param = ["phone": "62" + (textfield.text ?? "")]
var jsonData = NSData()
......@@ -150,10 +150,10 @@ class KJLoginPhoneViewController: KJBaseViewController {
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("id", forHTTPHeaderField: "language")
request.setValue("1.0", forHTTPHeaderField: "version")
request.setValue("1.0.0", forHTTPHeaderField: "version")
request.setValue("IOS", forHTTPHeaderField: "device-type")
request.setValue("1.2", forHTTPHeaderField: "api-version")
request.setValue("danamudah", forHTTPHeaderField: "app-name")
request.setValue("EasyPay", forHTTPHeaderField: "app-name")
request.setValue("AppStore", forHTTPHeaderField: "place")
var param = ["phone": "62" + (textfield.text ?? ""), "valid_code": pwd]
var jsonData = NSData()
......@@ -178,6 +178,7 @@ class KJLoginPhoneViewController: KJBaseViewController {
if (dict.allKeys as NSArray).contains("success") == true {
DispatchQueue.main.async {
UserDefaults.standard.set((dict["ret"] as! NSDictionary)["token"], forKey: "token")
UserDefaults.standard.set((dict["ret"] as! NSDictionary)["kopi_token"], forKey: "kopi_token")
UserDefaults.standard.set(self.textfield.text, forKey: "phone")
self.navigationController?.popViewController(animated: true)
}
......
//
// Bugly.h
//
// Version: 2.6(0)
//
// Copyright (c) 2017年 Tencent. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BuglyConfig.h"
#import "BuglyLog.h"
BLY_START_NONNULL
@interface Bugly : NSObject
/**
* 初始化Bugly,使用默认BuglyConfigs
*
* @param appId 注册Bugly分配的应用唯一标识
*/
+ (void)startWithAppId:(NSString * BLY_NULLABLE)appId;
/**
* 使用指定配置初始化Bugly
*
* @param appId 注册Bugly分配的应用唯一标识
* @param config 传入配置的 BuglyConfig
*/
+ (void)startWithAppId:(NSString * BLY_NULLABLE)appId
config:(BuglyConfig * BLY_NULLABLE)config;
/**
* 使用指定配置初始化Bugly
*
* @param appId 注册Bugly分配的应用唯一标识
* @param development 是否开发设备
* @param config 传入配置的 BuglyConfig
*/
+ (void)startWithAppId:(NSString * BLY_NULLABLE)appId
developmentDevice:(BOOL)development
config:(BuglyConfig * BLY_NULLABLE)config;
/**
* 设置用户标识
*
* @param userId 用户标识
*/
+ (void)setUserIdentifier:(NSString *)userId;
/**
* 更新版本信息
*
* @param version 应用版本信息
*/
+ (void)updateAppVersion:(NSString *)version;
/**
* 设置关键数据,随崩溃信息上报
*
* @param value KEY
* @param key VALUE
*/
+ (void)setUserValue:(NSString *)value
forKey:(NSString *)key;
/**
* 获取USER ID
*
* @return USER ID
*/
+ (NSString *)buglyUserIdentifier;
/**
* 获取关键数据
*
* @return 关键数据
*/
+ (NSDictionary * BLY_NULLABLE)allUserValues;
/**
* 设置标签
*
* @param tag 标签ID,可在网站生成
*/
+ (void)setTag:(NSUInteger)tag;
/**
* 获取当前设置标签
*
* @return 当前标签ID
*/
+ (NSUInteger)currentTag;
/**
* 获取设备ID
*
* @return 设备ID
*/
+ (NSString *)buglyDeviceId;
/**
* 上报自定义Objective-C异常
*
* @param exception 异常信息
*/
+ (void)reportException:(NSException *)exception;
/**
* 上报错误
*
* @param error 错误信息
*/
+ (void)reportError:(NSError *)error;
/**
* @brief 上报自定义错误
*
* @param category 类型(Cocoa=3,CSharp=4,JS=5,Lua=6)
* @param aName 名称
* @param aReason 错误原因
* @param aStackArray 堆栈
* @param info 附加数据
* @param terminate 上报后是否退出应用进程
*/
+ (void)reportExceptionWithCategory:(NSUInteger)category
name:(NSString *)aName
reason:(NSString *)aReason
callStack:(NSArray *)aStackArray
extraInfo:(NSDictionary *)info
terminateApp:(BOOL)terminate;
/**
* SDK 版本信息
*
* @return SDK版本号
*/
+ (NSString *)sdkVersion;
/**
* APP 版本信息
*
* @return SDK版本号
*/
+ (NSString *)appVersion;
/**
* App 是否发生了连续闪退
* 如果 启动SDK 且 5秒内 闪退,且次数达到 3次 则判定为连续闪退
*
* @return 是否连续闪退
*/
+ (BOOL)isAppCrashedOnStartUpExceedTheLimit;
/**
* 关闭bugly监控
*/
+ (void)closeCrashReport;
BLY_END_NONNULL
@end
//
// BuglyConfig.h
// Bugly
//
// Copyright (c) 2016年 Tencent. All rights reserved.
//
#pragma once
#define BLY_UNAVAILABLE(x) __attribute__((unavailable(x)))
#if __has_feature(nullability)
#define BLY_NONNULL __nonnull
#define BLY_NULLABLE __nullable
#define BLY_START_NONNULL _Pragma("clang assume_nonnull begin")
#define BLY_END_NONNULL _Pragma("clang assume_nonnull end")
#else
#define BLY_NONNULL
#define BLY_NULLABLE
#define BLY_START_NONNULL
#define BLY_END_NONNULL
#endif
#import <Foundation/Foundation.h>
#import "BuglyLog.h"
BLY_START_NONNULL
@protocol BuglyDelegate <NSObject>
@optional
/**
* 发生异常时回调
*
* @param exception 异常信息
*
* @return 返回需上报记录,随异常上报一起上报
*/
- (NSString * BLY_NULLABLE)attachmentForException:(NSException * BLY_NULLABLE)exception;
/**
* 发生sigkill时回调
*
* @param exception 异常信息
*
* @return 返回需上报记录,随sigkill异常上报一起上报,返回值由app开发者决定
*/
- (NSString * BLY_NULLABLE)attachmentForSigkill;
/**
* 策略激活时回调
*
* @param tacticInfo
*
* @return app是否弹框展示
*/
- (BOOL) h5AlertForTactic:(NSDictionary *)tacticInfo;
@end
@interface BuglyConfig : NSObject
/**
* SDK Debug信息开关, 默认关闭
*/
@property (nonatomic, assign) BOOL debugMode;
/**
* 设置自定义渠道标识
*/
@property (nonatomic, copy) NSString *channel;
/**
* 设置自定义版本号
*/
@property (nonatomic, copy) NSString *version;
/**
* 设置自定义设备唯一标识
*/
@property (nonatomic, copy) NSString *deviceIdentifier;
/**
* 卡顿监控开关,默认关闭
*/
@property (nonatomic) BOOL blockMonitorEnable;
/**
* 卡顿监控判断间隔,单位为秒
*/
@property (nonatomic) NSTimeInterval blockMonitorTimeout;
/**
* 设置 App Groups Id (如有使用 Bugly iOS Extension SDK,请设置该值)
*/
@property (nonatomic, copy) NSString *applicationGroupIdentifier;
/**
* 进程内还原开关,默认开启
*/
@property (nonatomic) BOOL symbolicateInProcessEnable;
/**
* 非正常退出事件记录开关,默认关闭
*/
@property (nonatomic) BOOL unexpectedTerminatingDetectionEnable;
/**
* 页面信息记录开关,默认开启
*/
@property (nonatomic) BOOL viewControllerTrackingEnable;
/**
* Bugly Delegate
*/
@property (nonatomic, assign) id<BuglyDelegate> delegate;
/**
* 控制自定义日志上报,默认值为BuglyLogLevelSilent,即关闭日志记录功能。
* 如果设置为BuglyLogLevelWarn,则在崩溃时会上报Warn、Error接口打印的日志
*/
@property (nonatomic, assign) BuglyLogLevel reportLogLevel;
/**
* 崩溃数据过滤器,如果崩溃堆栈的模块名包含过滤器中设置的关键字,则崩溃数据不会进行上报
* 例如,过滤崩溃堆栈中包含搜狗输入法的数据,可以添加过滤器关键字SogouInputIPhone.dylib等
*/
@property (nonatomic, copy) NSArray *excludeModuleFilter;
/**
* 控制台日志上报开关,默认开启
*/
@property (nonatomic, assign) BOOL consolelogEnable;
/**
* 崩溃退出超时,如果监听到崩溃后,App一直没有退出,则到达超时时间后会自动abort进程退出
* 默认值 5s, 单位 秒
* 当赋值为0时,则不会自动abort进程退出
*/
@property (nonatomic, assign) NSUInteger crashAbortTimeout;
/**
* 设置自定义联网、crash上报域名
*/
@property (nonatomic, copy) NSString *crashServerUrl;
@end
BLY_END_NONNULL
//
// BuglyLog.h
// Bugly
//
// Copyright (c) 2017年 Tencent. All rights reserved.
//
#import <Foundation/Foundation.h>
// Log level for Bugly Log
typedef NS_ENUM(NSUInteger, BuglyLogLevel) {
BuglyLogLevelSilent = 0,
BuglyLogLevelError = 1,
BuglyLogLevelWarn = 2,
BuglyLogLevelInfo = 3,
BuglyLogLevelDebug = 4,
BuglyLogLevelVerbose = 5,
};
#pragma mark -
OBJC_EXTERN void BLYLog(BuglyLogLevel level, NSString *format, ...) NS_FORMAT_FUNCTION(2, 3);
OBJC_EXTERN void BLYLogv(BuglyLogLevel level, NSString *format, va_list args) NS_FORMAT_FUNCTION(2, 0);
#pragma mark -
#define BUGLY_LOG_MACRO(_level, fmt, ...) [BuglyLog level:_level tag:nil log:fmt, ##__VA_ARGS__]
#define BLYLogError(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelError, fmt, ##__VA_ARGS__)
#define BLYLogWarn(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelWarn, fmt, ##__VA_ARGS__)
#define BLYLogInfo(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelInfo, fmt, ##__VA_ARGS__)
#define BLYLogDebug(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelDebug, fmt, ##__VA_ARGS__)
#define BLYLogVerbose(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelVerbose, fmt, ##__VA_ARGS__)
#pragma mark - Interface
@interface BuglyLog : NSObject
/**
* @brief 初始化日志模块
*
* @param level 设置默认日志级别,默认BLYLogLevelSilent
*
* @param printConsole 是否打印到控制台,默认NO
*/
+ (void)initLogger:(BuglyLogLevel) level consolePrint:(BOOL)printConsole;
/**
* @brief 打印BLYLogLevelInfo日志
*
* @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
*/
+ (void)log:(NSString *)format, ... NS_FORMAT_FUNCTION(1, 2);
/**
* @brief 打印日志
*
* @param level 日志级别
* @param message 日志内容 总日志大小限制为:字符串长度30k,条数200
*/
+ (void)level:(BuglyLogLevel) level logs:(NSString *)message;
/**
* @brief 打印日志
*
* @param level 日志级别
* @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
*/
+ (void)level:(BuglyLogLevel) level log:(NSString *)format, ... NS_FORMAT_FUNCTION(2, 3);
/**
* @brief 打印日志
*
* @param level 日志级别
* @param tag 日志模块分类
* @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
*/
+ (void)level:(BuglyLogLevel) level tag:(NSString *) tag log:(NSString *)format, ... NS_FORMAT_FUNCTION(3, 4);
@end
framework module Bugly {
umbrella header "Bugly.h"
export *
module * { export * }
link framework "Foundation"
link framework "Security"
link framework "SystemConfiguration"
link "c++"
link "z"
}
......@@ -15,4 +15,5 @@ target 'iOS-2kj' do
pod 'SnapKit'
pod 'MBProgressHUD'
pod 'MCToast'
# pod 'Bugly'
end
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论