Compare commits

...

6 Commits
main ... 1.0.0

Author SHA1 Message Date
zeng
c6f05b73a1 修复静音没有声音bug 2025-04-27 17:07:22 +08:00
zeng
f87d98c703 搜索bug修复 2025-04-27 16:47:00 +08:00
zeng
24b57a88f6 删除非必要代码 2025-04-27 16:43:01 +08:00
zeng
17068cb7e4 删除facebook库 2025-04-27 15:26:38 +08:00
zeng
6e9f640f95 1.0发布修改 2025-04-27 15:24:34 +08:00
zeng
8bb7aac8d1 1.0版本修改 2025-04-27 13:49:13 +08:00
45 changed files with 22 additions and 553 deletions

View File

@ -7,9 +7,6 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
1BCF943F2DBB62FB008AEBE9 /* FacebookBasics in Frameworks */ = {isa = PBXBuildFile; productRef = 1BCF943E2DBB62FB008AEBE9 /* FacebookBasics */; };
1BCF94412DBB62FB008AEBE9 /* FacebookCore in Frameworks */ = {isa = PBXBuildFile; productRef = 1BCF94402DBB62FB008AEBE9 /* FacebookCore */; };
1BCF94432DBB62FB008AEBE9 /* FacebookLogin in Frameworks */ = {isa = PBXBuildFile; productRef = 1BCF94422DBB62FB008AEBE9 /* FacebookLogin */; };
91D08C5AEAE459A3B8EA48C6 /* Pods_MoviaBox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A81436A54285C9EE97EEBC50 /* Pods_MoviaBox.framework */; }; 91D08C5AEAE459A3B8EA48C6 /* Pods_MoviaBox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A81436A54285C9EE97EEBC50 /* Pods_MoviaBox.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
@ -48,9 +45,6 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
1BCF94432DBB62FB008AEBE9 /* FacebookLogin in Frameworks */,
1BCF94412DBB62FB008AEBE9 /* FacebookCore in Frameworks */,
1BCF943F2DBB62FB008AEBE9 /* FacebookBasics in Frameworks */,
91D08C5AEAE459A3B8EA48C6 /* Pods_MoviaBox.framework in Frameworks */, 91D08C5AEAE459A3B8EA48C6 /* Pods_MoviaBox.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@ -145,7 +139,6 @@
mainGroup = 1DBC40502DA4EDFC0093FCB0; mainGroup = 1DBC40502DA4EDFC0093FCB0;
minimizedProjectReferenceProxies = 1; minimizedProjectReferenceProxies = 1;
packageReferences = ( packageReferences = (
1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */,
); );
preferredProjectObjectVersion = 77; preferredProjectObjectVersion = 77;
productRefGroup = 1DBC405A2DA4EDFC0093FCB0 /* Products */; productRefGroup = 1DBC405A2DA4EDFC0093FCB0 /* Products */;
@ -451,35 +444,6 @@
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
/* End XCConfigurationList section */ /* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/facebook/facebook-ios-sdk";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 14.1.0;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
1BCF943E2DBB62FB008AEBE9 /* FacebookBasics */ = {
isa = XCSwiftPackageProductDependency;
package = 1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
productName = FacebookBasics;
};
1BCF94402DBB62FB008AEBE9 /* FacebookCore */ = {
isa = XCSwiftPackageProductDependency;
package = 1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
productName = FacebookCore;
};
1BCF94422DBB62FB008AEBE9 /* FacebookLogin */ = {
isa = XCSwiftPackageProductDependency;
package = 1BCF943D2DBB62FB008AEBE9 /* XCRemoteSwiftPackageReference "facebook-ios-sdk" */;
productName = FacebookLogin;
};
/* End XCSwiftPackageProductDependency section */
}; };
rootObject = 1DBC40512DA4EDFC0093FCB0 /* Project object */; rootObject = 1DBC40512DA4EDFC0093FCB0 /* Project object */;
} }

View File

@ -1,15 +0,0 @@
{
"originHash" : "ca3cf5f8f83d297b47d2cb0edff3e06f294951e2e06fa55cfc82831103499b2a",
"pins" : [
{
"identity" : "facebook-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/facebook/facebook-ios-sdk",
"state" : {
"revision" : "c19607d535864533523d1f437c84035e5fb101cf",
"version" : "14.1.0"
}
}
],
"version" : 3
}

View File

@ -93,17 +93,18 @@ class SPHomeViewController: SPHomeChildController {
extension SPHomeViewController { extension SPHomeViewController {
private func _setupUI() { private func _setupUI() {
view.addSubview(logoImageView) // view.addSubview(logoImageView)
view.addSubview(searchButton) view.addSubview(searchButton)
view.addSubview(self.collectionView) view.addSubview(self.collectionView)
logoImageView.snp.makeConstraints { make in // logoImageView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16) // make.left.equalToSuperview().offset(16)
make.centerY.equalTo(searchButton) // make.centerY.equalTo(searchButton)
} // }
searchButton.snp.makeConstraints { make in searchButton.snp.makeConstraints { make in
make.left.equalTo(logoImageView.snp.right).offset(6) // make.left.equalTo(logoImageView.snp.right).offset(6)
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.top.equalToSuperview().offset(kSPStatusbarHeight + 10) make.top.equalToSuperview().offset(kSPStatusbarHeight + 10)
} }

View File

@ -72,7 +72,7 @@ extension SPHomeHotSearchView {
bgView.snp.makeConstraints { make in bgView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.centerY.equalToSuperview() make.centerX.equalToSuperview()
make.top.equalToSuperview() make.top.equalToSuperview()
make.bottom.equalToSuperview() make.bottom.equalToSuperview()
} }

View File

@ -13,7 +13,6 @@ class SPMineHeaderView: UIView {
var height: CGFloat = kSPStatusbarHeight + 108 var height: CGFloat = kSPStatusbarHeight + 108
var stackHeight = 0.0 var stackHeight = 0.0
stackHeight += memberView.intrinsicContentSize.height
if playHistoryArr?.count ?? 0 > 0 { if playHistoryArr?.count ?? 0 > 0 {
stackHeight += self.stackView.spacing stackHeight += self.stackView.spacing
@ -95,32 +94,12 @@ class SPMineHeaderView: UIView {
return view return view
}() }()
///
private lazy var memberView: SPMineMemberView = {
let view = SPMineMemberView()
return view
}()
/// ///
private lazy var playHistoryView: SPMinePlayHistoryView = { private lazy var playHistoryView: SPMinePlayHistoryView = {
let view = SPMinePlayHistoryView() let view = SPMinePlayHistoryView()
return view return view
}() }()
private lazy var loginButton: UIButton = {
let button = UIButton(type: .custom)
button.setTitle("Log in".localized, for: .normal)
button.setTitleColor(.colorFFFFFF(), for: .normal)
button.titleLabel?.font = .fontMedium(ofSize: 16)
button.setBackgroundImage(UIImage(color: .colorFFFFFF(alpha: 0.23)), for: .normal)
button.layer.cornerRadius = 15
button.layer.masksToBounds = true
button.layer.borderWidth = 1
button.layer.borderColor = UIColor.colorFFFFFF().cgColor
button.addTarget(self, action: #selector(handleLoginButton), for: .touchUpInside)
return button
}()
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
@ -135,8 +114,6 @@ class SPMineHeaderView: UIView {
private func updateStackViewLayout() { private func updateStackViewLayout() {
stackView.removeAllArrangedSubview() stackView.removeAllArrangedSubview()
stackView.addArrangedSubview(memberView)
if let arr = playHistoryArr, arr.count > 0 { if let arr = playHistoryArr, arr.count > 0 {
stackView.addArrangedSubview(playHistoryView) stackView.addArrangedSubview(playHistoryView)
} }
@ -150,14 +127,6 @@ extension SPMineHeaderView {
} }
@objc private func handleLoginButton() {
let vc = SPLoginViewController()
let nav = SPNavigationController(rootViewController: vc)
nav.modalPresentationStyle = .fullScreen
self.viewController?.present(nav, animated: true)
}
} }
extension SPMineHeaderView { extension SPMineHeaderView {
@ -167,7 +136,6 @@ extension SPMineHeaderView {
addSubview(nicknameLabel) addSubview(nicknameLabel)
addSubview(idLabel) addSubview(idLabel)
addSubview(copyButton) addSubview(copyButton)
addSubview(loginButton)
addSubview(stackView) addSubview(stackView)
avatarImageView.snp.makeConstraints { make in avatarImageView.snp.makeConstraints { make in
@ -195,15 +163,6 @@ extension SPMineHeaderView {
make.width.equalTo(copyWidth) make.width.equalTo(copyWidth)
} }
let loginWidth = (loginButton.currentTitle?.size(font: loginButton.titleLabel?.font ?? .fontRegular(ofSize: 12)).width ?? 0) + 28
loginButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-16)
make.height.equalTo(30)
make.width.equalTo(loginWidth)
make.centerY.equalTo(avatarImageView)
}
stackView.snp.makeConstraints { make in stackView.snp.makeConstraints { make in
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(kSPStatusbarHeight + 108) make.top.equalToSuperview().offset(kSPStatusbarHeight + 108)

View File

@ -1,107 +0,0 @@
//
// SPMineMemberNoView.swift
// MoviaBox
//
// Created by on 2025/4/25.
//
import UIKit
class SPMineMemberNoView: UIView {
//MARK: UI
private lazy var iconImageView: UIImageView = {
let imageView = UIImageView(image: UIImage(named: "vip_icon_01"))
return imageView
}()
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.text = "You are not a member yet".localized
label.textColor = .colorBBB9B3()
label.font = .fontMedium(ofSize: 16)
label.adjustsFontSizeToFitWidth = true
return label
}()
private lazy var activateButton: UIButton = {
let button = JXButton(type: .custom)
button.leftAnyRightmargin = 13
button.setTitle("Activate".localized, for: .normal)
button.setTitleColor(.colorFFD791(), for: .normal)
button.jx_font = .fontMedium(ofSize: 14)
button.layer.cornerRadius = 14
button.layer.masksToBounds = true
button.layer.borderWidth = 1
button.layer.borderColor = UIColor.colorFFD791().cgColor
button.backgroundColor = .color262014()
return button
}()
private lazy var textLabel1: UILabel = {
let label = UILabel()
label.font = .fontMedium(ofSize: 12)
label.textColor = .colorA69B89()
label.text = "Members can enjoy".localized
return label
}()
private lazy var textLabel2: UILabel = {
let label = UILabel()
label.font = .fontMedium(ofSize: 12)
label.textColor = .colorFFD28F()
label.text = "Unlimited access to all series".localized
return label
}()
override init(frame: CGRect) {
super.init(frame: frame)
_setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension SPMineMemberNoView {
private func _setupUI() {
addSubview(iconImageView)
addSubview(titleLabel)
addSubview(activateButton)
addSubview(textLabel1)
addSubview(textLabel2)
iconImageView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(12)
make.top.equalToSuperview().offset(15)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(iconImageView.snp.right).offset(4)
make.centerY.equalTo(iconImageView)
make.right.lessThanOrEqualToSuperview().offset(-12)
}
activateButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-18)
make.bottom.equalToSuperview().offset(-14)
make.height.equalTo(28)
}
textLabel1.snp.makeConstraints { make in
make.left.equalToSuperview().offset(12)
make.bottom.equalTo(textLabel2.snp.top).offset(-kSPMainW(5))
}
textLabel2.snp.makeConstraints { make in
make.left.equalTo(textLabel1)
make.bottom.equalToSuperview().offset(-kSPMainW(12))
}
}
}

View File

@ -1,73 +0,0 @@
//
// SPMineMemberView.swift
// MoviaBox
//
// Created by on 2025/4/25.
//
import UIKit
class SPMineMemberView: UIView {
override var intrinsicContentSize: CGSize {
let width = kSPScreenWidth - 32
return CGSize(width: width, height: width * bgRatio)
}
///
var bgRatio: CGFloat {
let imageSize = bgImageView.image?.size ?? .zero
if imageSize == .zero {
return 1
} else {
return imageSize.height / imageSize.width
}
}
//MARK: UI
private lazy var bgImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "member_bg_image_01")
return imageView
}()
private lazy var noView: SPMineMemberNoView = {
let view = SPMineMemberNoView()
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
_setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension SPMineMemberView {
private func _setupUI() {
addSubview(bgImageView)
addSubview(noView)
let width = kSPScreenWidth - 32
bgImageView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalToSuperview().offset(16)
make.centerX.equalToSuperview()
make.height.equalTo(width * bgRatio)
}
noView.snp.makeConstraints { make in
make.edges.equalTo(bgImageView)
}
}
}

View File

@ -1,70 +0,0 @@
//
// SPLoginManager+Apple.swift
// MoviaBox
//
// Created by on 2025/4/25.
//
import UIKit
import AuthenticationServices
extension SPLoginManager {
///
func appleSignLogin(completer: ((_ model: SPThirdSignModel?) -> Void)?) {
// self.signAppleHandle = completer
let appleIDProvider = ASAuthorizationAppleIDProvider()
let request = appleIDProvider.createRequest()
request.requestedScopes = [.fullName, .email]
let authorizationController = ASAuthorizationController(authorizationRequests: [request])
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
}
}
//MARK:-------------- ASAuthorizationControllerDelegate --------------
extension SPLoginManager: ASAuthorizationControllerDelegate {
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
let userIdentifier = appleIDCredential.user
let fullName = appleIDCredential.fullName
let email = appleIDCredential.email
let model = SPThirdSignModel()
model.userID = userIdentifier
model.givenName = fullName?.givenName
model.familyName = fullName?.familyName
model.name = fullName?.nickname
model.email = email
spLog(message: userIdentifier)
spLog(message: fullName)
spLog(message: email)
// if let signAppleHandle = signAppleHandle {
// signAppleHandle(model)
// }
}
}
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
// if let signAppleHandle = signAppleHandle {
// signAppleHandle(nil)
// }
}
}
extension SPLoginManager: ASAuthorizationControllerPresentationContextProviding {
func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
return SPAPPTool.getKeyWindow()!
}
}

View File

@ -1,15 +0,0 @@
//
// SPLoginManager+Facebook.swift
// MoviaBox
//
// Created by on 2025/4/25.
//
import UIKit
//https://developers.facebook.com/docs/facebook-login/ios?checkpoint_src=any
extension SPLoginManager {
}

View File

@ -36,14 +36,6 @@ class SPLoginManager: NSObject {
/// ///
func thirdLogin(type: LoginType, presentingViewController: UIViewController) { func thirdLogin(type: LoginType, presentingViewController: UIViewController) {
switch type {
case .apple:
appleSignLogin { model in
}
default:
break
}
} }

View File

@ -257,6 +257,16 @@ extension SPPlayer {
self.delegate?.sp_playCompletion?(self) self.delegate?.sp_playCompletion?(self)
} }
} }
player.playerReadyToPlay = { (asset, assetURL) in
do {
try AVAudioSession.sharedInstance().setCategory(.playback)
try AVAudioSession.sharedInstance().setActive(true)
} catch {
}
}
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

View File

@ -1,7 +1,7 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "APP图标 (1).jpg", "filename" : "LOGOMoviaBox.jpg",
"idiom" : "universal", "idiom" : "universal",
"platform" : "ios", "platform" : "ios",
"size" : "1024x1024" "size" : "1024x1024"

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -5,12 +5,12 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "Frame 1@2x.png", "filename" : "启动页MoviaBox 1.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "Frame 1@3x.png", "filename" : "启动页MoviaBox.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 582 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 3@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 3@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 2@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 2@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 4@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 4@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

View File

@ -5,7 +5,7 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "APP图标 (1).jpg", "filename" : "LOGOMoviaBox.jpg",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 155@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 155@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 57@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 57@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 63@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 63@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

View File

@ -1,22 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 208@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 208@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 351 KiB

View File

@ -20,29 +20,14 @@
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_bg_image" translatesAutoresizingMaskIntoConstraints="NO" id="uTG-8k-wrO"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_bg_image" translatesAutoresizingMaskIntoConstraints="NO" id="uTG-8k-wrO">
<rect key="frame" x="0.0" y="0.0" width="401" height="852"/> <rect key="frame" x="0.0" y="0.0" width="401" height="852"/>
</imageView> </imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_01" translatesAutoresizingMaskIntoConstraints="NO" id="gda-Oq-H2U">
<rect key="frame" x="148" y="297.66666666666669" width="97" height="97"/>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_02" translatesAutoresizingMaskIntoConstraints="NO" id="JKU-rM-4Wr">
<rect key="frame" x="128" y="412.66666666666669" width="137" height="115.00000000000006"/>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_03" translatesAutoresizingMaskIntoConstraints="NO" id="kdp-DS-CSB">
<rect key="frame" x="160" y="742" width="73" height="16"/>
</imageView>
</subviews> </subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints> <constraints>
<constraint firstItem="uTG-8k-wrO" firstAttribute="left" secondItem="6Tk-OE-BBY" secondAttribute="left" id="4ng-mZ-sZs"/> <constraint firstItem="uTG-8k-wrO" firstAttribute="left" secondItem="6Tk-OE-BBY" secondAttribute="left" id="4ng-mZ-sZs"/>
<constraint firstItem="gda-Oq-H2U" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" constant="-80" id="9Es-tU-mgS"/>
<constraint firstAttribute="right" secondItem="uTG-8k-wrO" secondAttribute="rightMargin" id="CfK-Qy-Jfk"/> <constraint firstAttribute="right" secondItem="uTG-8k-wrO" secondAttribute="rightMargin" id="CfK-Qy-Jfk"/>
<constraint firstItem="kdp-DS-CSB" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="HFP-0p-Z4l"/>
<constraint firstItem="uTG-8k-wrO" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="P8y-9M-bIf"/> <constraint firstItem="uTG-8k-wrO" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="P8y-9M-bIf"/>
<constraint firstItem="gda-Oq-H2U" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="QnF-bf-aeZ"/>
<constraint firstItem="JKU-rM-4Wr" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="TEI-ky-Z9B"/>
<constraint firstAttribute="bottom" secondItem="uTG-8k-wrO" secondAttribute="bottom" id="Yhw-eG-r2Q"/> <constraint firstAttribute="bottom" secondItem="uTG-8k-wrO" secondAttribute="bottom" id="Yhw-eG-r2Q"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="kdp-DS-CSB" secondAttribute="bottom" constant="60" id="hvq-9f-FQX"/>
<constraint firstItem="JKU-rM-4Wr" firstAttribute="top" secondItem="gda-Oq-H2U" secondAttribute="bottom" constant="18" id="jTB-Dj-RBg"/>
</constraints> </constraints>
</view> </view>
</viewController> </viewController>
@ -53,9 +38,6 @@
</scenes> </scenes>
<resources> <resources>
<image name="launch_screen_bg_image" width="375" height="812"/> <image name="launch_screen_bg_image" width="375" height="812"/>
<image name="launch_screen_logo_01" width="97" height="97"/>
<image name="launch_screen_logo_02" width="137" height="115"/>
<image name="launch_screen_logo_03" width="73" height="16"/>
<systemColor name="systemBackgroundColor"> <systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor> </systemColor>

View File

@ -50,11 +50,6 @@
"Youth Civilization Convention" = "Youth Civilization Convention"; "Youth Civilization Convention" = "Youth Civilization Convention";
"List of Third-Party Sharing of Personal Information" = "List of Third-Party Sharing of Personal Information"; "List of Third-Party Sharing of Personal Information" = "List of Third-Party Sharing of Personal Information";
"Explicit List of Personal Information Collection" = "Explicit List of Personal Information Collection"; "Explicit List of Personal Information Collection" = "Explicit List of Personal Information Collection";
"Log in" = "Log in";
"You are not a member yet" = "You are not a member yet";
"Activate" = "Activate";
"Members can enjoy" = "Members can enjoy";
"Unlimited access to all series" = "Unlimited access to all series";
"kLoginAgreementText" = "By continuing, you agree to the User Agreement and Privacy Policy"; "kLoginAgreementText" = "By continuing, you agree to the User Agreement and Privacy Policy";