uniapp:打包ios配置隐私协议框

使用uniapp打包ios 上架商店需要配置隐私协议政策弹窗。当用户点击确定后才能继续操作。
首先manifest.json中配置使用原生隐私政策提示框是不支持ios的。不用勾选
在这里插入图片描述

解决思路:

1、新建页面:iosLogin.vue,pages.json中 这个页面需要放在第一位

<template>
	<view class="dialog">
		<view class="bg"></view>
		<view class="title">服务协议和隐私政策</view>
		<view class="content">
			请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。你可阅读
			<text class="link" @click="linkClick(1)">《服务协议》</text><text class="link" @click="linkClick(2)">《隐私政策》</text>
			了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。
		</view>
		<view class="btn">
			<button @click="disagree">不同意并退出</button>
			<button @click="agree">同意</button>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				refCode:''
			}
		},
		onLoad(option) {
			if (option.refCode) {
				this.refCode = option.refCode;
				uni.setStorageSync('refCode', option.refCode);
			}
		},
		methods:{
			linkClick(num) {
				if(num == 1){
					let name1 = encodeURIComponent('用户协议')
					plus.runtime.openURL(`https://h5.******.com.cn/pages/login/xieyi?title=${name1}&type=user_agreement`)
				}else{
					let name2 = encodeURIComponent('隐私政策')
					plus.runtime.openURL(`https://h5.******.com.cn/pages/login/xieyi?title=${name2}&type=privacy_agreement`)
				}
			},
			agree() {
				uni.setStorageSync('agree', 1) // 设置缓存,下次进入应用不再弹出
				this.$go(4,'/pages/index/index?refCode='+this.refCode); // 跳转首页
			},
			disagree(){
				// #ifdef APP-PLUS
				plus.ios.import("UIApplication").sharedApplication().performSelector("exit")
				// #endif
			}
		}
	}
</script>

<style lang="scss">
	page {
		background: url('../../static/1.png')no-repeat left top #fff;
		background-size: 750rpx 1334rpx;
		position: relative;
		z-index: 2;
		.bg{
			position: fixed;
			left: 0;
			top: 0;
			z-index: -1;
			background: rgba(0, 0, 0, .5);
			width: 750rpx;
			height: 100vh;
		}
	}

	// 弹窗样式
	.dialog {
		margin: 0 auto;
		margin-top: calc(30vh);
		width: 600rpx;
		border-radius: 16rpx;
		background-color: #fff;
		
		.title {
			text-align: center;
			line-height: 80rpx;
			font-size: 32rpx;
			font-weight: 600;
		}

		.content {
			padding: 0 32rpx;
			text-indent: 1em;

			.link {
				color: #FF6840;
			}
		}

		.btn {
			display: flex;
			flex: 1;

			uni-button {
				margin: 0;
				flex: 1;
				background-color: #fff;
			}

			uni-button::after {
				border: none;
			}
		}
	}
</style>

app.vue

onLaunch: async function() {
	// #ifdef APP-PLUS
	const platform = uni.getSystemInfoSync().osName
	// 判断是不是ios,并且是否同意了隐私政策
	let agree = uni.getStorageSync('agree')
	if (platform === 'android') {
		plus.navigator.closeSplashscreen() // 关闭启动页
	} else {
		if(agree){
			uni.reLaunch({
				url: "/pages/index/index",
				success() {
					plus.navigator.closeSplashscreen()
				}
			})
		}else{
			console.log('ios第一次启动需要同意隐私政策');
			// ios单独进行隐私政策验证
			uni.navigateTo({
				url: "/pages/login/iosLogin",
				success() {
					plus.navigator.closeSplashscreen()
				}
			})
		}
	}
	// #endif
},

提示:如果项目有用到消息提示类的功能,在确认隐私政策前可能会有弹窗提示 是否接收APP消息,这个不影响上架。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用uniapp进行本地打包iOS应用的步骤如下: 1. 确保已经安装并配置好Xcode开发环境,并确保Xcode命令行工具已经安装。 2. 在uniapp项目根目录下执行命令:`npm install`,安装相关依赖。 3. 执行命令:`npm run dev:mp-iphone`,开始编译uniapp项目。编译完成后,会生成iOS项目的相关代码。 4. 在Xcode中打开生成的iOS项目文件(位于uniapp项目根目录下的`/unpackage/dist/build/mp-weixin/`目录)。可以直接双击打开,或者通过Xcode的“打开项目”选项选择该目录下的项目文件。 5. 在Xcode中,选择工程导航器中的"Targets",然后选择你的应用的target。 6. 在“General”选项卡中,选择正确的开发者账号并配置应用标识符。 7. 在“Signing & Capabilities”选项卡中,选择正确的开发团队,并根据项目需求配置其他的签名设置。 8. 可以在需要的时候,在“Build Settings”选项卡中对项目进行其他配置,如版本号、Bundle Identifier等。 9. 使用Xcode菜单中的“Product”->“Build”选项,或者使用快捷键`Cmd+B`,进行打包。 10. 打包完成后,可以在Xcode的产品目录(默认为`/Users/用户名/Library/Developer/Xcode/DerivedData/项目名称/Build/Products/Debug-iphoneos/`)中找到生成的应用ipa文件。 11. 如果需要进行真机测试,可以使用Xcode菜单中的“Product”->“Destination”选项,选择你的iOS设备,然后点击“运行”进行测试。 以上步骤是使用uniapp进行本地打包iOS应用的基本流程,根据实际需求和项目配置的不同,可能会有一些细微的差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值