uni-app中plus.navigator.getSignature()获取的不是自己的签名,而是官网示例值 baad093a82829fb432a7b28cb4ccf0e9f37dae58
uni-app中plus.navigator.getSignature()获取的不是自己的签名,而是官网示例值 baad093a82829fb432a7b28cb4ccf0e9f37dae58
操作步骤:
let platform = uni.getSystemInfoSync().platform; console.log( “platform”, platform, plus.navigator.getSignature() ) let sign = plus.navigator.getSignature(); if( ‘android’ === platform ){ //Android平台 var sha1 = this.$AES.Decrypt( c.s ); if( sha1 !== sign ){ // plus.runtime.quit(); }; }else{ //iOS平台 var md5 = this.$AES.Decrypt( c.m ); if( md5 !== sign ){ uni.showModal( { title:‘错误’, content: ‘应用被破坏,无法正常运行!’ } ); }; };
# 预期结果:
let platform = uni.getSystemInfoSync().platform;
console.log( "platform", platform, plus.navigator.getSignature() )
let sign = plus.navigator.getSignature();
if( 'android' === platform ){ //Android平台
var sha1 = this.$AES.Decrypt( c.s );
if( sha1 !== sign ){
// plus.runtime.quit();
};
}else{ //iOS平台
var md5 = this.$AES.Decrypt( c.m );
if( md5 !== sign ){
uni.showModal( { title:'错误', content: '应用被破坏,无法正常运行!' } );
};
};
实际结果:
baad093a82829fb432a7b28cb4ccf0e9f37dae58
# bug描述:
plus.navigator.getSignature() 获取不到自己的sha1值。返回的一直是 baad093a82829fb432a7b28cb4ccf0e9f37dae58 示例值
刚测试了,没问题啊
证书你是用的自己的么
后面测试了下,用的云端证书。获取的一直都是示例值,您那边是咋弄的?
回复 n***@outlook.com: 使用自有证书
回复 套马杆的套子: 1
那可能就是证书的问题了,这话点醒了我。谢谢哈~
在 uni-app
中使用 plus.navigator.getSignature()
方法时,如果获取到的签名值不是你自己应用的签名,而是官网示例值 baad093a82829fb432a7b28cb4ccf0e9f37dae58
,这通常意味着你的应用没有正确配置签名信息,或者 uni-app
在调试模式下使用了默认的签名值。
可能的原因和解决方法:
-
调试模式下的默认签名:
- 在
uni-app
的调试模式下,plus.navigator.getSignature()
可能会返回一个默认的签名值,而不是你应用的真实签名。这是为了方便开发和调试。 - 解决方法:确保你在发布模式下运行应用,或者使用真机调试,而不是在模拟器或调试模式下运行。
- 在
-
未正确配置签名:
- 如果你在发布应用时没有正确配置签名信息,
plus.navigator.getSignature()
可能会返回默认值。 - 解决方法:确保你在打包应用时正确配置了签名信息。对于 Android 应用,你需要在
manifest.json
中配置signature
字段,或者使用HBuilderX
的打包功能时正确配置签名文件。
- 如果你在发布应用时没有正确配置签名信息,
-
签名文件未正确生成或使用:
- 如果你使用了自定义的签名文件,但签名文件未正确生成或未在打包时使用,
plus.navigator.getSignature()
可能会返回默认值。 - 解决方法:确保你生成了正确的签名文件,并在打包时正确使用了该文件。
- 如果你使用了自定义的签名文件,但签名文件未正确生成或未在打包时使用,
-
检查
manifest.json
配置:- 在
manifest.json
中,确保你正确配置了signature
字段。例如:{ "app-plus": { "distribute": { "android": { "signature": "your_signature_value" } } } }
- 在