Commit 0e5fc529677cb9ff62d6a129740c3cc116810d01

Authored by liushiyu
1 parent b38285ba

跳转添加

... ... @@ -52,7 +52,9 @@ target 'metaCode' do
52 52 pod 'ZFPlayer/AVPlayer', :git => 'https://gitee.com/mirrors/ZFPlayer.git'
53 53 pod 'ZFPlayer/ijkplayer', :git => 'https://gitee.com/mirrors/ZFPlayer.git'
54 54 #分享
55   - #pod 'CNLiveShareToolKit'
  55 +# pod 'CNLiveShareToolKit'
  56 +# pod 'CNLiveTencentopenapi'
  57 +# pod 'WechatOpenSDK'
56 58 #网家家输入组件
57 59 pod 'CNLiveCustomUI/CNLiveContentToolTextView'
58 60 #业务工具库
... ... @@ -66,15 +68,23 @@ target 'metaCode' do
66 68 #UI框架
67 69 # pod 'QMUIKit'
68 70 pod 'YYWebImage', :git => 'https://gitee.com/mirrors/YYWebImage.git'
  71 +
  72 + #依赖三方私有库,如果里面有.a的时候加上这个
  73 + pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
  74 + end
  75 +
69 76  
70   - target 'metaCodeTests' do
71   - inherit! :search_paths
72   - # Pods for testing
73   - end
  77 +
74 78  
75   - target 'metaCodeUITests' do
76   - # Pods for testing
77   - end
  79 +
  80 +# target 'metaCodeTests' do
  81 +# inherit! :search_paths
  82 +# # Pods for testing
  83 +# end
  84 +#
  85 +# target 'metaCodeUITests' do
  86 +# # Pods for testing
  87 +# end
78 88  
79 89 end
80 90  
... ...
metaCode.xcodeproj/project.pbxproj
... ... @@ -7,7 +7,6 @@
7 7 objects = {
8 8  
9 9 /* Begin PBXBuildFile section */
10   - 0D39E93D7229931C86EB1161 /* Pods_metaCode_metaCodeUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */; };
11 10 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19123FC02ABC11170075C883 /* CNWebViewController.swift */; };
12 11 1917328E2B032583007BCC04 /* CNLiveRoundedRectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1917328D2B032583007BCC04 /* CNLiveRoundedRectView.swift */; };
13 12 191732902B0348F6007BCC04 /* CNLiveSwitchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1917328F2B0348F6007BCC04 /* CNLiveSwitchView.swift */; };
... ... @@ -172,6 +171,9 @@
172 171 796308752B4B90700090D22A /* CNLiveShortVideoHomeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 796308742B4B90700090D22A /* CNLiveShortVideoHomeModel.swift */; };
173 172 796398942A260C0100D045EB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7963988D2A260C0100D045EB /* AppDelegate.swift */; };
174 173 7963989D2A260E6200D045EB /* CNLiveBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7963989C2A260E6200D045EB /* CNLiveBaseViewController.swift */; };
  174 + 7963DEEE2B5507690086037D /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7963DEED2B5507690086037D /* libz.tbd */; };
  175 + 7963DEF02B5507780086037D /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7963DEEF2B5507780086037D /* libc++.tbd */; };
  176 + 7963DEF22B5507830086037D /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7963DEF12B5507830086037D /* libsqlite3.tbd */; };
175 177 79656E382AAEBA8E00119A61 /* CNLiveMineInputViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79656E372AAEBA8E00119A61 /* CNLiveMineInputViewController.swift */; };
176 178 7978A8432A396632007C86B8 /* CNLiveMineViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7978A8422A396632007C86B8 /* CNLiveMineViewModel.swift */; };
177 179 79803E272AD68D3100F05F68 /* CNLiveMineShopViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79803E262AD68D3100F05F68 /* CNLiveMineShopViewController.swift */; };
... ... @@ -203,8 +205,6 @@
203 205 79A212C02B0B5C5400BFA8E3 /* CNLiveShopCouponManagerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79A212BF2B0B5C5400BFA8E3 /* CNLiveShopCouponManagerViewController.swift */; };
204 206 79A212C22B0B5D0700BFA8E3 /* CNLiveShopBodyCouponManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79A212C12B0B5D0700BFA8E3 /* CNLiveShopBodyCouponManagerView.swift */; };
205 207 79A267832AF8D7BC0088D9F6 /* CNLiveShopBodyCustomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79A267822AF8D7BC0088D9F6 /* CNLiveShopBodyCustomView.swift */; };
206   - 79A68C4A2A26E6CE00DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; };
207   - 79A68C4C2A26EA6000DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; };
208 208 79B2E3602AF39191002A8524 /* NSObject+CNLiveConfigModuleInline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79B2E35F2AF39191002A8524 /* NSObject+CNLiveConfigModuleInline.swift */; };
209 209 79BA085D2AB18E8300D01875 /* CNLiveSaveAuthDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79BA085C2AB18E8300D01875 /* CNLiveSaveAuthDB.swift */; };
210 210 79BB1C142B05C51900C5720C /* CNLiveShopCouponViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79BB1C132B05C51900C5720C /* CNLiveShopCouponViewController.swift */; };
... ... @@ -247,10 +247,6 @@
247 247 818163C32A25CFCC00579C86 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 818163C12A25CFCC00579C86 /* Main.storyboard */; };
248 248 818163C52A25CFCF00579C86 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 818163C42A25CFCF00579C86 /* Assets.xcassets */; };
249 249 818163C82A25CFCF00579C86 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 818163C62A25CFCF00579C86 /* LaunchScreen.storyboard */; };
250   - 818163D32A25CFCF00579C86 /* metaCodeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818163D22A25CFCF00579C86 /* metaCodeTests.swift */; };
251   - 818163DD2A25CFCF00579C86 /* metaCodeUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818163DC2A25CFCF00579C86 /* metaCodeUITests.swift */; };
252   - 818163DF2A25CFCF00579C86 /* metaCodeUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818163DE2A25CFCF00579C86 /* metaCodeUITestsLaunchTests.swift */; };
253   - B9288696E8DCE3DA0AA8137B /* Pods_metaCodeTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */; };
254 250 /* End PBXBuildFile section */
255 251  
256 252 /* Begin PBXContainerItemProxy section */
... ... @@ -271,7 +267,6 @@
271 267 /* End PBXContainerItemProxy section */
272 268  
273 269 /* Begin PBXFileReference section */
274   - 0EC910AB9EBD717B04432BC4 /* Pods-metaCode-metaCodeUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode-metaCodeUITests.debug.xcconfig"; path = "Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests.debug.xcconfig"; sourceTree = "<group>"; };
275 270 170BC5D0622EA2969D110A3B /* Pods-metaCode.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode.release.xcconfig"; path = "Target Support Files/Pods-metaCode/Pods-metaCode.release.xcconfig"; sourceTree = "<group>"; };
276 271 19123FC02ABC11170075C883 /* CNWebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNWebViewController.swift; sourceTree = "<group>"; };
277 272 1917328D2B032583007BCC04 /* CNLiveRoundedRectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveRoundedRectView.swift; sourceTree = "<group>"; };
... ... @@ -395,10 +390,7 @@
395 390 19FA20162AE22D3C001F7186 /* CNLiveDownSlideRecommendCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveDownSlideRecommendCell.swift; sourceTree = "<group>"; };
396 391 19FA20182AE22D98001F7186 /* CNLiveDownSlideTodayRecommendCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveDownSlideTodayRecommendCell.swift; sourceTree = "<group>"; };
397 392 19FA201A2AE60423001F7186 /* CNLiveDownSlideModelLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveDownSlideModelLayout.swift; sourceTree = "<group>"; };
398   - 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCodeTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
399   - 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCode_metaCodeUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
400   - 67F8190701D1AB7F7724E8BA /* Pods-metaCodeTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCodeTests.release.xcconfig"; path = "Target Support Files/Pods-metaCodeTests/Pods-metaCodeTests.release.xcconfig"; sourceTree = "<group>"; };
401   - 721865F548C997EFAE525B6F /* Pods-metaCode-metaCodeUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode-metaCodeUITests.release.xcconfig"; path = "Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests.release.xcconfig"; sourceTree = "<group>"; };
  393 + 7902A8BA2B551C6E009AA653 /* metaCode.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = metaCode.entitlements; sourceTree = "<group>"; };
402 394 7905BB482AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineAuthResultViewController.swift; sourceTree = "<group>"; };
403 395 790B1FB32A4153E90074CF00 /* CNLiveMineBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineBaseModel.swift; sourceTree = "<group>"; };
404 396 790B1FB52A41938F0074CF00 /* UIImage+CNLiveExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+CNLiveExtensions.swift"; sourceTree = "<group>"; };
... ... @@ -440,6 +432,10 @@
440 432 796308742B4B90700090D22A /* CNLiveShortVideoHomeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShortVideoHomeModel.swift; sourceTree = "<group>"; };
441 433 7963988D2A260C0100D045EB /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
442 434 7963989C2A260E6200D045EB /* CNLiveBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CNLiveBaseViewController.swift; sourceTree = "<group>"; };
  435 + 7963DEED2B5507690086037D /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
  436 + 7963DEEF2B5507780086037D /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
  437 + 7963DEF12B5507830086037D /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; };
  438 + 7963DEF32B5508540086037D /* CNLiveShareToolKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CNLiveShareToolKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
443 439 79656E372AAEBA8E00119A61 /* CNLiveMineInputViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineInputViewController.swift; sourceTree = "<group>"; };
444 440 7978A8422A396632007C86B8 /* CNLiveMineViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineViewModel.swift; sourceTree = "<group>"; };
445 441 79803E262AD68D3100F05F68 /* CNLiveMineShopViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineShopViewController.swift; sourceTree = "<group>"; };
... ... @@ -520,12 +516,8 @@
520 516 818163C42A25CFCF00579C86 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
521 517 818163C72A25CFCF00579C86 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
522 518 818163CE2A25CFCF00579C86 /* metaCodeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = metaCodeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
523   - 818163D22A25CFCF00579C86 /* metaCodeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = metaCodeTests.swift; sourceTree = "<group>"; };
524 519 818163D82A25CFCF00579C86 /* metaCodeUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = metaCodeUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
525   - 818163DC2A25CFCF00579C86 /* metaCodeUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = metaCodeUITests.swift; sourceTree = "<group>"; };
526   - 818163DE2A25CFCF00579C86 /* metaCodeUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = metaCodeUITestsLaunchTests.swift; sourceTree = "<group>"; };
527 520 D3461203CB0CDA6E9973E7E9 /* Pods-metaCode.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode.debug.xcconfig"; path = "Target Support Files/Pods-metaCode/Pods-metaCode.debug.xcconfig"; sourceTree = "<group>"; };
528   - F0569578297630A48BF85754 /* Pods-metaCodeTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCodeTests.debug.xcconfig"; path = "Target Support Files/Pods-metaCodeTests/Pods-metaCodeTests.debug.xcconfig"; sourceTree = "<group>"; };
529 521 F1C55A719CFEE073C06D37CE /* Pods_metaCode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCode.framework; sourceTree = BUILT_PRODUCTS_DIR; };
530 522 /* End PBXFileReference section */
531 523  
... ... @@ -534,6 +526,9 @@
534 526 isa = PBXFrameworksBuildPhase;
535 527 buildActionMask = 2147483647;
536 528 files = (
  529 + 7963DEF22B5507830086037D /* libsqlite3.tbd in Frameworks */,
  530 + 7963DEF02B5507780086037D /* libc++.tbd in Frameworks */,
  531 + 7963DEEE2B5507690086037D /* libz.tbd in Frameworks */,
537 532 1DD2808DF02C120276F99F4D /* Pods_metaCode.framework in Frameworks */,
538 533 );
539 534 runOnlyForDeploymentPostprocessing = 0;
... ... @@ -542,7 +537,6 @@
542 537 isa = PBXFrameworksBuildPhase;
543 538 buildActionMask = 2147483647;
544 539 files = (
545   - B9288696E8DCE3DA0AA8137B /* Pods_metaCodeTests.framework in Frameworks */,
546 540 );
547 541 runOnlyForDeploymentPostprocessing = 0;
548 542 };
... ... @@ -550,7 +544,6 @@
550 544 isa = PBXFrameworksBuildPhase;
551 545 buildActionMask = 2147483647;
552 546 files = (
553   - 0D39E93D7229931C86EB1161 /* Pods_metaCode_metaCodeUITests.framework in Frameworks */,
554 547 );
555 548 runOnlyForDeploymentPostprocessing = 0;
556 549 };
... ... @@ -964,10 +957,6 @@
964 957 children = (
965 958 D3461203CB0CDA6E9973E7E9 /* Pods-metaCode.debug.xcconfig */,
966 959 170BC5D0622EA2969D110A3B /* Pods-metaCode.release.xcconfig */,
967   - 0EC910AB9EBD717B04432BC4 /* Pods-metaCode-metaCodeUITests.debug.xcconfig */,
968   - 721865F548C997EFAE525B6F /* Pods-metaCode-metaCodeUITests.release.xcconfig */,
969   - F0569578297630A48BF85754 /* Pods-metaCodeTests.debug.xcconfig */,
970   - 67F8190701D1AB7F7724E8BA /* Pods-metaCodeTests.release.xcconfig */,
971 960 );
972 961 path = Pods;
973 962 sourceTree = "<group>";
... ... @@ -1432,8 +1421,6 @@
1432 1421 children = (
1433 1422 818163BA2A25CFCC00579C86 /* metaCode */,
1434 1423 79A68C512A26F59C00DC3B43 /* Info.plist */,
1435   - 818163D12A25CFCF00579C86 /* metaCodeTests */,
1436   - 818163DB2A25CFCF00579C86 /* metaCodeUITests */,
1437 1424 818163B92A25CFCC00579C86 /* Products */,
1438 1425 20238A324E444EF8C813D9FA /* Pods */,
1439 1426 83CDF822130E4A93D9977EBC /* Frameworks */,
... ... @@ -1453,35 +1440,21 @@
1453 1440 818163BA2A25CFCC00579C86 /* metaCode */ = {
1454 1441 isa = PBXGroup;
1455 1442 children = (
  1443 + 7902A8BA2B551C6E009AA653 /* metaCode.entitlements */,
1456 1444 7963988A2A260B3300D045EB /* Classes */,
1457 1445 796398952A260C3700D045EB /* Supporting Files */,
1458 1446 );
1459 1447 path = metaCode;
1460 1448 sourceTree = "<group>";
1461 1449 };
1462   - 818163D12A25CFCF00579C86 /* metaCodeTests */ = {
1463   - isa = PBXGroup;
1464   - children = (
1465   - 818163D22A25CFCF00579C86 /* metaCodeTests.swift */,
1466   - );
1467   - path = metaCodeTests;
1468   - sourceTree = "<group>";
1469   - };
1470   - 818163DB2A25CFCF00579C86 /* metaCodeUITests */ = {
1471   - isa = PBXGroup;
1472   - children = (
1473   - 818163DC2A25CFCF00579C86 /* metaCodeUITests.swift */,
1474   - 818163DE2A25CFCF00579C86 /* metaCodeUITestsLaunchTests.swift */,
1475   - );
1476   - path = metaCodeUITests;
1477   - sourceTree = "<group>";
1478   - };
1479 1450 83CDF822130E4A93D9977EBC /* Frameworks */ = {
1480 1451 isa = PBXGroup;
1481 1452 children = (
  1453 + 7963DEF32B5508540086037D /* CNLiveShareToolKit.framework */,
  1454 + 7963DEF12B5507830086037D /* libsqlite3.tbd */,
  1455 + 7963DEEF2B5507780086037D /* libc++.tbd */,
  1456 + 7963DEED2B5507690086037D /* libz.tbd */,
1482 1457 F1C55A719CFEE073C06D37CE /* Pods_metaCode.framework */,
1483   - 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */,
1484   - 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */,
1485 1458 );
1486 1459 name = Frameworks;
1487 1460 sourceTree = "<group>";
... ... @@ -1513,7 +1486,6 @@
1513 1486 isa = PBXNativeTarget;
1514 1487 buildConfigurationList = 818163E52A25CFCF00579C86 /* Build configuration list for PBXNativeTarget "metaCodeTests" */;
1515 1488 buildPhases = (
1516   - 148A6537732D7A65559DB472 /* [CP] Check Pods Manifest.lock */,
1517 1489 818163CA2A25CFCF00579C86 /* Sources */,
1518 1490 818163CB2A25CFCF00579C86 /* Frameworks */,
1519 1491 818163CC2A25CFCF00579C86 /* Resources */,
... ... @@ -1532,12 +1504,9 @@
1532 1504 isa = PBXNativeTarget;
1533 1505 buildConfigurationList = 818163E82A25CFCF00579C86 /* Build configuration list for PBXNativeTarget "metaCodeUITests" */;
1534 1506 buildPhases = (
1535   - 53AB1F83C55845CC654163DE /* [CP] Check Pods Manifest.lock */,
1536 1507 818163D42A25CFCF00579C86 /* Sources */,
1537 1508 818163D52A25CFCF00579C86 /* Frameworks */,
1538 1509 818163D62A25CFCF00579C86 /* Resources */,
1539   - 035341748B563C741D14CD83 /* [CP] Embed Pods Frameworks */,
1540   - 51DB2DC03E9B32399B70EEC8 /* [CP] Copy Pods Resources */,
1541 1510 );
1542 1511 buildRules = (
1543 1512 );
... ... @@ -1624,45 +1593,6 @@
1624 1593 /* End PBXResourcesBuildPhase section */
1625 1594  
1626 1595 /* Begin PBXShellScriptBuildPhase section */
1627   - 035341748B563C741D14CD83 /* [CP] Embed Pods Frameworks */ = {
1628   - isa = PBXShellScriptBuildPhase;
1629   - buildActionMask = 2147483647;
1630   - files = (
1631   - );
1632   - inputFileListPaths = (
1633   - "${PODS_ROOT}/Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
1634   - );
1635   - name = "[CP] Embed Pods Frameworks";
1636   - outputFileListPaths = (
1637   - "${PODS_ROOT}/Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
1638   - );
1639   - runOnlyForDeploymentPostprocessing = 0;
1640   - shellPath = /bin/sh;
1641   - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests-frameworks.sh\"\n";
1642   - showEnvVarsInLog = 0;
1643   - };
1644   - 148A6537732D7A65559DB472 /* [CP] Check Pods Manifest.lock */ = {
1645   - isa = PBXShellScriptBuildPhase;
1646   - buildActionMask = 2147483647;
1647   - files = (
1648   - );
1649   - inputFileListPaths = (
1650   - );
1651   - inputPaths = (
1652   - "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
1653   - "${PODS_ROOT}/Manifest.lock",
1654   - );
1655   - name = "[CP] Check Pods Manifest.lock";
1656   - outputFileListPaths = (
1657   - );
1658   - outputPaths = (
1659   - "$(DERIVED_FILE_DIR)/Pods-metaCodeTests-checkManifestLockResult.txt",
1660   - );
1661   - runOnlyForDeploymentPostprocessing = 0;
1662   - shellPath = /bin/sh;
1663   - 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";
1664   - showEnvVarsInLog = 0;
1665   - };
1666 1596 43270B0E3FD1AFD4E05616D0 /* [CP] Copy Pods Resources */ = {
1667 1597 isa = PBXShellScriptBuildPhase;
1668 1598 buildActionMask = 2147483647;
... ... @@ -1680,45 +1610,6 @@
1680 1610 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-metaCode/Pods-metaCode-resources.sh\"\n";
1681 1611 showEnvVarsInLog = 0;
1682 1612 };
1683   - 51DB2DC03E9B32399B70EEC8 /* [CP] Copy Pods Resources */ = {
1684   - isa = PBXShellScriptBuildPhase;
1685   - buildActionMask = 2147483647;
1686   - files = (
1687   - );
1688   - inputFileListPaths = (
1689   - "${PODS_ROOT}/Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests-resources-${CONFIGURATION}-input-files.xcfilelist",
1690   - );
1691   - name = "[CP] Copy Pods Resources";
1692   - outputFileListPaths = (
1693   - "${PODS_ROOT}/Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests-resources-${CONFIGURATION}-output-files.xcfilelist",
1694   - );
1695   - runOnlyForDeploymentPostprocessing = 0;
1696   - shellPath = /bin/sh;
1697   - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests-resources.sh\"\n";
1698   - showEnvVarsInLog = 0;
1699   - };
1700   - 53AB1F83C55845CC654163DE /* [CP] Check Pods Manifest.lock */ = {
1701   - isa = PBXShellScriptBuildPhase;
1702   - buildActionMask = 2147483647;
1703   - files = (
1704   - );
1705   - inputFileListPaths = (
1706   - );
1707   - inputPaths = (
1708   - "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
1709   - "${PODS_ROOT}/Manifest.lock",
1710   - );
1711   - name = "[CP] Check Pods Manifest.lock";
1712   - outputFileListPaths = (
1713   - );
1714   - outputPaths = (
1715   - "$(DERIVED_FILE_DIR)/Pods-metaCode-metaCodeUITests-checkManifestLockResult.txt",
1716   - );
1717   - runOnlyForDeploymentPostprocessing = 0;
1718   - shellPath = /bin/sh;
1719   - 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";
1720   - showEnvVarsInLog = 0;
1721   - };
1722 1613 C6C54F35208ADFC89DAE5063 /* [CP] Check Pods Manifest.lock */ = {
1723 1614 isa = PBXShellScriptBuildPhase;
1724 1615 buildActionMask = 2147483647;
... ... @@ -1940,7 +1831,6 @@
1940 1831 1917333F2B284C93007BCC04 /* CNLiveShopCouponCreateViewController.swift in Sources */,
1941 1832 1917335C2B3283FF007BCC04 /* CNLiveCouponGoodsListSearchView.swift in Sources */,
1942 1833 798A44F92A30835400815935 /* CNLiveHelpFeedBackViewController.swift in Sources */,
1943   - 79A68C4A2A26E6CE00DC3B43 /* (null) in Sources */,
1944 1834 1938BD262B479D3400390A34 /* UILabel+FormattedText.swift in Sources */,
1945 1835 790D01852A2D89E100C5978D /* UIColor+CNLiveExtensions.swift in Sources */,
1946 1836 794FF1092B02131300385E85 /* CNLiveSaveSearchDB.swift in Sources */,
... ... @@ -1998,7 +1888,6 @@
1998 1888 790D019A2A2DCAE400C5978D /* CNLiveViewController.swift in Sources */,
1999 1889 191733192B10A05D007BCC04 /* CNLivePlayerProgressView.swift in Sources */,
2000 1890 79803E272AD68D3100F05F68 /* CNLiveMineShopViewController.swift in Sources */,
2001   - 79A68C4C2A26EA6000DC3B43 /* (null) in Sources */,
2002 1891 79803E292AD6991200F05F68 /* CNLiveMineInputMessageView.swift in Sources */,
2003 1892 79282A462A2F457D00B5F8CF /* CNLiveMineViewController.swift in Sources */,
2004 1893 7991723A2AF091E100DC01A8 /* CNLiveShopOrderListViewController.swift in Sources */,
... ... @@ -2013,7 +1902,6 @@
2013 1902 isa = PBXSourcesBuildPhase;
2014 1903 buildActionMask = 2147483647;
2015 1904 files = (
2016   - 818163D32A25CFCF00579C86 /* metaCodeTests.swift in Sources */,
2017 1905 );
2018 1906 runOnlyForDeploymentPostprocessing = 0;
2019 1907 };
... ... @@ -2021,8 +1909,6 @@
2021 1909 isa = PBXSourcesBuildPhase;
2022 1910 buildActionMask = 2147483647;
2023 1911 files = (
2024   - 818163DF2A25CFCF00579C86 /* metaCodeUITestsLaunchTests.swift in Sources */,
2025   - 818163DD2A25CFCF00579C86 /* metaCodeUITests.swift in Sources */,
2026 1912 );
2027 1913 runOnlyForDeploymentPostprocessing = 0;
2028 1914 };
... ... @@ -2181,11 +2067,62 @@
2181 2067 buildSettings = {
2182 2068 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
2183 2069 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
2184   - CLANG_ENABLE_MODULES = YES;
  2070 + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
  2071 + CLANG_ENABLE_MODULES = NO;
  2072 + CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements;
2185 2073 CODE_SIGN_STYLE = Automatic;
2186 2074 CURRENT_PROJECT_VERSION = 1.0.3.24.01.03.11;
2187 2075 DEVELOPMENT_TEAM = 94X49GG3ZW;
  2076 + ENABLE_BITCODE = YES;
  2077 + ENABLE_MODULE_VERIFIER = NO;
2188 2078 EXCLUDED_ARCHS = "";
  2079 + FRAMEWORK_SEARCH_PATHS = (
  2080 + "$(inherited)",
  2081 + "\"${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking\"",
  2082 + "\"${PODS_CONFIGURATION_BUILD_DIR}/APButton\"",
  2083 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBaseKit\"",
  2084 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBeeHive\"",
  2085 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBusinessTools\"",
  2086 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveCommonCategory\"",
  2087 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveCustomUI\"",
  2088 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveEnvironment\"",
  2089 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveNewTripartiteManagement\"",
  2090 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveRequestBastKit\"",
  2091 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveShareToolKit\"",
  2092 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveUserManagement\"",
  2093 + "\"${PODS_CONFIGURATION_BUILD_DIR}/EmptyDataSet-Swift\"",
  2094 + "\"${PODS_CONFIGURATION_BUILD_DIR}/FSPagerView\"",
  2095 + "\"${PODS_CONFIGURATION_BUILD_DIR}/HXPHPicker\"",
  2096 + "\"${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON\"",
  2097 + "\"${PODS_CONFIGURATION_BUILD_DIR}/HappyDNS\"",
  2098 + "\"${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift\"",
  2099 + "\"${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView\"",
  2100 + "\"${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView\"",
  2101 + "\"${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher\"",
  2102 + "\"${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD\"",
  2103 + "\"${PODS_CONFIGURATION_BUILD_DIR}/MJExtension\"",
  2104 + "\"${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh\"",
  2105 + "\"${PODS_CONFIGURATION_BUILD_DIR}/Masonry\"",
  2106 + "\"${PODS_CONFIGURATION_BUILD_DIR}/QMUIKit\"",
  2107 + "\"${PODS_CONFIGURATION_BUILD_DIR}/Qiniu\"",
  2108 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage\"",
  2109 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SKPhotoBrowser\"",
  2110 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SnapKit\"",
  2111 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftGifOrigin\"",
  2112 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYAsyncLayer\"",
  2113 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYCache\"",
  2114 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYCategories\"",
  2115 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYDispatchQueuePool\"",
  2116 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYImage\"",
  2117 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYModel\"",
  2118 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYText\"",
  2119 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYWebImage\"",
  2120 + "\"${PODS_ROOT}/IJKMediaFramework/IJKMediaFramework/Classes\"",
  2121 + "\"${PODS_ROOT}/PLPlayerKit/Pod/Library\"",
  2122 + "\"${PODS_CONFIGURATION_BUILD_DIR}/ZFPlayer\"",
  2123 + "\"${PODS_ROOT}/WechatOpenSDK/OpenSDK1.8.7.1\"",
  2124 + "\"\"${PODS_ROOT}/CNLiveTencentopenapi/CNLiveTencentopenapi/Classes\"",
  2125 + );
2189 2126 GENERATE_INFOPLIST_FILE = YES;
2190 2127 INFOPLIST_FILE = metaCode/Info.plist;
2191 2128 INFOPLIST_KEY_CFBundleDisplayName = "元码";
... ... @@ -2207,6 +2144,170 @@
2207 2144 "@executable_path/Frameworks",
2208 2145 );
2209 2146 MARKETING_VERSION = 1.0.3;
  2147 + OTHER_LDFLAGS = (
  2148 + "$(inherited)",
  2149 + "-all_load",
  2150 + "-ObjC",
  2151 + "-l\"WeChatSDK\"",
  2152 + "-l\"bz2\"",
  2153 + "-l\"c++\"",
  2154 + "-l\"iconv\"",
  2155 + "-l\"resolv\"",
  2156 + "-l\"sqlite3\"",
  2157 + "-l\"sqlite3.0\"",
  2158 + "-l\"stdc++\"",
  2159 + "-l\"swiftCoreGraphics\"",
  2160 + "-l\"z\"",
  2161 + "-framework",
  2162 + "\"AFNetworking\"",
  2163 + "-framework",
  2164 + "\"APButton\"",
  2165 + "-framework",
  2166 + "\"AVFoundation\"",
  2167 + "-framework",
  2168 + "\"AVKit\"",
  2169 + "-framework",
  2170 + "\"Accelerate\"",
  2171 + "-framework",
  2172 + "\"AssetsLibrary\"",
  2173 + "-framework",
  2174 + "\"AudioToolbox\"",
  2175 + "-framework",
  2176 + "\"CFNetwork\"",
  2177 + "-framework",
  2178 + "\"CNLiveBaseKit\"",
  2179 + "-framework",
  2180 + "\"CNLiveBeeHive\"",
  2181 + "-framework",
  2182 + "\"CNLiveBusinessTools\"",
  2183 + "-framework",
  2184 + "\"CNLiveCommonCategory\"",
  2185 + "-framework",
  2186 + "\"CNLiveCustomUI\"",
  2187 + "-framework",
  2188 + "\"CNLiveEnvironment\"",
  2189 + "-framework",
  2190 + "\"CNLiveNewTripartiteManagement\"",
  2191 + "-framework",
  2192 + "\"CNLiveRequestBastKit\"",
  2193 + "-framework",
  2194 + "\"CNLiveShareToolKit\"",
  2195 + "-framework",
  2196 + "\"CNLiveUserManagement\"",
  2197 + "-framework",
  2198 + "\"CoreAudio\"",
  2199 + "-framework",
  2200 + "\"CoreFoundation\"",
  2201 + "-framework",
  2202 + "\"CoreGraphics\"",
  2203 + "-framework",
  2204 + "\"CoreImage\"",
  2205 + "-framework",
  2206 + "\"CoreMedia\"",
  2207 + "-framework",
  2208 + "\"CoreTelephony\"",
  2209 + "-framework",
  2210 + "\"CoreText\"",
  2211 + "-framework",
  2212 + "\"CoreVideo\"",
  2213 + "-framework",
  2214 + "\"EmptyDataSet_Swift\"",
  2215 + "-framework",
  2216 + "\"FSPagerView\"",
  2217 + "-framework",
  2218 + "\"Foundation\"",
  2219 + "-framework",
  2220 + "\"HXPHPicker\"",
  2221 + "-framework",
  2222 + "\"HandyJSON\"",
  2223 + "-framework",
  2224 + "\"HappyDNS\"",
  2225 + "-framework",
  2226 + "\"IJKMediaFramework\"",
  2227 + "-framework",
  2228 + "\"IQKeyboardManagerSwift\"",
  2229 + "-framework",
  2230 + "\"ImageIO\"",
  2231 + "-framework",
  2232 + "\"JXPagingView\"",
  2233 + "-framework",
  2234 + "\"JXSegmentedView\"",
  2235 + "-framework",
  2236 + "\"Kingfisher\"",
  2237 + "-framework",
  2238 + "\"MBProgressHUD\"",
  2239 + "-framework",
  2240 + "\"MJExtension\"",
  2241 + "-framework",
  2242 + "\"MJRefresh\"",
  2243 + "-framework",
  2244 + "\"MapKit\"",
  2245 + "-framework",
  2246 + "\"Masonry\"",
  2247 + "-framework",
  2248 + "\"MediaPlayer\"",
  2249 + "-framework",
  2250 + "\"MobileCoreServices\"",
  2251 + "-framework",
  2252 + "\"OpenGLES\"",
  2253 + "-framework",
  2254 + "\"PLPlayerKit\"",
  2255 + "-framework",
  2256 + "\"Photos\"",
  2257 + "-framework",
  2258 + "\"PhotosUI\"",
  2259 + "-framework",
  2260 + "\"QMUIKit\"",
  2261 + "-framework",
  2262 + "\"Qiniu\"",
  2263 + "-framework",
  2264 + "\"QuartzCore\"",
  2265 + "-framework",
  2266 + "\"SDWebImage\"",
  2267 + "-framework",
  2268 + "\"SKPhotoBrowser\"",
  2269 + "-framework",
  2270 + "\"Security\"",
  2271 + "-framework",
  2272 + "\"SnapKit\"",
  2273 + "-framework",
  2274 + "\"SwiftGifOrigin\"",
  2275 + "-framework",
  2276 + "\"SystemConfiguration\"",
  2277 + "-framework",
  2278 + "\"TencentOpenAPI\"",
  2279 + "-framework",
  2280 + "\"UIKit\"",
  2281 + "-framework",
  2282 + "\"VideoToolbox\"",
  2283 + "-framework",
  2284 + "\"WebKit\"",
  2285 + "-framework",
  2286 + "\"YYAsyncLayer\"",
  2287 + "-framework",
  2288 + "\"YYCache\"",
  2289 + "-framework",
  2290 + "\"YYCategories\"",
  2291 + "-framework",
  2292 + "\"YYDispatchQueuePool\"",
  2293 + "-framework",
  2294 + "\"YYImage\"",
  2295 + "-framework",
  2296 + "\"YYModel\"",
  2297 + "-framework",
  2298 + "\"YYText\"",
  2299 + "-framework",
  2300 + "\"YYWebImage\"",
  2301 + "-framework",
  2302 + "\"ZFPlayer\"",
  2303 + "-weak_framework",
  2304 + "\"Combine\"",
  2305 + "-weak_framework",
  2306 + "\"Photos\"",
  2307 + "-weak_framework",
  2308 + "\"SwiftUI\"",
  2309 + "-ld64",
  2310 + );
2210 2311 PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.metaCode;
2211 2312 PRODUCT_NAME = "$(TARGET_NAME)";
2212 2313 SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
... ... @@ -2226,11 +2327,62 @@
2226 2327 buildSettings = {
2227 2328 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
2228 2329 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
2229   - CLANG_ENABLE_MODULES = YES;
  2330 + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
  2331 + CLANG_ENABLE_MODULES = NO;
  2332 + CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements;
2230 2333 CODE_SIGN_STYLE = Automatic;
2231 2334 CURRENT_PROJECT_VERSION = 1.0.3.24.01.03.11;
2232 2335 DEVELOPMENT_TEAM = 94X49GG3ZW;
  2336 + ENABLE_BITCODE = YES;
  2337 + ENABLE_MODULE_VERIFIER = NO;
2233 2338 EXCLUDED_ARCHS = "";
  2339 + FRAMEWORK_SEARCH_PATHS = (
  2340 + "$(inherited)",
  2341 + "\"${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking\"",
  2342 + "\"${PODS_CONFIGURATION_BUILD_DIR}/APButton\"",
  2343 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBaseKit\"",
  2344 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBeeHive\"",
  2345 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveBusinessTools\"",
  2346 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveCommonCategory\"",
  2347 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveCustomUI\"",
  2348 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveEnvironment\"",
  2349 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveNewTripartiteManagement\"",
  2350 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveRequestBastKit\"",
  2351 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveShareToolKit\"",
  2352 + "\"${PODS_CONFIGURATION_BUILD_DIR}/CNLiveUserManagement\"",
  2353 + "\"${PODS_CONFIGURATION_BUILD_DIR}/EmptyDataSet-Swift\"",
  2354 + "\"${PODS_CONFIGURATION_BUILD_DIR}/FSPagerView\"",
  2355 + "\"${PODS_CONFIGURATION_BUILD_DIR}/HXPHPicker\"",
  2356 + "\"${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON\"",
  2357 + "\"${PODS_CONFIGURATION_BUILD_DIR}/HappyDNS\"",
  2358 + "\"${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift\"",
  2359 + "\"${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView\"",
  2360 + "\"${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView\"",
  2361 + "\"${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher\"",
  2362 + "\"${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD\"",
  2363 + "\"${PODS_CONFIGURATION_BUILD_DIR}/MJExtension\"",
  2364 + "\"${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh\"",
  2365 + "\"${PODS_CONFIGURATION_BUILD_DIR}/Masonry\"",
  2366 + "\"${PODS_CONFIGURATION_BUILD_DIR}/QMUIKit\"",
  2367 + "\"${PODS_CONFIGURATION_BUILD_DIR}/Qiniu\"",
  2368 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage\"",
  2369 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SKPhotoBrowser\"",
  2370 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SnapKit\"",
  2371 + "\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftGifOrigin\"",
  2372 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYAsyncLayer\"",
  2373 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYCache\"",
  2374 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYCategories\"",
  2375 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYDispatchQueuePool\"",
  2376 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYImage\"",
  2377 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYModel\"",
  2378 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYText\"",
  2379 + "\"${PODS_CONFIGURATION_BUILD_DIR}/YYWebImage\"",
  2380 + "\"${PODS_ROOT}/IJKMediaFramework/IJKMediaFramework/Classes\"",
  2381 + "\"${PODS_ROOT}/PLPlayerKit/Pod/Library\"",
  2382 + "\"${PODS_CONFIGURATION_BUILD_DIR}/ZFPlayer\"",
  2383 + "\"${PODS_ROOT}/WechatOpenSDK/OpenSDK1.8.7.1\"",
  2384 + "\"\"${PODS_ROOT}/CNLiveTencentopenapi/CNLiveTencentopenapi/Classes\"",
  2385 + );
2234 2386 GENERATE_INFOPLIST_FILE = YES;
2235 2387 INFOPLIST_FILE = metaCode/Info.plist;
2236 2388 INFOPLIST_KEY_CFBundleDisplayName = "元码";
... ... @@ -2252,6 +2404,170 @@
2252 2404 "@executable_path/Frameworks",
2253 2405 );
2254 2406 MARKETING_VERSION = 1.0.3;
  2407 + OTHER_LDFLAGS = (
  2408 + "$(inherited)",
  2409 + "-all_load",
  2410 + "-ObjC",
  2411 + "-l\"WeChatSDK\"",
  2412 + "-l\"bz2\"",
  2413 + "-l\"c++\"",
  2414 + "-l\"iconv\"",
  2415 + "-l\"resolv\"",
  2416 + "-l\"sqlite3\"",
  2417 + "-l\"sqlite3.0\"",
  2418 + "-l\"stdc++\"",
  2419 + "-l\"swiftCoreGraphics\"",
  2420 + "-l\"z\"",
  2421 + "-framework",
  2422 + "\"AFNetworking\"",
  2423 + "-framework",
  2424 + "\"APButton\"",
  2425 + "-framework",
  2426 + "\"AVFoundation\"",
  2427 + "-framework",
  2428 + "\"AVKit\"",
  2429 + "-framework",
  2430 + "\"Accelerate\"",
  2431 + "-framework",
  2432 + "\"AssetsLibrary\"",
  2433 + "-framework",
  2434 + "\"AudioToolbox\"",
  2435 + "-framework",
  2436 + "\"CFNetwork\"",
  2437 + "-framework",
  2438 + "\"CNLiveBaseKit\"",
  2439 + "-framework",
  2440 + "\"CNLiveBeeHive\"",
  2441 + "-framework",
  2442 + "\"CNLiveBusinessTools\"",
  2443 + "-framework",
  2444 + "\"CNLiveCommonCategory\"",
  2445 + "-framework",
  2446 + "\"CNLiveCustomUI\"",
  2447 + "-framework",
  2448 + "\"CNLiveEnvironment\"",
  2449 + "-framework",
  2450 + "\"CNLiveNewTripartiteManagement\"",
  2451 + "-framework",
  2452 + "\"CNLiveRequestBastKit\"",
  2453 + "-framework",
  2454 + "\"CNLiveShareToolKit\"",
  2455 + "-framework",
  2456 + "\"CNLiveUserManagement\"",
  2457 + "-framework",
  2458 + "\"CoreAudio\"",
  2459 + "-framework",
  2460 + "\"CoreFoundation\"",
  2461 + "-framework",
  2462 + "\"CoreGraphics\"",
  2463 + "-framework",
  2464 + "\"CoreImage\"",
  2465 + "-framework",
  2466 + "\"CoreMedia\"",
  2467 + "-framework",
  2468 + "\"CoreTelephony\"",
  2469 + "-framework",
  2470 + "\"CoreText\"",
  2471 + "-framework",
  2472 + "\"CoreVideo\"",
  2473 + "-framework",
  2474 + "\"EmptyDataSet_Swift\"",
  2475 + "-framework",
  2476 + "\"FSPagerView\"",
  2477 + "-framework",
  2478 + "\"Foundation\"",
  2479 + "-framework",
  2480 + "\"HXPHPicker\"",
  2481 + "-framework",
  2482 + "\"HandyJSON\"",
  2483 + "-framework",
  2484 + "\"HappyDNS\"",
  2485 + "-framework",
  2486 + "\"IJKMediaFramework\"",
  2487 + "-framework",
  2488 + "\"IQKeyboardManagerSwift\"",
  2489 + "-framework",
  2490 + "\"ImageIO\"",
  2491 + "-framework",
  2492 + "\"JXPagingView\"",
  2493 + "-framework",
  2494 + "\"JXSegmentedView\"",
  2495 + "-framework",
  2496 + "\"Kingfisher\"",
  2497 + "-framework",
  2498 + "\"MBProgressHUD\"",
  2499 + "-framework",
  2500 + "\"MJExtension\"",
  2501 + "-framework",
  2502 + "\"MJRefresh\"",
  2503 + "-framework",
  2504 + "\"MapKit\"",
  2505 + "-framework",
  2506 + "\"Masonry\"",
  2507 + "-framework",
  2508 + "\"MediaPlayer\"",
  2509 + "-framework",
  2510 + "\"MobileCoreServices\"",
  2511 + "-framework",
  2512 + "\"OpenGLES\"",
  2513 + "-framework",
  2514 + "\"PLPlayerKit\"",
  2515 + "-framework",
  2516 + "\"Photos\"",
  2517 + "-framework",
  2518 + "\"PhotosUI\"",
  2519 + "-framework",
  2520 + "\"QMUIKit\"",
  2521 + "-framework",
  2522 + "\"Qiniu\"",
  2523 + "-framework",
  2524 + "\"QuartzCore\"",
  2525 + "-framework",
  2526 + "\"SDWebImage\"",
  2527 + "-framework",
  2528 + "\"SKPhotoBrowser\"",
  2529 + "-framework",
  2530 + "\"Security\"",
  2531 + "-framework",
  2532 + "\"SnapKit\"",
  2533 + "-framework",
  2534 + "\"SwiftGifOrigin\"",
  2535 + "-framework",
  2536 + "\"SystemConfiguration\"",
  2537 + "-framework",
  2538 + "\"TencentOpenAPI\"",
  2539 + "-framework",
  2540 + "\"UIKit\"",
  2541 + "-framework",
  2542 + "\"VideoToolbox\"",
  2543 + "-framework",
  2544 + "\"WebKit\"",
  2545 + "-framework",
  2546 + "\"YYAsyncLayer\"",
  2547 + "-framework",
  2548 + "\"YYCache\"",
  2549 + "-framework",
  2550 + "\"YYCategories\"",
  2551 + "-framework",
  2552 + "\"YYDispatchQueuePool\"",
  2553 + "-framework",
  2554 + "\"YYImage\"",
  2555 + "-framework",
  2556 + "\"YYModel\"",
  2557 + "-framework",
  2558 + "\"YYText\"",
  2559 + "-framework",
  2560 + "\"YYWebImage\"",
  2561 + "-framework",
  2562 + "\"ZFPlayer\"",
  2563 + "-weak_framework",
  2564 + "\"Combine\"",
  2565 + "-weak_framework",
  2566 + "\"Photos\"",
  2567 + "-weak_framework",
  2568 + "\"SwiftUI\"",
  2569 + "-ld64",
  2570 + );
2255 2571 PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.metaCode;
2256 2572 PRODUCT_NAME = "$(TARGET_NAME)";
2257 2573 SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
... ... @@ -2266,7 +2582,6 @@
2266 2582 };
2267 2583 818163E62A25CFCF00579C86 /* Debug */ = {
2268 2584 isa = XCBuildConfiguration;
2269   - baseConfigurationReference = F0569578297630A48BF85754 /* Pods-metaCodeTests.debug.xcconfig */;
2270 2585 buildSettings = {
2271 2586 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
2272 2587 BUNDLE_LOADER = "$(TEST_HOST)";
... ... @@ -2287,7 +2602,6 @@
2287 2602 };
2288 2603 818163E72A25CFCF00579C86 /* Release */ = {
2289 2604 isa = XCBuildConfiguration;
2290   - baseConfigurationReference = 67F8190701D1AB7F7724E8BA /* Pods-metaCodeTests.release.xcconfig */;
2291 2605 buildSettings = {
2292 2606 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
2293 2607 BUNDLE_LOADER = "$(TEST_HOST)";
... ... @@ -2308,7 +2622,6 @@
2308 2622 };
2309 2623 818163E92A25CFCF00579C86 /* Debug */ = {
2310 2624 isa = XCBuildConfiguration;
2311   - baseConfigurationReference = 0EC910AB9EBD717B04432BC4 /* Pods-metaCode-metaCodeUITests.debug.xcconfig */;
2312 2625 buildSettings = {
2313 2626 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
2314 2627 CODE_SIGN_STYLE = Automatic;
... ... @@ -2327,7 +2640,6 @@
2327 2640 };
2328 2641 818163EA2A25CFCF00579C86 /* Release */ = {
2329 2642 isa = XCBuildConfiguration;
2330   - baseConfigurationReference = 721865F548C997EFAE525B6F /* Pods-metaCode-metaCodeUITests.release.xcconfig */;
2331 2643 buildSettings = {
2332 2644 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
2333 2645 CODE_SIGN_STYLE = Automatic;
... ...
metaCode/Classes/Environment/CNLiveEnvironment.swift
... ... @@ -47,6 +47,13 @@ let IsTestFlightEnvironment: Bool = (CNLiveEnvironmentManager.shared.currentEnvi
47 47 ///是否是线上环境
48 48 let IsProductionEnvironment: Bool = (CNLiveEnvironmentManager.shared.currentEnvironment == .production)
49 49  
  50 +//UniversalLink地址
  51 +let universalLinkURL: String = "https://metacode.cnlive.com"
  52 +//腾讯 appId
  53 +let tencentAppId: String = "1112336586"
  54 +//微信 appId
  55 +let wxAppId: String = "wx82209bed331a549b"
  56 +
50 57 ///APP 环境类型
51 58 enum CNLiveEnvironment {
52 59 ///开发环境
... ...
metaCode/Classes/Main/VideoPage/Controller/CNLiveShortVideoViewController.swift
... ... @@ -10,6 +10,8 @@ import ZFPlayer
10 10 import APButton
11 11 import EmptyDataSet_Swift
12 12 import MJRefresh
  13 +import CNLiveBusinessTools
  14 +//import CNLiveShareToolKit
13 15  
14 16 class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDelegate, UITableViewDataSource, CNLiveShortVideoListTableViewCellDelegate, EmptyDataSetSource, EmptyDataSetDelegate {
15 17  
... ... @@ -162,6 +164,8 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele
162 164 self.pageNum += 1
163 165 self.requestData {}
164 166 })
  167 + //预加载下
  168 + CNLiveQQEmotionManager.emotionsForQQ()
165 169 }
166 170  
167 171 @objc func headerRefresh() {
... ... @@ -296,10 +300,13 @@ extension CNLiveShortVideoViewController {
296 300 })
297 301 }
298 302 func shareActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) {
299   -
  303 +// CNLiveShareManager.showShareViewWithParam(forShareTitle: viewcell.homeModel.title, shareUrl: viewcell.homeModel.shareUrl, shareDesc: viewcell.homeModel.subTitle, shareImage: viewcell.homeModel.poster, screenFull: false, hiddenWjj: true, hiddenQQ: false, hiddenWB: true, hiddenLifeCircle: true, hiddenWechatCircle: false, hiddenWechat: false, hiddenSafari: true, formVC: self, topImage: [], topTitles: [], platformType: .all) { title in} completerBlock: {[weak self] resultType, platformType, typeString in
  304 +// guard let self = self else { return }
  305 +//
  306 +// }
300 307 }
301 308 func iconActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) {
302   -
  309 + self.navigationController?.pushViewController(CNLivePlayletHomePageController(aid: aid), animated: true)
303 310 }
304 311 func faviActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) {
305 312  
... ... @@ -314,7 +321,8 @@ extension CNLiveShortVideoViewController {
314 321 func payActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) {
315 322 let payButton = button as! APButton
316 323 payButton.startAnimating()
317   - DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in
  324 + CNLiveIntegralAlertTool.shared.showIntegralAlert(title: "\(viewcell.homeModel.albumMsgModel?.albumName ?? "")共\(viewcell.homeModel.albumMsgModel?.episodeNow ?? "1")集", integralCount: viewcell.homeModel.albumMsgModel?.product?.point ?? "0", productId: viewcell.homeModel.product?.productId ?? "")
  325 + CNLiveIntegralAlertTool.shared.homePageNeedReloadActionBlock = {[weak self] in
318 326 guard let self = self else { return }
319 327 payButton.stopAnimating()
320 328 for item in self.dataArray {
... ...
metaCode/Classes/Main/VideoPage/Model/CNLiveShortVideoHomeModel.swift
... ... @@ -7,6 +7,7 @@
7 7  
8 8 import Foundation
9 9 import YYText
  10 +import HandyJSON
10 11 import CNLiveBusinessTools
11 12 //!!!: 评论相关 model
12 13 class ShortVideoHomeCommentModel: BaseModel {
... ... @@ -56,9 +57,30 @@ class ShortVideoHomeCommentFListModel: BaseModel {
56 57 var textLayout: YYTextLayout!
57 58 var cellH: CGFloat! = 0
58 59  
  60 +// override func mapping(mapper: HelpingMapper) {
  61 +// mapper <<<
  62 +// self.content <-- TransformOf(fromJSON: { (raw) -> String in
  63 +// if raw!.count > 0 {
  64 +// let modifier = CNLiveShortVideoMateCodeLinePositionModifier(font: medium_adapt_font(pointSize: 16), paddingTop: 5, paddingBottom: 5, lineHeightMultiple: 2)
  65 +// let comment = CNLiveBusinessTools.replaceQQemoji(withCustomText: self.content ?? "")
  66 +// let attributes = NSMutableAttributedString(attributedString: comment)
  67 +// attributes.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.white, range: NSRange(location: 0, length: comment.length))
  68 +// attributes.addAttribute(NSAttributedString.Key.font, value: medium_adapt_font(pointSize: 16), range: NSRange(location: 0, length: comment.length))
  69 +// let textContainer = YYTextContainer(size: CGSize(width: KSreenWidth-80, height: CGFloat(HUGE)))
  70 +// textContainer.linePositionModifier = modifier;
  71 +// let textLayout = YYTextLayout(container: textContainer, text: attributes)
  72 +// self.textLayout = textLayout
  73 +// self.cellH = 70 + (textLayout?.textBoundingRect.size.height ?? 0)
  74 +// }
  75 +// return raw!
  76 +// }, toJSON: { (tuple) -> String? in
  77 +// return tuple
  78 +// });
  79 +// }
  80 +
59 81 override func didFinishMapping() {
60 82 super.didFinishMapping()
61   -
  83 +
62 84 let modifier = CNLiveShortVideoMateCodeLinePositionModifier(font: medium_adapt_font(pointSize: 16), paddingTop: 5, paddingBottom: 5, lineHeightMultiple: 2)
63 85 let comment = CNLiveBusinessTools.replaceQQemoji(withCustomText: self.content ?? "")
64 86 let attributes = NSMutableAttributedString(attributedString: comment)
... ...
metaCode/Classes/Main/VideoPage/View/CNLiveShortVideoCommentListView.swift
... ... @@ -13,6 +13,8 @@ import Kingfisher
13 13 import YYText
14 14 import APButton
15 15 typealias CloseCommentListResultBlock = (_ commentModel: Any) ->Void
  16 +typealias ReloadCommentListResultBlock = (_ commentModel: Any) ->Void
  17 +typealias DeleteCommentListResultBlock = (_ commentModel: Any) ->Void
16 18 class CNLiveShortVideoCommentListView: UIView, UITableViewDelegate, UITableViewDataSource, EmptyDataSetSource, EmptyDataSetDelegate {
17 19  
18 20 lazy var grayMaskView: UIView = {
... ... @@ -219,11 +221,10 @@ class CNLiveShortVideoCommentListView: UIView, UITableViewDelegate, UITableViewD
219 221 }
220 222  
221 223 @objc func sendCommentAction(button: UIButton) {
222   -
223 224 CNLiveContentToolTextView.showCommentViewForCustom(withCommType: .comment, fromNick: "", firstRespFace: button == self.emjButton, successBlcok: {[weak self] commentString, toolbarView in
224 225 guard let self = self else { return }
225   - print("评论内容\(commentString ?? "")")
226   - CNLiveShortVideoViewModel.requestCommentWithSend(videoId: self.videoId, comment: commentString ?? "", isAuthor: UserInfoManager.shared.userInfo.uid == self.contentSid) { result, respStatue in
  226 + CNLiveShortVideoViewModel.requestCommentWithSend(videoId: self.videoId, comment: commentString ?? "", isAuthor: UserInfoManager.shared.userInfo.uid == self.contentSid) {[weak self] result, respStatue in
  227 + guard let self = self else { return }
227 228 if respStatue == .success {
228 229 showMessage(message: result as! String)
229 230 self.tableView.mj_header?.beginRefreshing()
... ... @@ -264,6 +265,17 @@ extension CNLiveShortVideoCommentListView {
264 265 return CNLiveShortVideoCommentListTableViewCell()
265 266 }
266 267 cell.setupWithDataSource(commentData: (dataArray[indexPath.row] as! ShortVideoHomeCommentListModel).comment, replyData: (dataArray[indexPath.row] as! ShortVideoHomeCommentListModel).replyData, tableView_h: (dataArray[indexPath.row] as! ShortVideoHomeCommentListModel).tableView_h)
  268 + cell.reloadBlcok = {[weak self] commentModel in
  269 + guard let self = self else { return }
  270 + self.tableView.mj_header?.beginRefreshing()
  271 + }
  272 + cell.deleteBlock = {[weak self] commentModel in
  273 + guard let self = self else { return }
  274 + self.dataArray.remove(commentModel)
  275 + self.tableView.deleteRows(at: [indexPath], with: .automatic)
  276 + }
  277 + cell.videoId = videoId
  278 + cell.contentSid = contentSid
267 279 return cell
268 280 }
269 281 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
... ... @@ -279,7 +291,7 @@ extension CNLiveShortVideoCommentListView {
279 291 }
280 292 }
281 293  
282   -class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource {
  294 +class CNLiveShortVideoCommentListTableViewCell: UITableViewCell , UITableViewDelegate, UITableViewDataSource {
283 295  
284 296 lazy var iconView: UIImageView = {
285 297 let imageView = UIImageView.init()
... ... @@ -312,6 +324,9 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
312 324 commentLabel.textVerticalAlignment = .center
313 325 commentLabel.textContainerInset = UIEdgeInsets.zero
314 326 commentLabel.isUserInteractionEnabled = true
  327 + let longPressGestureRecognizer = UILongPressGestureRecognizer.init(target: self, action: #selector(longPressGestureRecognizerAction))
  328 + longPressGestureRecognizer.minimumPressDuration = 0.5
  329 + commentLabel.addGestureRecognizer(longPressGestureRecognizer)
315 330 return commentLabel
316 331 }()
317 332  
... ... @@ -336,7 +351,7 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
336 351 lazy var likeButton: QMUIButton = {
337 352 let button = QMUIButton()
338 353 button.imagePosition = .left
339   - button.spacingBetweenImageAndTitle = 2.5
  354 + button.spacingBetweenImageAndTitle = 0
340 355 button.setTitleColor(UIColor.white, for: .normal)
341 356 button.setTitle("0", for: .normal)
342 357 button.imageView?.contentMode = .scaleAspectFit
... ... @@ -362,6 +377,10 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
362 377 return tableView
363 378 }()
364 379  
  380 + var videoId: String!
  381 + var contentSid: String!
  382 + var deleteBlock: DeleteCommentListResultBlock!
  383 + var reloadBlcok: ReloadCommentListResultBlock!
365 384 var commentModel: ShortVideoHomeCommentFListModel!
366 385 var replyModel: ShortVideoHomeCommentRListModel!
367 386 var replyItemModel: ShortVideoHomeCommentRListItemModel!
... ... @@ -371,12 +390,11 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
371 390 contentView.backgroundColor = .clear
372 391 backgroundColor = .clear
373 392 selectionStyle = .none
374   - let isReply = reuseIdentifier == kShortVideoReplyListTableViewCellIdentifier
375 393  
376 394 contentView.addSubview(iconView)
377 395 iconView.snp.makeConstraints { make in
378 396 make.top.equalToSuperview().offset(10)
379   - make.left.equalToSuperview().offset(isReply ? 0 : 10)
  397 + make.left.equalToSuperview().offset(10)
380 398 make.size.equalTo(40)
381 399 }
382 400 contentView.addSubview(titleLabel)
... ... @@ -395,13 +413,9 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
395 413 }
396 414 contentView.addSubview(likeButton)
397 415 likeButton.snp.makeConstraints { make in
398   - if isReply {
399   - make.right.equalToSuperview()
400   - } else {
401   - make.right.equalToSuperview().offset(-10)
402   - }
  416 + make.right.equalToSuperview().offset(-10)
403 417 make.height.equalTo(20)
404   - make.width.equalTo(30)
  418 + make.width.equalTo(50)
405 419 make.top.equalTo(commentLabel.snp.bottom).offset(10)
406 420 }
407 421 contentView.addSubview(timeLabel)
... ... @@ -418,12 +432,8 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
418 432 make.top.equalTo(commentLabel.snp.bottom).offset(10)
419 433 }
420 434 contentView.addSubview(tableView)
421   - tableView.snp.makeConstraints { make in
422   - make.left.equalToSuperview().offset(60)
423   - make.right.equalToSuperview()
424   - make.top.equalTo(timeLabel.snp.bottom).offset(10)
425   - make.height.equalTo(0.01)
426   - }
  435 +
  436 +
427 437 }
428 438  
429 439 func setupWithDataSource(commentData: ShortVideoHomeCommentFListModel, replyData: ShortVideoHomeCommentRListModel, tableView_h: CGFloat) {
... ... @@ -444,19 +454,21 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
444 454 make.right.equalToSuperview().offset(-10)
445 455 make.height.equalTo(commentData.textLayout.textBoundingRect.size.height)
446 456 }
447   - }
448   - if replyData.replys.count > 0 {
449   - tableView.reloadData()
450   - tableView.snp.remakeConstraints { make in
451   - make.left.equalToSuperview().offset(60)
452   - make.right.equalToSuperview()
453   - make.top.equalTo(timeLabel.snp.bottom).offset(10)
454   - make.height.equalTo(tableView_h)
  457 + self.tableView.removeFromSuperview()
  458 + if replyData.replys.count > 0 {
  459 + self.contentView.addSubview(self.tableView)
  460 + self.tableView.snp.makeConstraints { make in
  461 + make.left.equalToSuperview().offset(60)
  462 + make.right.equalToSuperview().offset(-10)
  463 + make.top.equalTo(self.timeLabel.snp.bottom).offset(10)
  464 + make.height.equalTo(tableView_h)
  465 + }
455 466 }
456 467 }
457 468 }
458 469  
459   - func setupWithReplyModel( replyModel: ShortVideoHomeCommentRListItemModel) {
  470 + func setupWithReplyModel(replyModel: ShortVideoHomeCommentRListItemModel) {
  471 + replyItemModel = replyModel
460 472 iconView.kf.indicatorType = .activity
461 473 iconView.kf.setImage(with: URL(string: replyModel.fromFace!), placeholder: UIImage(named: "short_video_default"))
462 474 titleLabel.text = replyModel.fromNick
... ... @@ -474,24 +486,35 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
474 486 }
475 487 }
476 488 }
477   -
478   - @objc func likeActionMethod() {
479 489  
480   - }
481   -
482 490 @objc func replyMethod() {
483 491 CNLiveContentToolTextView.showCommentViewForCustom(withCommType: .reply, fromNick: commentModel == nil ? replyItemModel.fromNick : commentModel.nick, firstRespFace: false, successBlcok: {[weak self] commentString, toolbarView in
484 492 guard let self = self else { return }
485   - CNLiveShortVideoViewModel.requestCommentWithReply(commentId: self.commentModel.commentId!, comment: commentString ?? "", toSid: commentModel.uid!, fromSid: UserInfoManager.shared.userInfo.uid, level: "1") { result, respStatue in
  493 + CNLiveShortVideoViewModel.requestCommentWithReply(commentId: self.commentModel.commentId!, comment: commentString ?? "", toSid: commentModel.uid!, fromSid: UserInfoManager.shared.userInfo.uid, level: "1") {[weak self] result, respStatue in
  494 + guard let self = self else { return }
486 495 if respStatue == .success {
487 496 showMessage(message: result as! String)
488   - var replyItemModel = ShortVideoHomeCommentRListItemModel()
489   -
  497 + self.reloadBlcok(self.commentModel == nil ? replyItemModel! : commentModel!)
490 498 }
491 499 }
492   - }, dissBlock: { toolbarView in
493   -
494   - })
  500 + }, dissBlock: { toolbarView in})
  501 + }
  502 +
  503 + @objc func longPressGestureRecognizerAction(gestureRecognizer: UIGestureRecognizer) {
  504 + if gestureRecognizer.state == .began {
  505 + if commentModel.uid == UserInfoManager.shared.userInfo.uid || contentSid == UserInfoManager.shared.userInfo.uid {
  506 + CNLiveShortVideoViewModel.requestCommentDelete(videoId: videoId, commentId: commentModel.commentId!) {[weak self] result, respStatue in
  507 + guard let self = self else { return }
  508 + if respStatue == .success {
  509 + self.deleteBlock(self.commentModel!)
  510 + }
  511 + }
  512 + }
  513 + }
  514 + }
  515 +
  516 + @objc func likeActionMethod() {
  517 +
495 518 }
496 519  
497 520 required init?(coder: NSCoder) {
... ... @@ -500,7 +523,7 @@ class CNLiveShortVideoCommentListTableViewCell: UITableViewCell, UITableViewDele
500 523 }
501 524  
502 525 extension CNLiveShortVideoCommentListTableViewCell {
503   -
  526 +
504 527 func numberOfSections(in tableView: UITableView) -> Int {
505 528 return 1
506 529 }
... ...
metaCode/Classes/Other/AppDelegate.swift
... ... @@ -8,6 +8,7 @@
8 8 import UIKit
9 9 import CNLiveRequestBastKit
10 10 import IQKeyboardManagerSwift
  11 +//import CNLiveShareToolKit
11 12  
12 13 @main
13 14 class AppDelegate: UIResponder, UIApplicationDelegate {
... ... @@ -17,6 +18,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
17 18 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
18 19  
19 20 // Override point for customization after application launch.
  21 + //tencentAppId wxAppId
  22 +// CNLiveShareManager.registeredShareView(whenDidFinishLaunch: universalLinkURL, appId: APPId, tencentAppId: "", wxAppId: "", wxSecret: "", weiBoAppId: "")
  23 +
20 24 CNLiveNetworking.networkStatus { status in
21 25  
22 26 if(status == .notReachable){
... ... @@ -78,5 +82,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
78 82 CNLiveNetworking.setResponseSerializerType(.JSON)
79 83 CNLiveNetworking.setupBaseURL(APPLoginHost)
80 84 }
  85 +
  86 +// func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
  87 +// CNLiveShareManager.handleOpenUniversalLink(userActivity)
  88 +// return true
  89 +// }
  90 +//
  91 +// func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
  92 +// CNLiveShareManager.handleOpen(url)
  93 +// return true
  94 +// }
81 95 }
82 96  
... ...
metaCode/Classes/Vendors/metaCode-Bridging-Header.h
... ... @@ -4,3 +4,6 @@
4 4  
5 5 #import "WJColorChange.h"
6 6 #import "NewPagedFlowView.h"
  7 +
  8 +#import <WXApi.h>
  9 +#import <WXApiObject.h>
... ...
metaCode/Info.plist
... ... @@ -8,6 +8,39 @@
8 8 <array>
9 9 <string>zh_CN</string>
10 10 </array>
  11 + <key>CFBundleURLTypes</key>
  12 + <array>
  13 + <dict>
  14 + <key>CFBundleTypeRole</key>
  15 + <string>Editor</string>
  16 + <key>CFBundleURLName</key>
  17 + <string>微信</string>
  18 + <key>CFBundleURLSchemes</key>
  19 + <array>
  20 + <string>wx82209bed331a549b</string>
  21 + </array>
  22 + </dict>
  23 + <dict>
  24 + <key>CFBundleTypeRole</key>
  25 + <string>Editor</string>
  26 + <key>CFBundleURLName</key>
  27 + <string>QQ</string>
  28 + <key>CFBundleURLSchemes</key>
  29 + <array>
  30 + <string>tencent1112336586</string>
  31 + </array>
  32 + </dict>
  33 + <dict>
  34 + <key>CFBundleTypeRole</key>
  35 + <string>Editor</string>
  36 + <key>CFBundleURLName</key>
  37 + <string>QQ</string>
  38 + <key>CFBundleURLSchemes</key>
  39 + <array>
  40 + <string>QQ424ce8ca</string>
  41 + </array>
  42 + </dict>
  43 + </array>
11 44 <key>NSAppTransportSecurity</key>
12 45 <dict>
13 46 <key>NSAllowsArbitraryLoads</key>
... ... @@ -20,5 +53,31 @@
20 53 <key>UIApplicationSupportsMultipleScenes</key>
21 54 <false/>
22 55 </dict>
  56 + <key>LSApplicationQueriesSchemes</key>
  57 + <array>
  58 + <string>wechat</string>
  59 + <string>weixin</string>
  60 + <string>weixinULAPI</string>
  61 +
  62 + <string>mqqOpensdkSSoLogin</string>
  63 + <string>mqqopensdkapiV2</string>
  64 + <string>mqqopensdkapiV3</string>
  65 + <string>wtloginmqq2</string>
  66 + <string>mqq</string>
  67 + <string>mqqapi</string>
  68 + <string>timapi</string>
  69 + <string>mqqopensdkminiapp</string>
  70 + <string>mqqopensdknopasteboard</string>
  71 + <string>mqqopensdkapiV4</string>
  72 +
  73 + <string>mqzoneopensdk</string>
  74 + <string>mqzoneopensdkapi</string>
  75 + <string>mqzoneopensdkapi19</string>
  76 + <string>mqzoneopensdkapiV2</string>
  77 + <string>mqqOpensdkSSoLogin</string>
  78 + <string>mqqwpa</string>
  79 + <string>mqzone</string>
  80 + <string>mqqopensdkminiapp</string>
  81 + </array>
23 82 </dict>
24 83 </plist>
... ...
metaCode/metaCode.entitlements 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>com.apple.developer.associated-domains</key>
  6 + <array>
  7 + <string>applinks:metacode.cnlive.com</string>
  8 + </array>
  9 +</dict>
  10 +</plist>
... ...
metaCodeTests/metaCodeTests.swift deleted 100644 → 0
1   -//
2   -// metaCodeTests.swift
3   -// metaCodeTests
4   -//
5   -// Created by iOS on 2023/5/30.
6   -//
7   -
8   -import XCTest
9   -@testable import metaCode
10   -
11   -class metaCodeTests: XCTestCase {
12   -
13   - override func setUpWithError() throws {
14   - // Put setup code here. This method is called before the invocation of each test method in the class.
15   - }
16   -
17   - override func tearDownWithError() throws {
18   - // Put teardown code here. This method is called after the invocation of each test method in the class.
19   - }
20   -
21   - func testExample() throws {
22   - // This is an example of a functional test case.
23   - // Use XCTAssert and related functions to verify your tests produce the correct results.
24   - // Any test you write for XCTest can be annotated as throws and async.
25   - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
26   - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
27   - }
28   -
29   - func testPerformanceExample() throws {
30   - // This is an example of a performance test case.
31   - self.measure {
32   - // Put the code you want to measure the time of here.
33   - }
34   - }
35   -
36   -}
metaCodeUITests/metaCodeUITests.swift deleted 100644 → 0
1   -//
2   -// metaCodeUITests.swift
3   -// metaCodeUITests
4   -//
5   -// Created by iOS on 2023/5/30.
6   -//
7   -
8   -import XCTest
9   -
10   -class metaCodeUITests: XCTestCase {
11   -
12   - override func setUpWithError() throws {
13   - // Put setup code here. This method is called before the invocation of each test method in the class.
14   -
15   - // In UI tests it is usually best to stop immediately when a failure occurs.
16   - continueAfterFailure = false
17   -
18   - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
19   - }
20   -
21   - override func tearDownWithError() throws {
22   - // Put teardown code here. This method is called after the invocation of each test method in the class.
23   - }
24   -
25   - func testExample() throws {
26   - // UI tests must launch the application that they test.
27   - let app = XCUIApplication()
28   - app.launch()
29   -
30   - // Use XCTAssert and related functions to verify your tests produce the correct results.
31   - }
32   -
33   - func testLaunchPerformance() throws {
34   - if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
35   - // This measures how long it takes to launch your application.
36   - measure(metrics: [XCTApplicationLaunchMetric()]) {
37   - XCUIApplication().launch()
38   - }
39   - }
40   - }
41   -}
metaCodeUITests/metaCodeUITestsLaunchTests.swift deleted 100644 → 0
1   -//
2   -// metaCodeUITestsLaunchTests.swift
3   -// metaCodeUITests
4   -//
5   -// Created by iOS on 2023/5/30.
6   -//
7   -
8   -import XCTest
9   -
10   -class metaCodeUITestsLaunchTests: XCTestCase {
11   -
12   - override class var runsForEachTargetApplicationUIConfiguration: Bool {
13   - true
14   - }
15   -
16   - override func setUpWithError() throws {
17   - continueAfterFailure = false
18   - }
19   -
20   - func testLaunch() throws {
21   - let app = XCUIApplication()
22   - app.launch()
23   -
24   - // Insert steps here to perform after app launch but before taking a screenshot,
25   - // such as logging into a test account or navigating somewhere in the app
26   -
27   - let attachment = XCTAttachment(screenshot: app.screenshot())
28   - attachment.name = "Launch Screen"
29   - attachment.lifetime = .keepAlways
30   - add(attachment)
31   - }
32   -}