请教一个问题 日语 validate archive file 的问题

请教一个 validate archive file 的问题_百度知道
请教一个 validate archive file 的问题
提问者采纳
问题就是 App ID Suffix 和你 XCode Project 的 Bundle identifier 不一致。在 XCode Targets --- General 里面看 Bundle Identifier,然后 App ID Suffix 也设置成一样的。
来自团队:
其他类似问题
为您推荐:
validate的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请教一个 validate archive file 的问题_百度知道
请教一个 validate archive file 的问题
提问者采纳
问题就是 App ID Suffix 和你 XCode Project 的 Bundle identifier 不一致。在 XCode Targets --- General 里面看 Bundle Identifier,然后 App ID Suffix 也设置成一样的。
电脑网络爱好者
其他类似问题
为您推荐:
validate的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁trackbacks-0
& &&大象根据研究与实际项目经验,向大家介绍一个关于文件类型验证的解决办法。不清楚的朋友可以了解下,知道的不喜勿喷。& &&对于文件上传,相信大家都不会陌生,我们都知道,文件在上传到服务器的过程中,都是以流的形式传输的,在后台处理文件上传的代码中,获得这个流,然后读取数据流将之保存到上传文件的临时目录中,如果有使用到MongoDB,再将这个文件存储到文件系统中。& &&大部分的文件上传都是通过HTML的上传组件完成的,而业务需求往往是有类型要求的,比如只允许上传jpg、gif、png类型的图片,或者是只允许上传Office文档等等,虽然可以用JavaScript对上传文件做一些类型验证之类的控制,但还是不能完全做到过虑。这时,就需要在后台,用代码来进一步完成这个验证工作。& &&到底通过什么方式可以做到正确验证呢?答案就是通过文件的头部信息,通过大量测试,大象发现每种类型的文件,他们最开始的一段信息都是一样的,比如Office97~03,它的头四位16进制信息就是d0 cf 11 e0,而Office2007则是50 4b 03 04,PDF为25 50 44 46,大家可以多用这样的文件分别测试一下,看看前四位16进制信息是不是都是一样的。当然这其中也有个别情况,比如jpg类型的图片,它的前四位16进制信息就有两种一个是ff d8 ff e0,另一个是ff d8 ff e1,区别是最后一位。知道了这些,我们就有一个方向了。& &&可能有同学有疑问了,为什么只取前四位,不是六位或八位呢?这是因为,大象根据反复测试发现,从第五位开始到第八位,同一种类型的文件,在这几位里面很有一些存在区别,像图片以及pdf,这种现象很多,为了避免同一类型的文件,因为这一些小的不同,要定义N多检测头信息,这样做似乎没有必要,因此大象才建议取前四位作为类型检测的依据。& &&不过说了这么多,还是没讲怎么做,这显然不是大象的风格,大象一般都从实际出发,用代码来说话。package com.bolo.
public class FileValidateUtil {
&&& public static boolean validateType(byte[] b, String customTypes) {
&&&&&& if (b != null) {
&&&&&&&&&& int size = b.length;
&&&&&&&&&& String hex = null;
&&&&&&&&&& StringBuilder contentType = new StringBuilder();
&&&&&&&&&& for (int i = 0; i & i++) {
&&&&&&&&&&&&& hex = Integer.toHexString(b[i] & 0xFF);
&&&&&&&&&&&&& if (hex.length() == 1) {
&&&&&&&&&&&&&&&&& hex = "0" +
&&&&&&&&&&&&& }
&&&&&&&&&&&&& contentType.append(hex);
&&&&&&&&&&&&& if (i & 2)
&&&&&&&&&&&&&&&&& break;
&&&&&&&&&& }
&&&&&&&&&& if (customTypes.indexOf(contentType.toString()) & -1) {
&&&&&&&&&&&&& return Boolean.TRUE;
&&&&&&&&&& }
&&&&&& return Boolean.FALSE;
}& & 上面这段代码就是用来对文件类型作验证的方法,第一个参数是文件的字节数组,第二个就是定义的可通过类型。代码很简单,主要是注意中间的一处,将字节数组的前四位转换成16进制字符串,并且转换的时候,要先和0xFF做一次与运算。这是因为,整个文件流的字节数组中,有很多是负数,进行了与运算后,可以将前面的符号位都去掉,这样转换成的16进制字符串最多保留两位,如果是正数又小于10,那么转换后只有一位,需要在前面补0,这样做的目的是方便比较,取完前四位这个循环就可以终止了。& &&下面我们准备些文件来测试一下这段代码有没有问题。package com.bolo.
import java.io.IOE
import junit.framework.A
import mons.io.FileU
import org.junit.T
import org.springframework.util.ResourceU
import com.bolo.util.FileValidateU
public class FileValidateUtilTest {
&&& &* 文件头部信息,十六进制信息,取前4位
&&& &* 50 4b 03 04 office 2007+
&&& &* d0 cf 11 e0 office 97~03
&&& &* 25 50 44 46 pdf
&&& &* ff d8 ff e0 jpg,部分png与jpg头文件前4位一样
&&& &* ff d8 ff e1 jpg,一种不同的jpg头文件
&&& &* 89 50 4e 47 png
&&& private static final String FILE_TYPE = "504be0
ffd8ffe0 ffd8ffe1 89504e47";
&&& @Test
&&& public void jpgTest(){
& & & & validateType("file/1.jpg");
&&& @Test
&&& public void docTest(){
&&&&&& validateType("file/2.doc");
&&& @Test
&&& public void docxTest(){
& & & & validateType("file/3.docx");
&&& @Test
&&& public void pdfTest(){
& & & & validateType("file/4.pdf");
&&& @Test
&&& public void exeTest(){
& & & & validateType("file/5.png");
&&& private void validateType(String path){
& & & &&try {
& & & & & & Assert.assertTrue(FileValidateUtil.validateType(FileUtils
&&&&&&&&&& &&& .readFileToByteArray(ResourceUtils.getFile("classpath:" + path)), FILE_TYPE));
& & & & } catch (IOException e) {
& & & & & & e.printStackTrace();
}& & 从测试代码可以看到文件类型,只有第五个不是正确文件,是我将一个exe文件通过改后缀为png。这个测试类,用到了commons-io的FileUtils,需要在pom中加入这个依赖,而ResourceUtils在org.springframework.util包中,它属于spring-core.jar,大象这个测试类是放在之前ssm3工程test里面,要想正常运行测试,要在test/resources目录下建个file文件夹存放测试文件,最后编译之后file及其测试文件都会在test-classes下面,所以文件查找是以classpath:开头。& & &OK,运行测试,结果就是前四个成功,最后一个失败,这达到了我们的预期,只允许FILE_TYPE里面定义的文件类型通过测试。大家可以自己动手试验一下。& &&本文为菠萝大象原创,如要转载请注明出处。&
阅读(4723)
29302345678910111213141516171819202122232425262728293031123456789
随笔分类(67)
随笔档案(67)
积分与排名
阅读排行榜
评论排行榜主题 : 问题请教:发布的时候Validate失败
级别: 新手上路
可可豆: 41 CB
威望: 41 点
在线时间: 28(时)
发自: Web Page
来源于&&分类
问题请教:发布的时候Validate失败&&&
Archive后进行Validate失败,出现下面的提示请问是什么原因呢?该如何解决?
级别: 新手上路
可可豆: 41 CB
威望: 41 点
在线时间: 28(时)
发自: Web Page
图没上,不好意思
图片:7A3C4DCC-07AD-4D99-AFD1-.png
级别: 新手上路
可可豆: 41 CB
威望: 41 点
在线时间: 28(时)
发自: Web Page
问题补充,这个app我自己测试的iPad可以安装,其他设备安装的时候出现IncorrectArchitecture错误,这个问题弄的头大!
级别: 新手上路
可可豆: 41 CB
威望: 41 点
在线时间: 28(时)
发自: iPad
自己解决了,出现错误是因为发布的时候连的iPad
级别: 新手上路
可可豆: 41 CB
威望: 41 点
在线时间: 28(时)
发自: iPad
图片上的错误没解决
级别: 新手上路
可可豆: 6 CB
威望: 6 点
在线时间: 7(时)
发自: Web Page
知道你报错说的什么么?报错信息说,没有正确的provisionfile就是你打包用的那个齿轮图标的应用配置文件,授权你的application-identifier,beta-reports-active,钥匙串访问。说明,很有可能,你的profile跟你的application-identifier不匹配,你上传的时候,用的不会是测试的profile吧?还有,如果你使用了某些需要在生成profile的时候配置的服务,诸如推送啊什么的,一定要把选项勾上。不然,我也不知道为毛了。
关注本帖(如果有新回复会站内信通知您)
9*6-8 正确答案:46
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版}

我要回帖

更多关于 请教一个问题 日语 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信