1.0.1发布
This commit is contained in:
parent
34beab7b6b
commit
e8b2c4668f
@ -235,13 +235,14 @@
|
|||||||
CODE_SIGN_ENTITLEMENTS = MoviaBox/MoviaBox.entitlements;
|
CODE_SIGN_ENTITLEMENTS = MoviaBox/MoviaBox.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 2;
|
||||||
DEVELOPMENT_TEAM = TWDZ3MP9DV;
|
DEVELOPMENT_TEAM = TWDZ3MP9DV;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_FILE = MoviaBox/Source/Info.plist;
|
INFOPLIST_FILE = MoviaBox/Source/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = MoviaBox;
|
INFOPLIST_KEY_CFBundleDisplayName = MoviaBox;
|
||||||
INFOPLIST_KEY_NSCameraUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
INFOPLIST_KEY_NSCameraUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
||||||
|
INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "The APP needs to access your location to recommend better short dramas for you";
|
||||||
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
||||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||||
@ -280,13 +281,14 @@
|
|||||||
CODE_SIGN_ENTITLEMENTS = MoviaBox/MoviaBox.entitlements;
|
CODE_SIGN_ENTITLEMENTS = MoviaBox/MoviaBox.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 2;
|
||||||
DEVELOPMENT_TEAM = TWDZ3MP9DV;
|
DEVELOPMENT_TEAM = TWDZ3MP9DV;
|
||||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_FILE = MoviaBox/Source/Info.plist;
|
INFOPLIST_FILE = MoviaBox/Source/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = MoviaBox;
|
INFOPLIST_KEY_CFBundleDisplayName = MoviaBox;
|
||||||
INFOPLIST_KEY_NSCameraUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
INFOPLIST_KEY_NSCameraUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
||||||
|
INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "The APP needs to access your location to recommend better short dramas for you";
|
||||||
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "The APP needs to access your album to provide screenshots for feedback.";
|
||||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||||
|
@ -19,19 +19,20 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
|||||||
SPAPPTool.mainTabBarController = tabBarController
|
SPAPPTool.mainTabBarController = tabBarController
|
||||||
|
|
||||||
let hasOpenApp = UserDefaults.standard.object(forKey: kSPHasBeenOpenedAPPDefaultsKey) as? Bool
|
let hasOpenApp = UserDefaults.standard.object(forKey: kSPHasBeenOpenedAPPDefaultsKey) as? Bool
|
||||||
|
///引导页
|
||||||
|
let guideVc = SPGuideViewController()
|
||||||
|
|
||||||
|
|
||||||
window = UIWindow(windowScene: windowScene)
|
window = UIWindow(windowScene: windowScene)
|
||||||
if hasOpenApp == true {
|
if hasOpenApp != true && guideVc.lanuchVC != nil {
|
||||||
SPAPPTool.isAppOpen = true
|
|
||||||
window?.rootViewController = tabBarController
|
|
||||||
} else {
|
|
||||||
SPAPPTool.isAppOpen = false
|
SPAPPTool.isAppOpen = false
|
||||||
let vc = SPGuideViewController()
|
guideVc.openAppBlock = {
|
||||||
vc.openAppBlock = {
|
|
||||||
self.handleOpenApp()
|
self.handleOpenApp()
|
||||||
}
|
}
|
||||||
window?.rootViewController = vc
|
window?.rootViewController = guideVc
|
||||||
|
} else {
|
||||||
|
SPAPPTool.isAppOpen = true
|
||||||
|
window?.rootViewController = tabBarController
|
||||||
}
|
}
|
||||||
window?.makeKeyAndVisible()
|
window?.makeKeyAndVisible()
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ class SPWalletAPI: NSObject {
|
|||||||
///创建内购订单
|
///创建内购订单
|
||||||
static func requestCreateOrder(payId: String, shortPlayId: String, videoId: String, completer: ((_ orderModel: SPIAPOrderModel?) -> Void)?) {
|
static func requestCreateOrder(payId: String, shortPlayId: String, videoId: String, completer: ((_ orderModel: SPIAPOrderModel?) -> Void)?) {
|
||||||
var param = SPNetworkParameters(path: "/createOrder")
|
var param = SPNetworkParameters(path: "/createOrder")
|
||||||
|
param.isToast = false
|
||||||
param.parameters = [
|
param.parameters = [
|
||||||
"payment_channel" : "apple",
|
"payment_channel" : "apple",
|
||||||
"short_play_id" : shortPlayId,
|
"short_play_id" : shortPlayId,
|
||||||
@ -35,7 +36,12 @@ class SPWalletAPI: NSObject {
|
|||||||
|
|
||||||
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPIAPOrderModel>) in
|
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPIAPOrderModel>) in
|
||||||
if let message = response.data?.message, message.count > 0 {
|
if let message = response.data?.message, message.count > 0 {
|
||||||
SPToast.show(text: message)
|
if response.data?.code == 30007 {
|
||||||
|
SPToast.show(text: "kToastMessage_04".localized)
|
||||||
|
} else {
|
||||||
|
SPToast.show(text: message)
|
||||||
|
}
|
||||||
|
|
||||||
completer?(nil)
|
completer?(nil)
|
||||||
} else {
|
} else {
|
||||||
completer?(response.data)
|
completer?(response.data)
|
||||||
|
@ -11,7 +11,7 @@ class SPGuideViewController: SPViewController {
|
|||||||
|
|
||||||
var openAppBlock: (() -> Void)?
|
var openAppBlock: (() -> Void)?
|
||||||
|
|
||||||
private lazy var lanuchVC: UIViewController = {
|
private(set) lazy var lanuchVC: UIViewController? = {
|
||||||
let vc = SPAPPTool.getLanuchViewController()
|
let vc = SPAPPTool.getLanuchViewController()
|
||||||
return vc
|
return vc
|
||||||
}()
|
}()
|
||||||
@ -51,8 +51,11 @@ class SPGuideViewController: SPViewController {
|
|||||||
extension SPGuideViewController {
|
extension SPGuideViewController {
|
||||||
|
|
||||||
private func _setupUI() {
|
private func _setupUI() {
|
||||||
addChild(lanuchVC)
|
if let vc = lanuchVC {
|
||||||
view.addSubview(lanuchVC.view)
|
addChild(vc)
|
||||||
|
view.addSubview(vc.view)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
view.addSubview(button)
|
view.addSubview(button)
|
||||||
|
|
||||||
|
@ -37,6 +37,9 @@ class SPMineViewController: SPViewController {
|
|||||||
tableView.delegate = self
|
tableView.delegate = self
|
||||||
tableView.dataSource = self
|
tableView.dataSource = self
|
||||||
tableView.rowHeight = 50
|
tableView.rowHeight = 50
|
||||||
|
tableView.sp_addRefreshHeader(insetTop: 0) { [weak self] in
|
||||||
|
self?.handleHeaderRefresh(nil)
|
||||||
|
}
|
||||||
SPMineCell.registerCell(tableView: tableView)
|
SPMineCell.registerCell(tableView: tableView)
|
||||||
return tableView
|
return tableView
|
||||||
}()
|
}()
|
||||||
@ -75,6 +78,11 @@ class SPMineViewController: SPViewController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override func handleHeaderRefresh(_ completer: (() -> Void)?) {
|
||||||
|
requestData { [weak self] in
|
||||||
|
self?.tableView.sp_endHeaderRefreshing()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,9 +147,11 @@ extension SPMineViewController: UITableViewDelegate, UITableViewDataSource {
|
|||||||
|
|
||||||
extension SPMineViewController {
|
extension SPMineViewController {
|
||||||
|
|
||||||
private func requestData() {
|
private func requestData(completer: (() -> Void)? = nil) {
|
||||||
requestUserInfo()
|
requestUserInfo()
|
||||||
requestPlayHistoryList()
|
requestPlayHistoryList {
|
||||||
|
completer?()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
///获取用户信息
|
///获取用户信息
|
||||||
@ -151,7 +161,7 @@ extension SPMineViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
///获取播放记录
|
///获取播放记录
|
||||||
private func requestPlayHistoryList() {
|
private func requestPlayHistoryList(completer: (() -> Void)? = nil) {
|
||||||
SPVideoAPI.requestPlayHistoryList(page: 1, pageSize: 10) { [weak self] listModel in
|
SPVideoAPI.requestPlayHistoryList(page: 1, pageSize: 10) { [weak self] listModel in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
if let list = listModel?.list {
|
if let list = listModel?.list {
|
||||||
@ -159,6 +169,7 @@ extension SPMineViewController {
|
|||||||
|
|
||||||
self.updateHeaderView()
|
self.updateHeaderView()
|
||||||
}
|
}
|
||||||
|
completer?()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,10 +19,10 @@ class SPAPPTool: NSObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
///获得启动图
|
///获得启动图
|
||||||
static func getLanuchViewController() -> UIViewController {
|
static func getLanuchViewController() -> UIViewController? {
|
||||||
let storyboard = UIStoryboard(name: "LaunchScreen", bundle: nil)
|
let storyboard = UIStoryboard(name: "LaunchScreen", bundle: nil)
|
||||||
let vc = storyboard.instantiateInitialViewController()
|
let vc = storyboard.instantiateInitialViewController()
|
||||||
return vc!
|
return vc
|
||||||
}
|
}
|
||||||
|
|
||||||
///获取根视图
|
///获取根视图
|
||||||
|
@ -105,6 +105,8 @@
|
|||||||
"kToastMessage_02" = "You still have unfinished in-app purchases. Please restore them first.";
|
"kToastMessage_02" = "You still have unfinished in-app purchases. Please restore them first.";
|
||||||
///网络错误提示
|
///网络错误提示
|
||||||
"kToastMessage_03" = "The service is abnormal. Check the network.";
|
"kToastMessage_03" = "The service is abnormal. Check the network.";
|
||||||
|
///已是会员提示
|
||||||
|
"kToastMessage_04" = "You are already a member!";
|
||||||
|
|
||||||
///请购买上一集提示
|
///请购买上一集提示
|
||||||
"kAlertMessage_01" = "The previous episode of this series has not been unlocked yet. Please unlock the previous episode first.";
|
"kAlertMessage_01" = "The previous episode of this series has not been unlocked yet. Please unlock the previous episode first.";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user