Commit 7a582b1e9467275a31fb6106aca37927d29c1424
1 parent
c7da130d
no message
Showing
4 changed files
with
29 additions
and
359 deletions
CNLiveMineModule.podspec
| @@ -99,7 +99,7 @@ TODO: 网家家-我的模块. | @@ -99,7 +99,7 @@ TODO: 网家家-我的模块. | ||
| 99 | s.dependency 'CNLiveIntegralModule' | 99 | s.dependency 'CNLiveIntegralModule' |
| 100 | 100 | ||
| 101 | # 订单模块 | 101 | # 订单模块 |
| 102 | - s.dependency 'CNLiveMyOrderModule' | 102 | + #s.dependency 'CNLiveMyOrderModule' |
| 103 | 103 | ||
| 104 | # 设置模块 | 104 | # 设置模块 |
| 105 | s.dependency 'CNLiveSettingModule' | 105 | s.dependency 'CNLiveSettingModule' |
Example/CNLiveMineModule.xcodeproj/project.pbxproj
| @@ -8,7 +8,6 @@ | @@ -8,7 +8,6 @@ | ||
| 8 | 8 | ||
| 9 | /* Begin PBXBuildFile section */ | 9 | /* Begin PBXBuildFile section */ |
| 10 | 084AE78223891906005C9A94 /* UIViewController+Present.m in Sources */ = {isa = PBXBuildFile; fileRef = 084AE78123891906005C9A94 /* UIViewController+Present.m */; }; | 10 | 084AE78223891906005C9A94 /* UIViewController+Present.m in Sources */ = {isa = PBXBuildFile; fileRef = 084AE78123891906005C9A94 /* UIViewController+Present.m */; }; |
| 11 | - 08755590239B839E0025B3AE /* CNLiveWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0875558F239B839E0025B3AE /* CNLiveWebViewController.m */; }; | ||
| 12 | 08B0B213237D1A4D00337DEC /* CNLiveConfigurationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 08B0B211237D1A4D00337DEC /* CNLiveConfigurationManager.m */; }; | 11 | 08B0B213237D1A4D00337DEC /* CNLiveConfigurationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 08B0B211237D1A4D00337DEC /* CNLiveConfigurationManager.m */; }; |
| 13 | 08B0B219237D1FAF00337DEC /* CNLiveRootControllerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 08B0B218237D1FAE00337DEC /* CNLiveRootControllerManager.m */; }; | 12 | 08B0B219237D1FAF00337DEC /* CNLiveRootControllerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 08B0B218237D1FAE00337DEC /* CNLiveRootControllerManager.m */; }; |
| 14 | 0F994A788957F1E7B1DD445B /* Pods_CNLiveMineModule_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 218A75B2DA9772C6C6C9B5D8 /* Pods_CNLiveMineModule_Tests.framework */; }; | 13 | 0F994A788957F1E7B1DD445B /* Pods_CNLiveMineModule_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 218A75B2DA9772C6C6C9B5D8 /* Pods_CNLiveMineModule_Tests.framework */; }; |
| @@ -43,8 +42,6 @@ | @@ -43,8 +42,6 @@ | ||
| 43 | /* Begin PBXFileReference section */ | 42 | /* Begin PBXFileReference section */ |
| 44 | 084AE78023891906005C9A94 /* UIViewController+Present.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Present.h"; sourceTree = "<group>"; }; | 43 | 084AE78023891906005C9A94 /* UIViewController+Present.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Present.h"; sourceTree = "<group>"; }; |
| 45 | 084AE78123891906005C9A94 /* UIViewController+Present.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Present.m"; sourceTree = "<group>"; }; | 44 | 084AE78123891906005C9A94 /* UIViewController+Present.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Present.m"; sourceTree = "<group>"; }; |
| 46 | - 0875558E239B839E0025B3AE /* CNLiveWebViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveWebViewController.h; sourceTree = "<group>"; }; | ||
| 47 | - 0875558F239B839E0025B3AE /* CNLiveWebViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNLiveWebViewController.m; sourceTree = "<group>"; }; | ||
| 48 | 08B0B20E237D1A4D00337DEC /* CNLiveConfigurationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveConfigurationManager.h; sourceTree = "<group>"; }; | 45 | 08B0B20E237D1A4D00337DEC /* CNLiveConfigurationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveConfigurationManager.h; sourceTree = "<group>"; }; |
| 49 | 08B0B211237D1A4D00337DEC /* CNLiveConfigurationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveConfigurationManager.m; sourceTree = "<group>"; }; | 46 | 08B0B211237D1A4D00337DEC /* CNLiveConfigurationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveConfigurationManager.m; sourceTree = "<group>"; }; |
| 50 | 08B0B217237D1FAE00337DEC /* CNLiveRootControllerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveRootControllerManager.h; sourceTree = "<group>"; }; | 47 | 08B0B217237D1FAE00337DEC /* CNLiveRootControllerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveRootControllerManager.h; sourceTree = "<group>"; }; |
| @@ -158,8 +155,6 @@ | @@ -158,8 +155,6 @@ | ||
| 158 | 6003F594195388D20070C39A /* Supporting Files */, | 155 | 6003F594195388D20070C39A /* Supporting Files */, |
| 159 | 084AE78023891906005C9A94 /* UIViewController+Present.h */, | 156 | 084AE78023891906005C9A94 /* UIViewController+Present.h */, |
| 160 | 084AE78123891906005C9A94 /* UIViewController+Present.m */, | 157 | 084AE78123891906005C9A94 /* UIViewController+Present.m */, |
| 161 | - 0875558E239B839E0025B3AE /* CNLiveWebViewController.h */, | ||
| 162 | - 0875558F239B839E0025B3AE /* CNLiveWebViewController.m */, | ||
| 163 | ); | 158 | ); |
| 164 | name = "Example for CNLiveMineModule"; | 159 | name = "Example for CNLiveMineModule"; |
| 165 | path = CNLiveMineModule; | 160 | path = CNLiveMineModule; |
| @@ -227,8 +222,8 @@ | @@ -227,8 +222,8 @@ | ||
| 227 | 6003F586195388D20070C39A /* Sources */, | 222 | 6003F586195388D20070C39A /* Sources */, |
| 228 | 6003F587195388D20070C39A /* Frameworks */, | 223 | 6003F587195388D20070C39A /* Frameworks */, |
| 229 | 6003F588195388D20070C39A /* Resources */, | 224 | 6003F588195388D20070C39A /* Resources */, |
| 230 | - 143193D31A269794593F870D /* [CP] Embed Pods Frameworks */, | ||
| 231 | - B743709D01B1691569A283FB /* [CP] Copy Pods Resources */, | 225 | + AD736352E5FD1D68F9DFD6DD /* [CP] Embed Pods Frameworks */, |
| 226 | + E31DCB37E222CBC3A95FD233 /* [CP] Copy Pods Resources */, | ||
| 232 | ); | 227 | ); |
| 233 | buildRules = ( | 228 | buildRules = ( |
| 234 | ); | 229 | ); |
| @@ -319,7 +314,29 @@ | @@ -319,7 +314,29 @@ | ||
| 319 | /* End PBXResourcesBuildPhase section */ | 314 | /* End PBXResourcesBuildPhase section */ |
| 320 | 315 | ||
| 321 | /* Begin PBXShellScriptBuildPhase section */ | 316 | /* Begin PBXShellScriptBuildPhase section */ |
| 322 | - 143193D31A269794593F870D /* [CP] Embed Pods Frameworks */ = { | 317 | + A9B5D0EFC5B6FCA241FAE929 /* [CP] Check Pods Manifest.lock */ = { |
| 318 | + isa = PBXShellScriptBuildPhase; | ||
| 319 | + buildActionMask = 2147483647; | ||
| 320 | + files = ( | ||
| 321 | + ); | ||
| 322 | + inputFileListPaths = ( | ||
| 323 | + ); | ||
| 324 | + inputPaths = ( | ||
| 325 | + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||
| 326 | + "${PODS_ROOT}/Manifest.lock", | ||
| 327 | + ); | ||
| 328 | + name = "[CP] Check Pods Manifest.lock"; | ||
| 329 | + outputFileListPaths = ( | ||
| 330 | + ); | ||
| 331 | + outputPaths = ( | ||
| 332 | + "$(DERIVED_FILE_DIR)/Pods-CNLiveMineModule_Example-checkManifestLockResult.txt", | ||
| 333 | + ); | ||
| 334 | + runOnlyForDeploymentPostprocessing = 0; | ||
| 335 | + shellPath = /bin/sh; | ||
| 336 | + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | ||
| 337 | + showEnvVarsInLog = 0; | ||
| 338 | + }; | ||
| 339 | + AD736352E5FD1D68F9DFD6DD /* [CP] Embed Pods Frameworks */ = { | ||
| 323 | isa = PBXShellScriptBuildPhase; | 340 | isa = PBXShellScriptBuildPhase; |
| 324 | buildActionMask = 2147483647; | 341 | buildActionMask = 2147483647; |
| 325 | files = ( | 342 | files = ( |
| @@ -327,9 +344,6 @@ | @@ -327,9 +344,6 @@ | ||
| 327 | inputPaths = ( | 344 | inputPaths = ( |
| 328 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-frameworks.sh", | 345 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-frameworks.sh", |
| 329 | "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", | 346 | "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", |
| 330 | - "${BUILT_PRODUCTS_DIR}/BKCycleScrollView/BKCycleScrollView.framework", | ||
| 331 | - "${BUILT_PRODUCTS_DIR}/BKPickerView/BKPickerView.framework", | ||
| 332 | - "${BUILT_PRODUCTS_DIR}/BKTimer/BKTimer.framework", | ||
| 333 | "${BUILT_PRODUCTS_DIR}/CNLiveAVCamera/CNLiveAVCamera.framework", | 347 | "${BUILT_PRODUCTS_DIR}/CNLiveAVCamera/CNLiveAVCamera.framework", |
| 334 | "${BUILT_PRODUCTS_DIR}/CNLiveBaseClass/CNLiveBaseClass.framework", | 348 | "${BUILT_PRODUCTS_DIR}/CNLiveBaseClass/CNLiveBaseClass.framework", |
| 335 | "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework", | 349 | "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework", |
| @@ -349,27 +363,20 @@ | @@ -349,27 +363,20 @@ | ||
| 349 | "${BUILT_PRODUCTS_DIR}/CNLiveIntegralModule/CNLiveIntegralModule.framework", | 363 | "${BUILT_PRODUCTS_DIR}/CNLiveIntegralModule/CNLiveIntegralModule.framework", |
| 350 | "${BUILT_PRODUCTS_DIR}/CNLiveManager/CNLiveManager.framework", | 364 | "${BUILT_PRODUCTS_DIR}/CNLiveManager/CNLiveManager.framework", |
| 351 | "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework", | 365 | "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework", |
| 352 | - "${PODS_ROOT}/CNLiveSDKs/CNLiveSDKs/Classes/CNLivePaySDK.framework", | ||
| 353 | "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework", | 366 | "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework", |
| 354 | "${BUILT_PRODUCTS_DIR}/CNLiveUploadManager/CNLiveUploadManager.framework", | 367 | "${BUILT_PRODUCTS_DIR}/CNLiveUploadManager/CNLiveUploadManager.framework", |
| 355 | "${BUILT_PRODUCTS_DIR}/CNLiveUserAgreementManager/CNLiveUserAgreementManager.framework", | 368 | "${BUILT_PRODUCTS_DIR}/CNLiveUserAgreementManager/CNLiveUserAgreementManager.framework", |
| 356 | "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", | 369 | "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", |
| 357 | - "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Classes/DSCnliveShopSDK.framework", | ||
| 358 | "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", | 370 | "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", |
| 359 | - "${BUILT_PRODUCTS_DIR}/GPUImage/GPUImage.framework", | ||
| 360 | "${BUILT_PRODUCTS_DIR}/HappyDNS/HappyDNS.framework", | 371 | "${BUILT_PRODUCTS_DIR}/HappyDNS/HappyDNS.framework", |
| 361 | - "${BUILT_PRODUCTS_DIR}/IQKeyboardManager/IQKeyboardManager.framework", | ||
| 362 | "${BUILT_PRODUCTS_DIR}/JXCategoryView/JXCategoryView.framework", | 372 | "${BUILT_PRODUCTS_DIR}/JXCategoryView/JXCategoryView.framework", |
| 363 | - "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", | ||
| 364 | "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", | 373 | "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", |
| 365 | "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework", | 374 | "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework", |
| 366 | "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", | 375 | "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", |
| 367 | "${BUILT_PRODUCTS_DIR}/PGDatePicker/PGDatePicker.framework", | 376 | "${BUILT_PRODUCTS_DIR}/PGDatePicker/PGDatePicker.framework", |
| 368 | "${BUILT_PRODUCTS_DIR}/PGPickerView/PGPickerView.framework", | 377 | "${BUILT_PRODUCTS_DIR}/PGPickerView/PGPickerView.framework", |
| 369 | - "${PODS_ROOT}/PLPlayerKit/Pod/Library/PLPlayerKit.framework", | ||
| 370 | "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework", | 378 | "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework", |
| 371 | "${BUILT_PRODUCTS_DIR}/Qiniu/Qiniu.framework", | 379 | "${BUILT_PRODUCTS_DIR}/Qiniu/Qiniu.framework", |
| 372 | - "${BUILT_PRODUCTS_DIR}/SAMKeychain/SAMKeychain.framework", | ||
| 373 | "${BUILT_PRODUCTS_DIR}/SDAutoLayout/SDAutoLayout.framework", | 380 | "${BUILT_PRODUCTS_DIR}/SDAutoLayout/SDAutoLayout.framework", |
| 374 | "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", | 381 | "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", |
| 375 | "${BUILT_PRODUCTS_DIR}/SGQRCode/SGQRCode.framework", | 382 | "${BUILT_PRODUCTS_DIR}/SGQRCode/SGQRCode.framework", |
| @@ -380,9 +387,6 @@ | @@ -380,9 +387,6 @@ | ||
| 380 | name = "[CP] Embed Pods Frameworks"; | 387 | name = "[CP] Embed Pods Frameworks"; |
| 381 | outputPaths = ( | 388 | outputPaths = ( |
| 382 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", | 389 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", |
| 383 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BKCycleScrollView.framework", | ||
| 384 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BKPickerView.framework", | ||
| 385 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BKTimer.framework", | ||
| 386 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveAVCamera.framework", | 390 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveAVCamera.framework", |
| 387 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseClass.framework", | 391 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseClass.framework", |
| 388 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework", | 392 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework", |
| @@ -402,27 +406,20 @@ | @@ -402,27 +406,20 @@ | ||
| 402 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveIntegralModule.framework", | 406 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveIntegralModule.framework", |
| 403 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveManager.framework", | 407 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveManager.framework", |
| 404 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework", | 408 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework", |
| 405 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLivePaySDK.framework", | ||
| 406 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework", | 409 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework", |
| 407 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUploadManager.framework", | 410 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUploadManager.framework", |
| 408 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserAgreementManager.framework", | 411 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserAgreementManager.framework", |
| 409 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", | 412 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", |
| 410 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DSCnliveShopSDK.framework", | ||
| 411 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", | 413 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", |
| 412 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GPUImage.framework", | ||
| 413 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HappyDNS.framework", | 414 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HappyDNS.framework", |
| 414 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework", | ||
| 415 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXCategoryView.framework", | 415 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXCategoryView.framework", |
| 416 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", | ||
| 417 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", | 416 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", |
| 418 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework", | 417 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework", |
| 419 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", | 418 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", |
| 420 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PGDatePicker.framework", | 419 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PGDatePicker.framework", |
| 421 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PGPickerView.framework", | 420 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PGPickerView.framework", |
| 422 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PLPlayerKit.framework", | ||
| 423 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework", | 421 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework", |
| 424 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Qiniu.framework", | 422 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Qiniu.framework", |
| 425 | - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SAMKeychain.framework", | ||
| 426 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDAutoLayout.framework", | 423 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDAutoLayout.framework", |
| 427 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", | 424 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", |
| 428 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SGQRCode.framework", | 425 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SGQRCode.framework", |
| @@ -435,7 +432,7 @@ | @@ -435,7 +432,7 @@ | ||
| 435 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-frameworks.sh\"\n"; | 432 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-frameworks.sh\"\n"; |
| 436 | showEnvVarsInLog = 0; | 433 | showEnvVarsInLog = 0; |
| 437 | }; | 434 | }; |
| 438 | - A9B5D0EFC5B6FCA241FAE929 /* [CP] Check Pods Manifest.lock */ = { | 435 | + BFE3DD8ECDF347EE483385B5 /* [CP] Check Pods Manifest.lock */ = { |
| 439 | isa = PBXShellScriptBuildPhase; | 436 | isa = PBXShellScriptBuildPhase; |
| 440 | buildActionMask = 2147483647; | 437 | buildActionMask = 2147483647; |
| 441 | files = ( | 438 | files = ( |
| @@ -450,14 +447,14 @@ | @@ -450,14 +447,14 @@ | ||
| 450 | outputFileListPaths = ( | 447 | outputFileListPaths = ( |
| 451 | ); | 448 | ); |
| 452 | outputPaths = ( | 449 | outputPaths = ( |
| 453 | - "$(DERIVED_FILE_DIR)/Pods-CNLiveMineModule_Example-checkManifestLockResult.txt", | 450 | + "$(DERIVED_FILE_DIR)/Pods-CNLiveMineModule_Tests-checkManifestLockResult.txt", |
| 454 | ); | 451 | ); |
| 455 | runOnlyForDeploymentPostprocessing = 0; | 452 | runOnlyForDeploymentPostprocessing = 0; |
| 456 | shellPath = /bin/sh; | 453 | shellPath = /bin/sh; |
| 457 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | 454 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; |
| 458 | showEnvVarsInLog = 0; | 455 | showEnvVarsInLog = 0; |
| 459 | }; | 456 | }; |
| 460 | - B743709D01B1691569A283FB /* [CP] Copy Pods Resources */ = { | 457 | + E31DCB37E222CBC3A95FD233 /* [CP] Copy Pods Resources */ = { |
| 461 | isa = PBXShellScriptBuildPhase; | 458 | isa = PBXShellScriptBuildPhase; |
| 462 | buildActionMask = 2147483647; | 459 | buildActionMask = 2147483647; |
| 463 | files = ( | 460 | files = ( |
| @@ -466,7 +463,6 @@ | @@ -466,7 +463,6 @@ | ||
| 466 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-resources.sh", | 463 | "${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-resources.sh", |
| 467 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBalanceModule/CNLiveBalanceModule.bundle", | 464 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBalanceModule/CNLiveBalanceModule.bundle", |
| 468 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveMineModule/CNLiveMineModule.bundle", | 465 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveMineModule/CNLiveMineModule.bundle", |
| 469 | - "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveMyOrderModule/CNLiveMyOrderModule.bundle", | ||
| 470 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveQrCodeModule/CNLiveQrCodeModule.bundle", | 466 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveQrCodeModule/CNLiveQrCodeModule.bundle", |
| 471 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveSettingModule/CNLiveSettingModule.bundle", | 467 | "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveSettingModule/CNLiveSettingModule.bundle", |
| 472 | ); | 468 | ); |
| @@ -474,7 +470,6 @@ | @@ -474,7 +470,6 @@ | ||
| 474 | outputPaths = ( | 470 | outputPaths = ( |
| 475 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveBalanceModule.bundle", | 471 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveBalanceModule.bundle", |
| 476 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveMineModule.bundle", | 472 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveMineModule.bundle", |
| 477 | - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveMyOrderModule.bundle", | ||
| 478 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveQrCodeModule.bundle", | 473 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveQrCodeModule.bundle", |
| 479 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveSettingModule.bundle", | 474 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveSettingModule.bundle", |
| 480 | ); | 475 | ); |
| @@ -483,28 +478,6 @@ | @@ -483,28 +478,6 @@ | ||
| 483 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-resources.sh\"\n"; | 478 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveMineModule_Example/Pods-CNLiveMineModule_Example-resources.sh\"\n"; |
| 484 | showEnvVarsInLog = 0; | 479 | showEnvVarsInLog = 0; |
| 485 | }; | 480 | }; |
| 486 | - BFE3DD8ECDF347EE483385B5 /* [CP] Check Pods Manifest.lock */ = { | ||
| 487 | - isa = PBXShellScriptBuildPhase; | ||
| 488 | - buildActionMask = 2147483647; | ||
| 489 | - files = ( | ||
| 490 | - ); | ||
| 491 | - inputFileListPaths = ( | ||
| 492 | - ); | ||
| 493 | - inputPaths = ( | ||
| 494 | - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||
| 495 | - "${PODS_ROOT}/Manifest.lock", | ||
| 496 | - ); | ||
| 497 | - name = "[CP] Check Pods Manifest.lock"; | ||
| 498 | - outputFileListPaths = ( | ||
| 499 | - ); | ||
| 500 | - outputPaths = ( | ||
| 501 | - "$(DERIVED_FILE_DIR)/Pods-CNLiveMineModule_Tests-checkManifestLockResult.txt", | ||
| 502 | - ); | ||
| 503 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 504 | - shellPath = /bin/sh; | ||
| 505 | - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | ||
| 506 | - showEnvVarsInLog = 0; | ||
| 507 | - }; | ||
| 508 | /* End PBXShellScriptBuildPhase section */ | 481 | /* End PBXShellScriptBuildPhase section */ |
| 509 | 482 | ||
| 510 | /* Begin PBXSourcesBuildPhase section */ | 483 | /* Begin PBXSourcesBuildPhase section */ |
| @@ -517,7 +490,6 @@ | @@ -517,7 +490,6 @@ | ||
| 517 | 084AE78223891906005C9A94 /* UIViewController+Present.m in Sources */, | 490 | 084AE78223891906005C9A94 /* UIViewController+Present.m in Sources */, |
| 518 | 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */, | 491 | 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */, |
| 519 | 6003F59A195388D20070C39A /* main.m in Sources */, | 492 | 6003F59A195388D20070C39A /* main.m in Sources */, |
| 520 | - 08755590239B839E0025B3AE /* CNLiveWebViewController.m in Sources */, | ||
| 521 | 08B0B219237D1FAF00337DEC /* CNLiveRootControllerManager.m in Sources */, | 493 | 08B0B219237D1FAF00337DEC /* CNLiveRootControllerManager.m in Sources */, |
| 522 | ); | 494 | ); |
| 523 | runOnlyForDeploymentPostprocessing = 0; | 495 | runOnlyForDeploymentPostprocessing = 0; |
Example/CNLiveMineModule/CNLiveWebViewController.h deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNLiveWebViewController.h | ||
| 3 | -// CNLiveMineModule_Example | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/12/7. | ||
| 6 | -// Copyright © 2019 153993236@qq.com. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import <UIKit/UIKit.h> | ||
| 10 | - | ||
| 11 | -NS_ASSUME_NONNULL_BEGIN | ||
| 12 | - | ||
| 13 | -@interface CNLiveWebViewController : UIViewController | ||
| 14 | -- (instancetype)initWithUrl:(NSString *)url title:(nullable NSString *)title; | ||
| 15 | - | ||
| 16 | -- (instancetype)initWithUrl:(NSString *)url title:(nullable NSString *)title isShow:(BOOL)isShow; | ||
| 17 | - | ||
| 18 | -@end | ||
| 19 | - | ||
| 20 | -NS_ASSUME_NONNULL_END |
Example/CNLiveMineModule/CNLiveWebViewController.m deleted
100644 → 0
| 1 | -// | ||
| 2 | -// CNLiveWebViewController.m | ||
| 3 | -// CNLiveMineModule_Example | ||
| 4 | -// | ||
| 5 | -// Created by CNLive-zxw on 2019/12/7. | ||
| 6 | -// Copyright © 2019 153993236@qq.com. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import "CNLiveWebViewController.h" | ||
| 10 | -#import <WebKit/WebKit.h> | ||
| 11 | -#import "CNLiveCategory.h" | ||
| 12 | - | ||
| 13 | -@interface CNLiveWebViewController ()<WKUIDelegate, WKNavigationDelegate> | ||
| 14 | -@property (nonatomic, copy) NSString *url; | ||
| 15 | -@property (nonatomic, assign) BOOL isShow; | ||
| 16 | - | ||
| 17 | -@property (nonatomic, strong) UIView *navigationBar; | ||
| 18 | -@property (nonatomic, strong) WKWebView *webView; | ||
| 19 | -@property (nonatomic, strong) UIProgressView *processView; | ||
| 20 | -@property (nonatomic, weak) UILabel *titleLabel; | ||
| 21 | - | ||
| 22 | -@end | ||
| 23 | - | ||
| 24 | -@implementation CNLiveWebViewController | ||
| 25 | -static const NSInteger margin = 10; | ||
| 26 | - | ||
| 27 | -#pragma mark - 初始化方法 | ||
| 28 | -- (instancetype)initWithUrl:(NSString *)url title:(nullable NSString *)title{ | ||
| 29 | - return [self initWithUrl:url title:title isShow:NO]; | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | -- (instancetype)initWithUrl:(NSString *)url title:(nullable NSString *)title isShow:(BOOL)isShow { | ||
| 33 | - self = [super init]; | ||
| 34 | - if (self) { | ||
| 35 | - self.url = url; | ||
| 36 | - self.title = title; | ||
| 37 | - self.isShow = isShow; | ||
| 38 | - } | ||
| 39 | - return self; | ||
| 40 | -} | ||
| 41 | - | ||
| 42 | -- (void)setTitle:(NSString *)title{ | ||
| 43 | - _titleLabel.text = title; | ||
| 44 | -} | ||
| 45 | - | ||
| 46 | -#pragma mark - 加载数据 | ||
| 47 | -- (void)loadUrl { | ||
| 48 | - NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.url] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10.0]; | ||
| 49 | - [self.webView loadRequest:theRequest]; | ||
| 50 | -} | ||
| 51 | - | ||
| 52 | -#pragma mark - 生命周期 | ||
| 53 | -- (void)viewWillAppear:(BOOL)animated { | ||
| 54 | - [super viewWillAppear:animated]; | ||
| 55 | - self.navigationController.navigationBarHidden = YES; | ||
| 56 | -} | ||
| 57 | - | ||
| 58 | -- (void)viewWillDisappear:(BOOL)animated { | ||
| 59 | - [super viewWillDisappear:animated]; | ||
| 60 | - self.navigationController.navigationBarHidden = NO; | ||
| 61 | -} | ||
| 62 | - | ||
| 63 | -- (void)viewDidLoad { | ||
| 64 | - [super viewDidLoad]; | ||
| 65 | - self.view.backgroundColor = [UIColor whiteColor]; | ||
| 66 | - if (@available(iOS 11, *)) { | ||
| 67 | - self.webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentAutomatic; | ||
| 68 | - } | ||
| 69 | - else { | ||
| 70 | - self.automaticallyAdjustsScrollViewInsets = NO; | ||
| 71 | - } | ||
| 72 | - [self createSubViews]; | ||
| 73 | - [self loadUrl]; | ||
| 74 | -} | ||
| 75 | - | ||
| 76 | -- (void)dealloc { | ||
| 77 | - [self.webView stopLoading]; | ||
| 78 | - [self.webView removeObserver:self forKeyPath:@"estimatedProgress"]; | ||
| 79 | - if (!self.title) { | ||
| 80 | - [self.webView removeObserver:self forKeyPath:@"title"]; | ||
| 81 | - } | ||
| 82 | - self.webView.UIDelegate = nil; | ||
| 83 | - self.webView.navigationDelegate = nil; | ||
| 84 | - self.webView = nil; | ||
| 85 | - | ||
| 86 | -} | ||
| 87 | - | ||
| 88 | -- (void)createSubViews { | ||
| 89 | - [self.view addSubview:self.navigationBar]; | ||
| 90 | - [self.view addSubview:self.webView]; | ||
| 91 | - [self.view addSubview:self.processView]; | ||
| 92 | - | ||
| 93 | - [self.webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil]; | ||
| 94 | - if (!self.title) { | ||
| 95 | - [self.webView addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:NULL]; | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | -} | ||
| 99 | - | ||
| 100 | - | ||
| 101 | -#pragma mark - WKNavigationDelegate | ||
| 102 | -// 在发送请求之前,决定是否跳转 | ||
| 103 | -- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{ | ||
| 104 | - //允许跳转 | ||
| 105 | - decisionHandler(WKNavigationActionPolicyAllow); | ||
| 106 | -} | ||
| 107 | - | ||
| 108 | -// 页面开始加载时调用 | ||
| 109 | -- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation{ | ||
| 110 | - | ||
| 111 | -} | ||
| 112 | - | ||
| 113 | -// 在收到响应后,决定是否跳转 | ||
| 114 | -- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler{ | ||
| 115 | - //允许跳转 | ||
| 116 | - decisionHandler(WKNavigationResponsePolicyAllow); | ||
| 117 | - //不允许跳转 | ||
| 118 | - //decisionHandler(WKNavigationResponsePolicyCancel); | ||
| 119 | -} | ||
| 120 | - | ||
| 121 | -// 当内容开始返回时调用 | ||
| 122 | -- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation{ | ||
| 123 | - | ||
| 124 | -} | ||
| 125 | - | ||
| 126 | -// 页面加载完成之后调用 | ||
| 127 | -- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{ | ||
| 128 | - | ||
| 129 | -} | ||
| 130 | - | ||
| 131 | -// 页面加载失败时调用 | ||
| 132 | -- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(null_unspecified WKNavigation *)navigation withError:(nonnull NSError *)error{ | ||
| 133 | - NSLog(@"打印这个error%@",error); | ||
| 134 | -} | ||
| 135 | - | ||
| 136 | -// 接收到服务器跳转请求之后调用(重定向) | ||
| 137 | -- (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation{ | ||
| 138 | - | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -#pragma mark - 响应方法 | ||
| 142 | -//回退goBack | ||
| 143 | -- (void)goBack { | ||
| 144 | - if ([self.webView canGoBack]) { | ||
| 145 | - [self.webView goBack]; | ||
| 146 | - } | ||
| 147 | - else { | ||
| 148 | - [self closeClick]; | ||
| 149 | - } | ||
| 150 | -} | ||
| 151 | - | ||
| 152 | -//关闭pop | ||
| 153 | -- (void)closeClick { | ||
| 154 | - if (self.presentingViewController != nil) { | ||
| 155 | - [self dismissViewControllerAnimated:YES completion:nil]; | ||
| 156 | - | ||
| 157 | - } | ||
| 158 | - else { | ||
| 159 | - [self.navigationController popViewControllerAnimated:YES]; | ||
| 160 | - } | ||
| 161 | -} | ||
| 162 | - | ||
| 163 | -#pragma mark - KVO | ||
| 164 | -- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context { | ||
| 165 | - if ([keyPath isEqualToString:@"estimatedProgress"]) { | ||
| 166 | - if (object == self.webView) { | ||
| 167 | - [self.processView setAlpha:1.0f]; | ||
| 168 | - [self.processView setProgress:self.webView.estimatedProgress animated:YES]; | ||
| 169 | - | ||
| 170 | - if(self.webView.estimatedProgress >= 1.0f) { | ||
| 171 | - | ||
| 172 | - [UIView animateWithDuration:0.3 delay:0.5 options:UIViewAnimationOptionCurveEaseOut animations:^{ | ||
| 173 | - [self.processView setAlpha:0.0f]; | ||
| 174 | - | ||
| 175 | - } completion:^(BOOL finished) { | ||
| 176 | - [self.processView setProgress:0.0f animated:NO]; | ||
| 177 | - | ||
| 178 | - }]; | ||
| 179 | - | ||
| 180 | - } | ||
| 181 | - | ||
| 182 | - } | ||
| 183 | - else { | ||
| 184 | - [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; | ||
| 185 | - } | ||
| 186 | - | ||
| 187 | - } | ||
| 188 | - else if ([keyPath isEqualToString:@"title"]){ | ||
| 189 | - if (object == self.webView) { | ||
| 190 | - if (self.webView.title.length != 0) { | ||
| 191 | - self.title = self.webView.title; | ||
| 192 | - | ||
| 193 | - } | ||
| 194 | - } | ||
| 195 | - else { | ||
| 196 | - [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; | ||
| 197 | - } | ||
| 198 | - } | ||
| 199 | - else { | ||
| 200 | - [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; | ||
| 201 | - | ||
| 202 | - } | ||
| 203 | -} | ||
| 204 | - | ||
| 205 | -/* | ||
| 206 | -#pragma mark - Navigation | ||
| 207 | - | ||
| 208 | -// In a storyboard-based application, you will often want to do a little preparation before navigation | ||
| 209 | -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { | ||
| 210 | - // Get the new view controller using [segue destinationViewController]. | ||
| 211 | - // Pass the selected object to the new view controller. | ||
| 212 | -} | ||
| 213 | -*/ | ||
| 214 | - | ||
| 215 | -#pragma mark - 懒加载 | ||
| 216 | -- (UIView *)navigationBar{ | ||
| 217 | - if(!_navigationBar){ | ||
| 218 | - _navigationBar = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 44+[UIApplication sharedApplication].statusBarFrame.size.height)]; | ||
| 219 | - _navigationBar.backgroundColor = [UIColor clearColor]; | ||
| 220 | - [self.view bringSubviewToFront:_navigationBar]; | ||
| 221 | - | ||
| 222 | - UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 223 | - leftBtn.adjustsImageWhenHighlighted = NO; | ||
| 224 | - leftBtn.frame = CGRectMake(margin, [UIApplication sharedApplication].statusBarFrame.size.height, 44, 44); | ||
| 225 | - UIImage *leftImage = [self getImageWithImageName:@"web_black_back" bundleName:@"CNLiveUserAgreementManager" targetClass:[self class]]; | ||
| 226 | - [leftBtn setImage:[leftImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal]; | ||
| 227 | - [leftBtn addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside]; | ||
| 228 | - [leftBtn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; | ||
| 229 | - [_navigationBar addSubview:leftBtn]; | ||
| 230 | - | ||
| 231 | - UIButton *closeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; | ||
| 232 | - closeBtn.adjustsImageWhenHighlighted = NO; | ||
| 233 | - closeBtn.frame = CGRectMake(44+margin, [UIApplication sharedApplication].statusBarFrame.size.height, 44, 44); | ||
| 234 | - UIImage *closeImage = [self getImageWithImageName:@"web_black_close" bundleName:@"CNLiveUserAgreementManager" targetClass:[self class]]; | ||
| 235 | - [closeBtn setImage:[closeImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal]; | ||
| 236 | - [closeBtn addTarget:self action:@selector(closeClick) forControlEvents:UIControlEventTouchUpInside]; | ||
| 237 | - [closeBtn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; | ||
| 238 | - closeBtn.hidden = !self.isShow; | ||
| 239 | - [_navigationBar addSubview:closeBtn]; | ||
| 240 | - | ||
| 241 | - UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(([[UIScreen mainScreen] bounds].size.width - 200)/2.0, [UIApplication sharedApplication].statusBarFrame.size.height, 200, 44)]; | ||
| 242 | - titleLabel.font = [UIFont boldSystemFontOfSize:17]; | ||
| 243 | - titleLabel.textColor = [UIColor blackColor]; | ||
| 244 | - titleLabel.text = self.title; | ||
| 245 | - titleLabel.textAlignment = NSTextAlignmentCenter; | ||
| 246 | - [_navigationBar addSubview:titleLabel]; | ||
| 247 | - _titleLabel = titleLabel; | ||
| 248 | - | ||
| 249 | - } | ||
| 250 | - return _navigationBar; | ||
| 251 | -} | ||
| 252 | - | ||
| 253 | -- (WKWebView *)webView{ | ||
| 254 | - if(!_webView){ | ||
| 255 | - WKWebViewConfiguration * configuration = [[WKWebViewConfiguration alloc] init]; | ||
| 256 | - configuration.allowsInlineMediaPlayback = YES; | ||
| 257 | - WKPreferences *preferences = [WKPreferences new]; | ||
| 258 | - preferences.javaScriptCanOpenWindowsAutomatically = YES; | ||
| 259 | - configuration.preferences = preferences; | ||
| 260 | - _webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, [UIApplication sharedApplication].statusBarFrame.size.height+44, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height-([UIApplication sharedApplication].statusBarFrame.size.height+44)) configuration:configuration]; | ||
| 261 | - _webView.UIDelegate = self; | ||
| 262 | - _webView.navigationDelegate = self; | ||
| 263 | - _webView.contentMode = UIViewContentModeScaleAspectFit; | ||
| 264 | - _webView.scrollView.showsHorizontalScrollIndicator = NO; | ||
| 265 | - _webView.scrollView.showsVerticalScrollIndicator = NO; | ||
| 266 | - _webView.allowsBackForwardNavigationGestures = YES; | ||
| 267 | - _webView.allowsLinkPreview = NO; | ||
| 268 | - | ||
| 269 | - } | ||
| 270 | - return _webView; | ||
| 271 | -} | ||
| 272 | - | ||
| 273 | -- (UIProgressView *)processView{ | ||
| 274 | - if(!_processView){ | ||
| 275 | - _processView = [[UIProgressView alloc] initWithFrame:CGRectMake(0, ([UIApplication sharedApplication].statusBarFrame.size.height+44)+0.5, [[UIScreen mainScreen] bounds].size.width, 1)]; | ||
| 276 | - _processView.progressTintColor = [UIColor colorWithRed:19/255.0 green:204/255.0 blue:12/255.0 alpha:1.0]; | ||
| 277 | - _processView.trackTintColor = [UIColor whiteColor]; | ||
| 278 | - } | ||
| 279 | - return _processView; | ||
| 280 | -} | ||
| 281 | - | ||
| 282 | -@end |