1.1.6 首页charts插入
This commit is contained in:
parent
724e8c2c9f
commit
a5f6bbdc91
2
Podfile
2
Podfile
@ -29,4 +29,6 @@ pod "DownloadButton"
|
|||||||
pod 'Tiercel'
|
pod 'Tiercel'
|
||||||
#文本跑马灯
|
#文本跑马灯
|
||||||
pod 'MarqueeLabel'
|
pod 'MarqueeLabel'
|
||||||
|
#广告组
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -57,6 +57,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftDate: 72d28954e8e1c6c1c0f917ccc8005e4f83c7d4b2
|
SwiftDate: 72d28954e8e1c6c1c0f917ccc8005e4f83c7d4b2
|
||||||
Tiercel: c0a73f876a72800333b15f4e7e48791f4ad21e90
|
Tiercel: c0a73f876a72800333b15f4e7e48791f4ad21e90
|
||||||
|
|
||||||
PODFILE CHECKSUM: 0dbe586b5221e955924da76b16705e9638055ea1
|
PODFILE CHECKSUM: a6a950e98b8cead689397a03a4720306543eb266
|
||||||
|
|
||||||
COCOAPODS: 1.15.2
|
COCOAPODS: 1.15.2
|
||||||
|
|||||||
2
Pods/Manifest.lock
generated
2
Pods/Manifest.lock
generated
@ -57,6 +57,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftDate: 72d28954e8e1c6c1c0f917ccc8005e4f83c7d4b2
|
SwiftDate: 72d28954e8e1c6c1c0f917ccc8005e4f83c7d4b2
|
||||||
Tiercel: c0a73f876a72800333b15f4e7e48791f4ad21e90
|
Tiercel: c0a73f876a72800333b15f4e7e48791f4ad21e90
|
||||||
|
|
||||||
PODFILE CHECKSUM: 0dbe586b5221e955924da76b16705e9638055ea1
|
PODFILE CHECKSUM: a6a950e98b8cead689397a03a4720306543eb266
|
||||||
|
|
||||||
COCOAPODS: 1.15.2
|
COCOAPODS: 1.15.2
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-resources.sh
|
|
||||||
${PODS_CONFIGURATION_BUILD_DIR}/Google-Mobile-Ads-SDK/GoogleMobileAdsResources.bundle
|
|
||||||
${PODS_CONFIGURATION_BUILD_DIR}/GoogleUserMessagingPlatform/UserMessagingPlatformResources.bundle
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMobileAdsResources.bundle
|
|
||||||
${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/UserMessagingPlatformResources.bundle
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-resources.sh
|
|
||||||
${PODS_CONFIGURATION_BUILD_DIR}/Google-Mobile-Ads-SDK/GoogleMobileAdsResources.bundle
|
|
||||||
${PODS_CONFIGURATION_BUILD_DIR}/GoogleUserMessagingPlatform/UserMessagingPlatformResources.bundle
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMobileAdsResources.bundle
|
|
||||||
${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/UserMessagingPlatformResources.bundle
|
|
||||||
@ -1,131 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
function on_error {
|
|
||||||
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
|
|
||||||
}
|
|
||||||
trap 'on_error $LINENO' ERR
|
|
||||||
|
|
||||||
if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
|
|
||||||
# If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
|
|
||||||
# resources to, so exit 0 (signalling the script phase was successful).
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
|
||||||
|
|
||||||
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
|
||||||
> "$RESOURCES_TO_COPY"
|
|
||||||
|
|
||||||
XCASSET_FILES=()
|
|
||||||
|
|
||||||
# This protects against multiple targets copying the same framework dependency at the same time. The solution
|
|
||||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
|
||||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
|
||||||
|
|
||||||
case "${TARGETED_DEVICE_FAMILY:-}" in
|
|
||||||
1,2)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device iphone"
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device tv"
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device watch"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
install_resource()
|
|
||||||
{
|
|
||||||
if [[ "$1" = /* ]] ; then
|
|
||||||
RESOURCE_PATH="$1"
|
|
||||||
else
|
|
||||||
RESOURCE_PATH="${PODS_ROOT}/$1"
|
|
||||||
fi
|
|
||||||
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
|
||||||
cat << EOM
|
|
||||||
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
|
||||||
EOM
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
case $RESOURCE_PATH in
|
|
||||||
*.storyboard)
|
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
|
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
|
||||||
;;
|
|
||||||
*.xib)
|
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
|
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
|
||||||
;;
|
|
||||||
*.framework)
|
|
||||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
|
|
||||||
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
|
||||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
|
|
||||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
|
||||||
;;
|
|
||||||
*.xcdatamodel)
|
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true
|
|
||||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
|
||||||
;;
|
|
||||||
*.xcdatamodeld)
|
|
||||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true
|
|
||||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
|
||||||
;;
|
|
||||||
*.xcmappingmodel)
|
|
||||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true
|
|
||||||
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
|
||||||
;;
|
|
||||||
*.xcassets)
|
|
||||||
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
|
||||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "$RESOURCE_PATH" || true
|
|
||||||
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
|
||||||
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/Google-Mobile-Ads-SDK/GoogleMobileAdsResources.bundle"
|
|
||||||
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUserMessagingPlatform/UserMessagingPlatformResources.bundle"
|
|
||||||
fi
|
|
||||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
|
||||||
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/Google-Mobile-Ads-SDK/GoogleMobileAdsResources.bundle"
|
|
||||||
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUserMessagingPlatform/UserMessagingPlatformResources.bundle"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
|
||||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
|
||||||
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
|
||||||
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
|
||||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
|
||||||
fi
|
|
||||||
rm -f "$RESOURCES_TO_COPY"
|
|
||||||
|
|
||||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
|
|
||||||
then
|
|
||||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
|
||||||
OTHER_XCASSETS=$(find -L "$PWD" -iname "*.xcassets" -type d)
|
|
||||||
while read line; do
|
|
||||||
if [[ $line != "${PODS_ROOT}*" ]]; then
|
|
||||||
XCASSET_FILES+=("$line")
|
|
||||||
fi
|
|
||||||
done <<<"$OTHER_XCASSETS"
|
|
||||||
|
|
||||||
if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
|
|
||||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
|
||||||
else
|
|
||||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
@ -7,8 +7,7 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
46C4D5B84AF3CA6292152C70 /* Pods_relax_offline_mp3_music.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DB1E9160CFEC3A0E35F11BF /* Pods_relax_offline_mp3_music.framework */; };
|
82F33EC0D64393B7AAD72A45 /* Pods_relax_offline_mp3_music.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 10D55D4705A4D9E0F0805527 /* Pods_relax_offline_mp3_music.framework */; };
|
||||||
CB000F442C12AD2300B0FC0A /* GoogleMobileAds in Frameworks */ = {isa = PBXBuildFile; productRef = CB000F432C12AD2300B0FC0A /* GoogleMobileAds */; };
|
|
||||||
CB0033F02C290AC200B18FD3 /* MPPositive_CustomPlayListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0033EF2C290AC200B18FD3 /* MPPositive_CustomPlayListViewModel.swift */; };
|
CB0033F02C290AC200B18FD3 /* MPPositive_CustomPlayListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0033EF2C290AC200B18FD3 /* MPPositive_CustomPlayListViewModel.swift */; };
|
||||||
CB0033F22C291C7700B18FD3 /* MPPositive_CollectionListsShowTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0033F12C291C7700B18FD3 /* MPPositive_CollectionListsShowTypeView.swift */; };
|
CB0033F22C291C7700B18FD3 /* MPPositive_CollectionListsShowTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0033F12C291C7700B18FD3 /* MPPositive_CollectionListsShowTypeView.swift */; };
|
||||||
CB0033F42C294DBF00B18FD3 /* MPPositive_CustomPlayListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0033F32C294DBF00B18FD3 /* MPPositive_CustomPlayListViewController.swift */; };
|
CB0033F42C294DBF00B18FD3 /* MPPositive_CustomPlayListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0033F32C294DBF00B18FD3 /* MPPositive_CustomPlayListViewController.swift */; };
|
||||||
@ -26,7 +25,6 @@
|
|||||||
CB2CAAD42C59DC1100EF691D /* MPPositive_TrashListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB2CAAD32C59DC1100EF691D /* MPPositive_TrashListModel.swift */; };
|
CB2CAAD42C59DC1100EF691D /* MPPositive_TrashListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB2CAAD32C59DC1100EF691D /* MPPositive_TrashListModel.swift */; };
|
||||||
CB2CAAD72C5A1AC500EF691D /* MP_IAPViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CB2CAAD62C5A1AC500EF691D /* MP_IAPViewController.xib */; };
|
CB2CAAD72C5A1AC500EF691D /* MP_IAPViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CB2CAAD62C5A1AC500EF691D /* MP_IAPViewController.xib */; };
|
||||||
CB2CAAD82C5A1AC500EF691D /* MP_IAPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB2CAAD52C5A1AC500EF691D /* MP_IAPViewController.swift */; };
|
CB2CAAD82C5A1AC500EF691D /* MP_IAPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB2CAAD52C5A1AC500EF691D /* MP_IAPViewController.swift */; };
|
||||||
CB4FA4D92C5CDC4A0027C949 /* relax.offline.mp3.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = CB4FA4D72C5CDC4A0027C949 /* relax.offline.mp3.xcdatamodeld */; };
|
|
||||||
CB6EEB8E2C5DFE6100AEC414 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB6EEB8D2C5DFE6100AEC414 /* StoreKit.framework */; };
|
CB6EEB8E2C5DFE6100AEC414 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB6EEB8D2C5DFE6100AEC414 /* StoreKit.framework */; };
|
||||||
CB7FC5422C2AA01F00292A43 /* FacebookAEM in Frameworks */ = {isa = PBXBuildFile; productRef = CB7FC5412C2AA01F00292A43 /* FacebookAEM */; };
|
CB7FC5422C2AA01F00292A43 /* FacebookAEM in Frameworks */ = {isa = PBXBuildFile; productRef = CB7FC5412C2AA01F00292A43 /* FacebookAEM */; };
|
||||||
CB7FC5442C2AA01F00292A43 /* FacebookBasics in Frameworks */ = {isa = PBXBuildFile; productRef = CB7FC5432C2AA01F00292A43 /* FacebookBasics */; };
|
CB7FC5442C2AA01F00292A43 /* FacebookBasics in Frameworks */ = {isa = PBXBuildFile; productRef = CB7FC5432C2AA01F00292A43 /* FacebookBasics */; };
|
||||||
@ -255,12 +253,15 @@
|
|||||||
CBDBDDF22C40C40900767F0B /* MPPositive_GridLoadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDBDDF12C40C40900767F0B /* MPPositive_GridLoadViewModel.swift */; };
|
CBDBDDF22C40C40900767F0B /* MPPositive_GridLoadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDBDDF12C40C40900767F0B /* MPPositive_GridLoadViewModel.swift */; };
|
||||||
CBDBDDF42C40D03F00767F0B /* MPPositive_SearchGrideCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDBDDF32C40D03F00767F0B /* MPPositive_SearchGrideCollectionViewCell.swift */; };
|
CBDBDDF42C40D03F00767F0B /* MPPositive_SearchGrideCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDBDDF32C40D03F00767F0B /* MPPositive_SearchGrideCollectionViewCell.swift */; };
|
||||||
CBDBDDF62C40FFC600767F0B /* MPPositive_GrideMoodViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDBDDF52C40FFC600767F0B /* MPPositive_GrideMoodViewController.swift */; };
|
CBDBDDF62C40FFC600767F0B /* MPPositive_GrideMoodViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDBDDF52C40FFC600767F0B /* MPPositive_GrideMoodViewController.swift */; };
|
||||||
|
CBDC4A292C61B88300960649 /* relax.offline.mp3.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = CBDC4A272C61B88300960649 /* relax.offline.mp3.xcdatamodeld */; };
|
||||||
|
CBDC4A402C6219EF00960649 /* GoogleMobileAds in Frameworks */ = {isa = PBXBuildFile; productRef = CBDC4A3F2C6219EF00960649 /* GoogleMobileAds */; };
|
||||||
CBF3AEDA2C255B1200947AFC /* MPPositive_PlayListsShowTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBF3AED92C255B1200947AFC /* MPPositive_PlayListsShowTypeView.swift */; };
|
CBF3AEDA2C255B1200947AFC /* MPPositive_PlayListsShowTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBF3AED92C255B1200947AFC /* MPPositive_PlayListsShowTypeView.swift */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
5D0F6D7469D3B1668D7B52D9 /* Pods-relax.offline.mp3.music.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-relax.offline.mp3.music.release.xcconfig"; path = "Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music.release.xcconfig"; sourceTree = "<group>"; };
|
10D55D4705A4D9E0F0805527 /* Pods_relax_offline_mp3_music.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_relax_offline_mp3_music.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
8DB1E9160CFEC3A0E35F11BF /* Pods_relax_offline_mp3_music.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_relax_offline_mp3_music.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
4CEDA702C32CE777A8364913 /* Pods-relax.offline.mp3.music.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-relax.offline.mp3.music.debug.xcconfig"; path = "Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
52181392A4B967D8F80363A1 /* Pods-relax.offline.mp3.music.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-relax.offline.mp3.music.release.xcconfig"; path = "Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
CB0033EF2C290AC200B18FD3 /* MPPositive_CustomPlayListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CustomPlayListViewModel.swift; sourceTree = "<group>"; };
|
CB0033EF2C290AC200B18FD3 /* MPPositive_CustomPlayListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CustomPlayListViewModel.swift; sourceTree = "<group>"; };
|
||||||
CB0033F12C291C7700B18FD3 /* MPPositive_CollectionListsShowTypeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CollectionListsShowTypeView.swift; sourceTree = "<group>"; };
|
CB0033F12C291C7700B18FD3 /* MPPositive_CollectionListsShowTypeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CollectionListsShowTypeView.swift; sourceTree = "<group>"; };
|
||||||
CB0033F32C294DBF00B18FD3 /* MPPositive_CustomPlayListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CustomPlayListViewController.swift; sourceTree = "<group>"; };
|
CB0033F32C294DBF00B18FD3 /* MPPositive_CustomPlayListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CustomPlayListViewController.swift; sourceTree = "<group>"; };
|
||||||
@ -281,7 +282,6 @@
|
|||||||
CB2CAAD32C59DC1100EF691D /* MPPositive_TrashListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_TrashListModel.swift; sourceTree = "<group>"; };
|
CB2CAAD32C59DC1100EF691D /* MPPositive_TrashListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_TrashListModel.swift; sourceTree = "<group>"; };
|
||||||
CB2CAAD52C5A1AC500EF691D /* MP_IAPViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MP_IAPViewController.swift; sourceTree = "<group>"; };
|
CB2CAAD52C5A1AC500EF691D /* MP_IAPViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MP_IAPViewController.swift; sourceTree = "<group>"; };
|
||||||
CB2CAAD62C5A1AC500EF691D /* MP_IAPViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MP_IAPViewController.xib; sourceTree = "<group>"; };
|
CB2CAAD62C5A1AC500EF691D /* MP_IAPViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MP_IAPViewController.xib; sourceTree = "<group>"; };
|
||||||
CB4FA4D82C5CDC4A0027C949 /* MusicPlayer.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MusicPlayer.xcdatamodel; sourceTree = "<group>"; };
|
|
||||||
CB6EEB8D2C5DFE6100AEC414 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
CB6EEB8D2C5DFE6100AEC414 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
||||||
CB7FC5472C2AC25C00292A43 /* MPPositive_CenterListSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CenterListSearchView.swift; sourceTree = "<group>"; };
|
CB7FC5472C2AC25C00292A43 /* MPPositive_CenterListSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_CenterListSearchView.swift; sourceTree = "<group>"; };
|
||||||
CBAFC9F22C0A10500054500E /* MP_BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MP_BaseViewController.swift; sourceTree = "<group>"; };
|
CBAFC9F22C0A10500054500E /* MP_BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MP_BaseViewController.swift; sourceTree = "<group>"; };
|
||||||
@ -506,8 +506,8 @@
|
|||||||
CBDBDDF12C40C40900767F0B /* MPPositive_GridLoadViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_GridLoadViewModel.swift; sourceTree = "<group>"; };
|
CBDBDDF12C40C40900767F0B /* MPPositive_GridLoadViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_GridLoadViewModel.swift; sourceTree = "<group>"; };
|
||||||
CBDBDDF32C40D03F00767F0B /* MPPositive_SearchGrideCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_SearchGrideCollectionViewCell.swift; sourceTree = "<group>"; };
|
CBDBDDF32C40D03F00767F0B /* MPPositive_SearchGrideCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_SearchGrideCollectionViewCell.swift; sourceTree = "<group>"; };
|
||||||
CBDBDDF52C40FFC600767F0B /* MPPositive_GrideMoodViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_GrideMoodViewController.swift; sourceTree = "<group>"; };
|
CBDBDDF52C40FFC600767F0B /* MPPositive_GrideMoodViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_GrideMoodViewController.swift; sourceTree = "<group>"; };
|
||||||
|
CBDC4A282C61B88300960649 /* MusicPlayer.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MusicPlayer.xcdatamodel; sourceTree = "<group>"; };
|
||||||
CBF3AED92C255B1200947AFC /* MPPositive_PlayListsShowTypeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_PlayListsShowTypeView.swift; sourceTree = "<group>"; };
|
CBF3AED92C255B1200947AFC /* MPPositive_PlayListsShowTypeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPPositive_PlayListsShowTypeView.swift; sourceTree = "<group>"; };
|
||||||
EE70E1FE424F9A64CCD389DD /* Pods-relax.offline.mp3.music.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-relax.offline.mp3.music.debug.xcconfig"; path = "Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music.debug.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -517,14 +517,14 @@
|
|||||||
files = (
|
files = (
|
||||||
CB7FC5442C2AA01F00292A43 /* FacebookBasics in Frameworks */,
|
CB7FC5442C2AA01F00292A43 /* FacebookBasics in Frameworks */,
|
||||||
CB7FC5422C2AA01F00292A43 /* FacebookAEM in Frameworks */,
|
CB7FC5422C2AA01F00292A43 /* FacebookAEM in Frameworks */,
|
||||||
|
CBDC4A402C6219EF00960649 /* GoogleMobileAds in Frameworks */,
|
||||||
CBAFCBAD2C0A10DA0054500E /* FirebaseCrashlytics in Frameworks */,
|
CBAFCBAD2C0A10DA0054500E /* FirebaseCrashlytics in Frameworks */,
|
||||||
CBD4570D2C2EC38400CE766D /* AppTrackingTransparency.framework in Frameworks */,
|
CBD4570D2C2EC38400CE766D /* AppTrackingTransparency.framework in Frameworks */,
|
||||||
CBAFCBAB2C0A10DA0054500E /* FirebaseAnalytics in Frameworks */,
|
CBAFCBAB2C0A10DA0054500E /* FirebaseAnalytics in Frameworks */,
|
||||||
CB000F442C12AD2300B0FC0A /* GoogleMobileAds in Frameworks */,
|
|
||||||
46C4D5B84AF3CA6292152C70 /* Pods_relax_offline_mp3_music.framework in Frameworks */,
|
|
||||||
CB6EEB8E2C5DFE6100AEC414 /* StoreKit.framework in Frameworks */,
|
CB6EEB8E2C5DFE6100AEC414 /* StoreKit.framework in Frameworks */,
|
||||||
CBAFCBAF2C0A10DA0054500E /* FirebaseRemoteConfig in Frameworks */,
|
CBAFCBAF2C0A10DA0054500E /* FirebaseRemoteConfig in Frameworks */,
|
||||||
CB7FC5462C2AA01F00292A43 /* FacebookCore in Frameworks */,
|
CB7FC5462C2AA01F00292A43 /* FacebookCore in Frameworks */,
|
||||||
|
82F33EC0D64393B7AAD72A45 /* Pods_relax_offline_mp3_music.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -536,7 +536,7 @@
|
|||||||
children = (
|
children = (
|
||||||
CB6EEB8D2C5DFE6100AEC414 /* StoreKit.framework */,
|
CB6EEB8D2C5DFE6100AEC414 /* StoreKit.framework */,
|
||||||
CBD4570C2C2EC38400CE766D /* AppTrackingTransparency.framework */,
|
CBD4570C2C2EC38400CE766D /* AppTrackingTransparency.framework */,
|
||||||
8DB1E9160CFEC3A0E35F11BF /* Pods_relax_offline_mp3_music.framework */,
|
10D55D4705A4D9E0F0805527 /* Pods_relax_offline_mp3_music.framework */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -544,8 +544,8 @@
|
|||||||
96A499915F2622FAB880DA5B /* Pods */ = {
|
96A499915F2622FAB880DA5B /* Pods */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
EE70E1FE424F9A64CCD389DD /* Pods-relax.offline.mp3.music.debug.xcconfig */,
|
4CEDA702C32CE777A8364913 /* Pods-relax.offline.mp3.music.debug.xcconfig */,
|
||||||
5D0F6D7469D3B1668D7B52D9 /* Pods-relax.offline.mp3.music.release.xcconfig */,
|
52181392A4B967D8F80363A1 /* Pods-relax.offline.mp3.music.release.xcconfig */,
|
||||||
);
|
);
|
||||||
path = Pods;
|
path = Pods;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -598,7 +598,7 @@
|
|||||||
CBAFC9FB2C0A10500054500E /* DataBase */ = {
|
CBAFC9FB2C0A10500054500E /* DataBase */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
CB4FA4D72C5CDC4A0027C949 /* relax.offline.mp3.xcdatamodeld */,
|
CBDC4A272C61B88300960649 /* relax.offline.mp3.xcdatamodeld */,
|
||||||
);
|
);
|
||||||
path = DataBase;
|
path = DataBase;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1217,12 +1217,12 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = CBC2D6FF2BFDF3D800E17703 /* Build configuration list for PBXNativeTarget "relax.offline.mp3.music" */;
|
buildConfigurationList = CBC2D6FF2BFDF3D800E17703 /* Build configuration list for PBXNativeTarget "relax.offline.mp3.music" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
CFEB2643ED606EF96359B55A /* [CP] Check Pods Manifest.lock */,
|
0445BFB07A72203603FD6CBA /* [CP] Check Pods Manifest.lock */,
|
||||||
CBC2D6E42BFDF3D700E17703 /* Sources */,
|
CBC2D6E42BFDF3D700E17703 /* Sources */,
|
||||||
CBC2D6E52BFDF3D700E17703 /* Frameworks */,
|
CBC2D6E52BFDF3D700E17703 /* Frameworks */,
|
||||||
CBC2D6E62BFDF3D700E17703 /* Resources */,
|
CBC2D6E62BFDF3D700E17703 /* Resources */,
|
||||||
B1C37032482F13ACE7C8DA99 /* [CP] Embed Pods Frameworks */,
|
|
||||||
0018BD0A2C1050F60066717C /* ShellScript */,
|
0018BD0A2C1050F60066717C /* ShellScript */,
|
||||||
|
4F340A16CA4CBC1A386EF0AF /* [CP] Embed Pods Frameworks */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -1233,10 +1233,10 @@
|
|||||||
CBAFCBAA2C0A10DA0054500E /* FirebaseAnalytics */,
|
CBAFCBAA2C0A10DA0054500E /* FirebaseAnalytics */,
|
||||||
CBAFCBAC2C0A10DA0054500E /* FirebaseCrashlytics */,
|
CBAFCBAC2C0A10DA0054500E /* FirebaseCrashlytics */,
|
||||||
CBAFCBAE2C0A10DA0054500E /* FirebaseRemoteConfig */,
|
CBAFCBAE2C0A10DA0054500E /* FirebaseRemoteConfig */,
|
||||||
CB000F432C12AD2300B0FC0A /* GoogleMobileAds */,
|
|
||||||
CB7FC5412C2AA01F00292A43 /* FacebookAEM */,
|
CB7FC5412C2AA01F00292A43 /* FacebookAEM */,
|
||||||
CB7FC5432C2AA01F00292A43 /* FacebookBasics */,
|
CB7FC5432C2AA01F00292A43 /* FacebookBasics */,
|
||||||
CB7FC5452C2AA01F00292A43 /* FacebookCore */,
|
CB7FC5452C2AA01F00292A43 /* FacebookCore */,
|
||||||
|
CBDC4A3F2C6219EF00960649 /* GoogleMobileAds */,
|
||||||
);
|
);
|
||||||
productName = relax.offline.mp3.music;
|
productName = relax.offline.mp3.music;
|
||||||
productReference = CBC2D6E82BFDF3D700E17703 /* relax.offline.mp3.music.app */;
|
productReference = CBC2D6E82BFDF3D700E17703 /* relax.offline.mp3.music.app */;
|
||||||
@ -1268,8 +1268,8 @@
|
|||||||
mainGroup = CBC2D6DF2BFDF3D700E17703;
|
mainGroup = CBC2D6DF2BFDF3D700E17703;
|
||||||
packageReferences = (
|
packageReferences = (
|
||||||
CBAFCBA92C0A10DA0054500E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
|
CBAFCBA92C0A10DA0054500E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
|
||||||
CB000F422C12AD2300B0FC0A /* XCRemoteSwiftPackageReference "swift-package-manager-google-mobile-ads" */,
|
|
||||||
CB7FC5402C2AA01F00292A43 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */,
|
CB7FC5402C2AA01F00292A43 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */,
|
||||||
|
CBDC4A3E2C6219EF00960649 /* XCRemoteSwiftPackageReference "swift-package-manager-google-mobile-ads" */,
|
||||||
);
|
);
|
||||||
productRefGroup = CBC2D6E92BFDF3D700E17703 /* Products */;
|
productRefGroup = CBC2D6E92BFDF3D700E17703 /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
@ -1356,24 +1356,7 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\n";
|
shellScript = "\"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\n";
|
||||||
};
|
};
|
||||||
B1C37032482F13ACE7C8DA99 /* [CP] Embed Pods Frameworks */ = {
|
0445BFB07A72203603FD6CBA /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-frameworks.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
CFEB2643ED606EF96359B55A /* [CP] Check Pods Manifest.lock */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -1395,6 +1378,23 @@
|
|||||||
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";
|
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";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
|
4F340A16CA4CBC1A386EF0AF /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
"${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputFileListPaths = (
|
||||||
|
"${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-relax.offline.mp3.music/Pods-relax.offline.mp3.music-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
@ -1411,6 +1411,7 @@
|
|||||||
CBD344DE2C3FD8230095F18F /* MPPositive_GridViewModel.swift in Sources */,
|
CBD344DE2C3FD8230095F18F /* MPPositive_GridViewModel.swift in Sources */,
|
||||||
CBAFCB622C0A10500054500E /* MPPositive_HomeListFirstCollectionViewCell.swift in Sources */,
|
CBAFCB622C0A10500054500E /* MPPositive_HomeListFirstCollectionViewCell.swift in Sources */,
|
||||||
CBAFCB112C0A10500054500E /* MP_PlayerManager.swift in Sources */,
|
CBAFCB112C0A10500054500E /* MP_PlayerManager.swift in Sources */,
|
||||||
|
CBDC4A292C61B88300960649 /* relax.offline.mp3.xcdatamodeld in Sources */,
|
||||||
CBAFCB582C0A10500054500E /* MPPositive_LibraryTableViewCell.swift in Sources */,
|
CBAFCB582C0A10500054500E /* MPPositive_LibraryTableViewCell.swift in Sources */,
|
||||||
CBAFCB222C0A10500054500E /* MPPositive_JsonSearchTypeResults.swift in Sources */,
|
CBAFCB222C0A10500054500E /* MPPositive_JsonSearchTypeResults.swift in Sources */,
|
||||||
CBAFCB492C0A10500054500E /* MPPositive_OfflineSongsViewController.swift in Sources */,
|
CBAFCB492C0A10500054500E /* MPPositive_OfflineSongsViewController.swift in Sources */,
|
||||||
@ -1439,7 +1440,6 @@
|
|||||||
CBAFCAF52C0A10500054500E /* CoreDataDelegete.swift in Sources */,
|
CBAFCAF52C0A10500054500E /* CoreDataDelegete.swift in Sources */,
|
||||||
CBAFCB5B2C0A10500054500E /* MPPositive_ArtistShowCollectionViewCell.swift in Sources */,
|
CBAFCB5B2C0A10500054500E /* MPPositive_ArtistShowCollectionViewCell.swift in Sources */,
|
||||||
CBAFCB182C0A10500054500E /* MPPositive_JsonArtistMore.swift in Sources */,
|
CBAFCB182C0A10500054500E /* MPPositive_JsonArtistMore.swift in Sources */,
|
||||||
CB4FA4D92C5CDC4A0027C949 /* relax.offline.mp3.xcdatamodeld in Sources */,
|
|
||||||
CBAFCB982C0A10500054500E /* MPSideA_CustomTabBarItem.swift in Sources */,
|
CBAFCB982C0A10500054500E /* MPSideA_CustomTabBarItem.swift in Sources */,
|
||||||
CBAFCB5D2C0A10500054500E /* MPPositive_ArtistShowListableViewCell.swift in Sources */,
|
CBAFCB5D2C0A10500054500E /* MPPositive_ArtistShowListableViewCell.swift in Sources */,
|
||||||
CBAFCB7D2C0A10500054500E /* MPSideA_PresentationController.swift in Sources */,
|
CBAFCB7D2C0A10500054500E /* MPSideA_PresentationController.swift in Sources */,
|
||||||
@ -1741,7 +1741,7 @@
|
|||||||
};
|
};
|
||||||
CBC2D7002BFDF3D800E17703 /* Debug */ = {
|
CBC2D7002BFDF3D800E17703 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = EE70E1FE424F9A64CCD389DD /* Pods-relax.offline.mp3.music.debug.xcconfig */;
|
baseConfigurationReference = 4CEDA702C32CE777A8364913 /* Pods-relax.offline.mp3.music.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
@ -1787,7 +1787,7 @@
|
|||||||
};
|
};
|
||||||
CBC2D7012BFDF3D800E17703 /* Release */ = {
|
CBC2D7012BFDF3D800E17703 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 5D0F6D7469D3B1668D7B52D9 /* Pods-relax.offline.mp3.music.release.xcconfig */;
|
baseConfigurationReference = 52181392A4B967D8F80363A1 /* Pods-relax.offline.mp3.music.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
@ -1855,14 +1855,6 @@
|
|||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
|
|
||||||
/* Begin XCRemoteSwiftPackageReference section */
|
/* Begin XCRemoteSwiftPackageReference section */
|
||||||
CB000F422C12AD2300B0FC0A /* XCRemoteSwiftPackageReference "swift-package-manager-google-mobile-ads" */ = {
|
|
||||||
isa = XCRemoteSwiftPackageReference;
|
|
||||||
repositoryURL = "https://github.com/googleads/swift-package-manager-google-mobile-ads.git";
|
|
||||||
requirement = {
|
|
||||||
kind = upToNextMajorVersion;
|
|
||||||
minimumVersion = 11.5.0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
CB7FC5402C2AA01F00292A43 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */ = {
|
CB7FC5402C2AA01F00292A43 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */ = {
|
||||||
isa = XCRemoteSwiftPackageReference;
|
isa = XCRemoteSwiftPackageReference;
|
||||||
repositoryURL = "https://github.com/facebook/facebook-ios-sdk";
|
repositoryURL = "https://github.com/facebook/facebook-ios-sdk";
|
||||||
@ -1879,14 +1871,17 @@
|
|||||||
minimumVersion = 10.27.0;
|
minimumVersion = 10.27.0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
CBDC4A3E2C6219EF00960649 /* XCRemoteSwiftPackageReference "swift-package-manager-google-mobile-ads" */ = {
|
||||||
|
isa = XCRemoteSwiftPackageReference;
|
||||||
|
repositoryURL = "https://github.com/googleads/swift-package-manager-google-mobile-ads.git";
|
||||||
|
requirement = {
|
||||||
|
kind = upToNextMajorVersion;
|
||||||
|
minimumVersion = 11.7.0;
|
||||||
|
};
|
||||||
|
};
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
CB000F432C12AD2300B0FC0A /* GoogleMobileAds */ = {
|
|
||||||
isa = XCSwiftPackageProductDependency;
|
|
||||||
package = CB000F422C12AD2300B0FC0A /* XCRemoteSwiftPackageReference "swift-package-manager-google-mobile-ads" */;
|
|
||||||
productName = GoogleMobileAds;
|
|
||||||
};
|
|
||||||
CB7FC5412C2AA01F00292A43 /* FacebookAEM */ = {
|
CB7FC5412C2AA01F00292A43 /* FacebookAEM */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
package = CB7FC5402C2AA01F00292A43 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
|
package = CB7FC5402C2AA01F00292A43 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
|
||||||
@ -1917,17 +1912,22 @@
|
|||||||
package = CBAFCBA92C0A10DA0054500E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
|
package = CBAFCBA92C0A10DA0054500E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
|
||||||
productName = FirebaseRemoteConfig;
|
productName = FirebaseRemoteConfig;
|
||||||
};
|
};
|
||||||
|
CBDC4A3F2C6219EF00960649 /* GoogleMobileAds */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
package = CBDC4A3E2C6219EF00960649 /* XCRemoteSwiftPackageReference "swift-package-manager-google-mobile-ads" */;
|
||||||
|
productName = GoogleMobileAds;
|
||||||
|
};
|
||||||
/* End XCSwiftPackageProductDependency section */
|
/* End XCSwiftPackageProductDependency section */
|
||||||
|
|
||||||
/* Begin XCVersionGroup section */
|
/* Begin XCVersionGroup section */
|
||||||
CB4FA4D72C5CDC4A0027C949 /* relax.offline.mp3.xcdatamodeld */ = {
|
CBDC4A272C61B88300960649 /* relax.offline.mp3.xcdatamodeld */ = {
|
||||||
isa = XCVersionGroup;
|
isa = XCVersionGroup;
|
||||||
children = (
|
children = (
|
||||||
CB4FA4D82C5CDC4A0027C949 /* MusicPlayer.xcdatamodel */,
|
CBDC4A282C61B88300960649 /* MusicPlayer.xcdatamodel */,
|
||||||
);
|
);
|
||||||
currentVersion = CB4FA4D82C5CDC4A0027C949 /* MusicPlayer.xcdatamodel */;
|
currentVersion = CBDC4A282C61B88300960649 /* MusicPlayer.xcdatamodel */;
|
||||||
name = relax.offline.mp3.xcdatamodeld;
|
name = relax.offline.mp3.xcdatamodeld;
|
||||||
path = "/Users/zhou/Desktop/纳克斯互娱/relax.offline.mp3.music/relax.offline.mp3.music/MP/Common/DataBase/relax.offline.mp3.xcdatamodeld";
|
path = "/Users/zhou/Desktop/纳克斯互娱/MusicLax/relax.offline.mp3.music/MP/Common/DataBase/relax.offline.mp3.xcdatamodeld";
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
versionGroupType = wrapper.xcdatamodel;
|
versionGroupType = wrapper.xcdatamodel;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -123,8 +123,8 @@
|
|||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads.git",
|
"location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads.git",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "2e4ae78561feac7192c5d8757464546adebb4c7d",
|
"revision" : "6457f9651bea0d62a548ac63fa9d34aae7d0488e",
|
||||||
"version" : "11.6.0"
|
"version" : "11.7.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
BIN
relax.offline.mp3.music.xcworkspace/xcuserdata/zhou.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
BIN
relax.offline.mp3.music.xcworkspace/xcuserdata/zhou.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
Binary file not shown.
@ -527,6 +527,59 @@ extension MP_NetWorkManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
///请求歌单排行榜(美国限定)
|
||||||
|
private func requestChartsUS() {
|
||||||
|
//拼接出browse路径
|
||||||
|
let path = header+point+browse
|
||||||
|
//设置url
|
||||||
|
guard let url = URL(string: path) else {
|
||||||
|
print("Url is Incorrect")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//异步执行任务
|
||||||
|
browseQueque?.sync {
|
||||||
|
[weak self] in
|
||||||
|
guard let self = self else { return }
|
||||||
|
let parameters:[String:Any] = [
|
||||||
|
"browseId": "FEmusic_charts",
|
||||||
|
"prettyPrint":"false",
|
||||||
|
"context":[
|
||||||
|
"client":[
|
||||||
|
//web端
|
||||||
|
"clientName": "WEB_REMIX",
|
||||||
|
//当前访问版本(日期值)
|
||||||
|
"clientVersion": clientVersion,
|
||||||
|
"platform":"MOBILE",
|
||||||
|
//语言
|
||||||
|
"hl":Language_first_local,
|
||||||
|
//地址
|
||||||
|
"gl":locaton ?? ""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"formData":[
|
||||||
|
"selectedValues":["US"]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
requestPostChartsUS(url, parameters: parameters)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///请求最后的排行数据
|
||||||
|
private func requestPostChartsUS(_ url:URL, parameters:Parameters) {
|
||||||
|
MPSession.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default).responseDecodable(of: JsonCharts.self) { [weak self] (response) in
|
||||||
|
guard let self = self else {return}
|
||||||
|
switch response.result {
|
||||||
|
case .success(let charts):
|
||||||
|
if let content = charts.contents?.singleColumnBrowseResultsRenderer?.tabs?.first?.tabRenderer?.content?.sectionListRenderer?.contents {
|
||||||
|
parsingChartsUS(content)
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
print("Failed to parse browses content")
|
||||||
|
// 请求失败,处理错误
|
||||||
|
homeError(error: error)
|
||||||
|
browseQueque = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//MARK: - 请求列表专辑预览
|
//MARK: - 请求列表专辑预览
|
||||||
/// 向YouTubemusic请求列表/专辑数据,该接口调用的同样是browse预览接口
|
/// 向YouTubemusic请求列表/专辑数据,该接口调用的同样是browse预览接口
|
||||||
/// - Parameters:
|
/// - Parameters:
|
||||||
@ -1625,10 +1678,37 @@ extension MP_NetWorkManager {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
//传递解析数据
|
//传递解析数据
|
||||||
|
self.browseRequestStateBlock!(browses, false)
|
||||||
|
requestChartsUS()
|
||||||
|
}
|
||||||
|
private func parsingChartsUS(_ contents:[JsonCharts.Contents.SingleColumnBrowseResultsRenderer.Tab.TabRenderer.Content.SectionListRenderer.Content]) {
|
||||||
|
var browses:[MPPositive_BrowseModuleListViewModel] = []
|
||||||
|
contents.forEach { content in
|
||||||
|
//检索content是否存在二阶段数据
|
||||||
|
if let musicCarouselShelfRenderer = content.musicCarouselShelfRenderer {
|
||||||
|
//存在,继续操作
|
||||||
|
let browse = MPPositive_BrowseModuleListViewModel()
|
||||||
|
browse.title = musicCarouselShelfRenderer.header?.musicCarouselShelfBasicHeaderRenderer?.title?.runs?.first?.text
|
||||||
|
//获取数据
|
||||||
|
musicCarouselShelfRenderer.contents?.forEach({ content in
|
||||||
|
if let musicTwoRowItemRenderer = content.musicTwoRowItemRenderer, let item = parsingMusicTwoRowItemRenderer(musicTwoRowItemRenderer) {
|
||||||
|
browse.items.append(.init(item))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
browses.append(browse)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//清理为空的数据
|
||||||
|
browses = browses.filter({$0.items.contains(where: {$0.browseItem.pageType == "MUSIC_PAGE_TYPE_PLAYLIST"})})
|
||||||
|
guard browseRequestStateBlock != nil else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//传递解析数据
|
||||||
self.browseRequestStateBlock!(browses, true)
|
self.browseRequestStateBlock!(browses, true)
|
||||||
//移除队列
|
//移除队列
|
||||||
browseQueque = nil
|
browseQueque = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
///解析预览内容_ContinuationContents
|
///解析预览内容_ContinuationContents
|
||||||
private func parsingBrowseContinuationContents(_ continuationContents:JsonBrowses.ContinuationContents) {
|
private func parsingBrowseContinuationContents(_ continuationContents:JsonBrowses.ContinuationContents) {
|
||||||
//获取预览结构体中需要的数据(模块标题;歌曲信息:封面路径,音乐标题,歌手姓名,列表id和视频id)
|
//获取预览结构体中需要的数据(模块标题;歌曲信息:封面路径,音乐标题,歌手姓名,列表id和视频id)
|
||||||
|
|||||||
@ -149,14 +149,15 @@ struct JsonCharts: Codable {
|
|||||||
///内容模块
|
///内容模块
|
||||||
struct Content: Codable {
|
struct Content: Codable {
|
||||||
let musicResponsiveListItemRenderer:MusicResponsiveListItemRenderer?
|
let musicResponsiveListItemRenderer:MusicResponsiveListItemRenderer?
|
||||||
|
let musicTwoRowItemRenderer:RootMusicTwoRowItemRenderer?
|
||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case musicResponsiveListItemRenderer = "musicResponsiveListItemRenderer"
|
case musicResponsiveListItemRenderer = "musicResponsiveListItemRenderer"
|
||||||
|
case musicTwoRowItemRenderer = "musicTwoRowItemRenderer"
|
||||||
}
|
}
|
||||||
init(from decoder: Decoder) throws {
|
init(from decoder: Decoder) throws {
|
||||||
let values = try decoder.container(keyedBy: CodingKeys.self)
|
let values = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
musicResponsiveListItemRenderer = try values.decodeIfPresent(MusicResponsiveListItemRenderer.self, forKey: .musicResponsiveListItemRenderer)
|
musicResponsiveListItemRenderer = try values.decodeIfPresent(MusicResponsiveListItemRenderer.self, forKey: .musicResponsiveListItemRenderer)
|
||||||
|
musicTwoRowItemRenderer = try values.decodeIfPresent(RootMusicTwoRowItemRenderer.self, forKey: .musicTwoRowItemRenderer)
|
||||||
}
|
}
|
||||||
struct MusicResponsiveListItemRenderer: Codable {
|
struct MusicResponsiveListItemRenderer: Codable {
|
||||||
///封面
|
///封面
|
||||||
|
|||||||
@ -451,6 +451,7 @@ extension MPPositive_HomeViewController: UITableViewDataSource, UITableViewDeleg
|
|||||||
self.navView.frame = frame
|
self.navView.frame = frame
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func numberOfSections(in tableView: UITableView) -> Int {
|
func numberOfSections(in tableView: UITableView) -> Int {
|
||||||
if MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels.isEmpty {
|
if MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels.isEmpty {
|
||||||
return 1
|
return 1
|
||||||
@ -471,93 +472,16 @@ extension MPPositive_HomeViewController: UITableViewDataSource, UITableViewDeleg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||||
if MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels.isEmpty {
|
|
||||||
if let first = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row].items.first, first.browseItem.itemType == .single, first.browseItem.pageType == "MUSIC_VIDEO_TYPE_ATV" {
|
|
||||||
//是单曲
|
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeSinglesTableViewCellID, for: indexPath) as! MPPositive_HomeSinglesTableViewCell
|
|
||||||
cell.browseViewModel = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row]
|
|
||||||
|
|
||||||
return cell
|
|
||||||
}else {
|
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeShowTableViewCellID, for: indexPath) as! MPPositive_HomeShowTableViewCell
|
|
||||||
cell.browseViewModel = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row]
|
|
||||||
if let first = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row].items.first, first.browseItem.itemType == .single, first.browseItem.pageType == "MUSIC_VIDEO_TYPE_OMV" {
|
|
||||||
cell.showType = .Fifth
|
|
||||||
}else {
|
|
||||||
//判断是列表还是艺术家
|
|
||||||
if MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row].items.first?.browseItem.pageType == "MUSIC_PAGE_TYPE_ARTIST" {
|
|
||||||
cell.showType = .Fourth
|
|
||||||
}else {
|
|
||||||
cell.showType = .Third
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cell.requestNextBlock = {
|
|
||||||
[weak self] (item) in
|
|
||||||
guard let self = self else {return}
|
|
||||||
MP_AnalyticsManager.shared.home_b_module_clickAction(item.browseItem.pageType ?? "")
|
|
||||||
switch item.browseItem.itemType {
|
|
||||||
case .single:
|
|
||||||
//单曲/视频跳转
|
|
||||||
MPPositive_Debouncer.shared.call {
|
|
||||||
[weak self] in
|
|
||||||
guard let self = self else {return}
|
|
||||||
guard MP_NetWorkManager.shared.netWorkStatu == .reachable else {
|
|
||||||
MP_HUD.text("Weak connection.", delay: 2.0, completion: nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
MP_AnalyticsManager.shared.song_clickAction("Home")
|
|
||||||
//优先清除数据
|
|
||||||
MP_PlayerManager.shared.loadPlayer = nil
|
|
||||||
//弹出播放器
|
|
||||||
NotificationCenter.notificationKey.post(notificationName: .pup_player_vc)
|
|
||||||
MP_AnalyticsManager.shared.player_b_impAction()
|
|
||||||
//触发next请求,优先获取列表全部单曲基础数据(不完善)
|
|
||||||
MP_NetWorkManager.shared.requestNextList(item.browseItem.playListId ?? "", videoId: item.browseItem.videoId ?? "", clickTrackingParams: item.browseItem.clickTrackingParams){ [weak self] listSongs in
|
|
||||||
guard let self = self else {return}
|
|
||||||
//回掉的数据并不完善,生成一个playerloadViewModel
|
|
||||||
let lodaViewModel = MPPositive_PlayerLoadViewModel(listSongs, currentVideoId: item.browseItem.videoId ?? "")
|
|
||||||
lodaViewModel.improveData(item.browseItem.videoId ?? "")
|
|
||||||
//更改播放器播放类型
|
|
||||||
MP_PlayerManager.shared.setPlayType(.normal)
|
|
||||||
MP_PlayerManager.shared.loadPlayer = lodaViewModel
|
|
||||||
MP_AnalyticsManager.shared.player_b_listAction()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case .list:
|
|
||||||
isFirstAppearance = false
|
|
||||||
//列表专辑
|
|
||||||
let listVC = MPPositive_ListShowViewController(item.browseItem.browseId ?? "", params: "", title: item.title ?? "", subtitle: item.subtitle ?? "", clickTrackingParams: item.browseItem.clickTrackingParams ?? "")
|
|
||||||
navigationController?.pushViewController(listVC, animated: true)
|
|
||||||
case .artist:
|
|
||||||
isFirstAppearance = false
|
|
||||||
//前往艺术家页面
|
|
||||||
let artistVC = MPPositive_ArtistShowViewController(item.browseItem.artistId ?? "", clickTrackingParams: item.browseItem.clickTrackingParams ?? "")
|
|
||||||
navigationController?.pushViewController(artistVC, animated: true)
|
|
||||||
default:
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cell.findMoreBlock = {
|
|
||||||
[weak self] in
|
|
||||||
guard let self = self else {return}
|
|
||||||
isFirstAppearance = false
|
|
||||||
let moreVC = MPPositive_MoreContentViewController(MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row])
|
|
||||||
navigationController?.pushViewController(moreVC, animated: true)
|
|
||||||
}
|
|
||||||
return cell
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
switch indexPath.section {
|
switch indexPath.section {
|
||||||
case 0:
|
case 0:
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeLibraryListstableViewCellID, for: indexPath) as! MPPositive_HomeLibraryListstableViewCell
|
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeLibraryListstableViewCellID, for: indexPath) as! MPPositive_HomeLibraryListstableViewCell
|
||||||
cell.libraryViewModels = MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels
|
cell.libraryViewModels = MPPositive_BrowseLoadViewModel.shared.libraryList.libraryViewModels
|
||||||
return cell
|
return cell
|
||||||
default:
|
default:
|
||||||
if let first = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row].items.first, first.browseItem.itemType == .single, first.browseItem.pageType == "MUSIC_VIDEO_TYPE_ATV" {
|
if let first = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row].items.first, first.browseItem.itemType == .single, (first.browseItem.pageType == "MUSIC_VIDEO_TYPE_ATV" || first.browseItem.pageType == "MUSIC_VIDEO_TYPE_UGC") {
|
||||||
//是单曲
|
//是单曲
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeSinglesTableViewCellID, for: indexPath) as! MPPositive_HomeSinglesTableViewCell
|
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeSinglesTableViewCellID, for: indexPath) as! MPPositive_HomeSinglesTableViewCell
|
||||||
cell.browseViewModel = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row]
|
cell.browseViewModel = MPPositive_BrowseLoadViewModel.shared.browseModuleLists[indexPath.row]
|
||||||
|
|
||||||
return cell
|
return cell
|
||||||
}else {
|
}else {
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeShowTableViewCellID, for: indexPath) as! MPPositive_HomeShowTableViewCell
|
let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_HomeShowTableViewCellID, for: indexPath) as! MPPositive_HomeShowTableViewCell
|
||||||
@ -630,4 +554,3 @@ extension MPPositive_HomeViewController: UITableViewDataSource, UITableViewDeleg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user