xcode7 打包企业版ipaswift 应用 ipa变大了很多 是什么原因造成的

二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
爱宁静,不爱喧闹,
爱奋斗,也爱自由,
爱顺其自然,爱独来独往,
没高学历,不算成功,
没车也没房,但我真诚,
走进你的世界,却不留痕迹,
我是过客,不只是过客...
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
&然后 Archive&&Destination -& IOS Device&& Build Cofiguration -& Release Options勾选上.&&OK&然后&&XCode菜单 Product -&&&Archive&&& 如果有证书的话这会儿 就会 到另一个 页面.否则会有一个错误.然后选&Distribute.&&它会问你发布到那儿. 打包的话就选 第三个. Export as Xcode Archive. &&然后Next. &然后选择一个保存位置.&然后打开 iTunes & .对着编译好的 一个 .xcarchive 文件右键 显示 包内容. 在Products 里面 Application 文件夹 里面的 app 程序.&&把 里面的 &.app 拖到 iTunes .然后在 应用程序 里面会有 一个 你的项目文件. 直接从iTunes中拖出来就可以了.
阅读(15255)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Xcode 打包 ipa 包',
blogAbstract:'& & & &上次介绍了木有证书的打包ipa。如果安装证书后,我们还有一种正常导出的方法。首先要将工程编译改成Release模式。XCode菜单 Product -& scheme - & Edit Scheme&然后 Archive&&Destination -& IOS Device&& Build Cofiguration -& Release Options勾选上.&&OK',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:0,
permalink:'blog/static/',
commentCount:4,
mainCommentCount:2,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'爱宁静,不爱喧闹,\n爱奋斗,也爱自由,\n爱顺其自然,爱独来独往,\n没高学历,不算成功,\n没车也没房,但我真诚,\n走进你的世界,却不留痕迹,\n我是过客,不只是过客...',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}xcode7--iOS开发---将app打包发布至app store - 推酷
xcode7--iOS开发---将app打包发布至app store
时隔3个月再次接触应用打包,又是一顿折腾
说说这次的感受吧:
变得是打包时间减少到4小时(其中大部分时间还是xcode7或者是iOS9的原因),不变的是还是一如既往的坑!!
好了,废话不多说,下面讲讲如何将一个APP 发布到 苹果的app store!
在xcode7以前,用户是不能直接真机调试的,必须有开发者帐号才可以真机! xcode7出现后,用户可以直接把app 安装在自己的手机上面
1=====&首先你得向apple 支付99刀成为苹果的全平台开发者(xcode7以前,99刀只能开发iOS应用),他会把你的apple id变成开发者帐号,这是最最基础的
2=====&在xcode的preference里面填写你的开发者帐号
3=====&注册App ID,在Xcode中填写Bundle Identifier
新增一个APP ID,他是专门属于你的这个应用的
---------------------------我是华丽的分割线-------------------------
bundle id 一般写com.你的公司名.应用名!
然后continue
---------------------------我是华丽的分割线-------------------------
然后打开XCode,选择 Target & Summary 。在 Identifier 输入框中输入上面注册的 Bundle Identifier 。
---------------------------我是华丽的分割线-------------------------
4=====&创建发布证书(Distribution Certificate)
iOS应用都有一个安全证书用于验证开发者身份和签名
打开mac上的钥匙串,然后打开证书助理,选择从证书机构颁发证书
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
添加刚才创建的.CSR签名文件。
刷新页面,然后就可以下载证书了。下载后安装。
最后一步,打开Keychain Access。选中刚才安装的private key,选择菜单中的Export Item将私钥导出。将导出的私钥备份到一个安全的地方,以便以后重装了系统可以还原。(团队共用这一份)
5=====& 创建Distribution Provisioning Profile(俗称pp文件)
打开Provisioning Portal,选择Provisioning -& Distribution,选择添加一个新的profile。Distribution Method要选择App Store,App ID需要输入在前面申请的App ID。证书也要选择刚开始申请的.cer文件.提交后需要等一会儿再刷新这个页面。然后就可以下载和安装profile了。安装后profile会被添加到XCode。然后就可以不用管了
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
---------------------------我是华丽的分割线-------------------------
6=====&用Distribution Profile为应用签名
打开XCode,在 Build Settings 中选择Code Signing。在 Release 设置上选择刚才申请的Distribution Profile。
一定要选择生成目标为iOS device,然后点击 Archiving 开始打包应用。
点击Edit Schemes,将 Archive 设置为Release。
7=====&在iTunes Connect上传App
上新建你的app(我就是忘了先新建(第7步和8步顺序相反),所以就导致了一只出错,报我的bundle id 不合法,弄了好久才知道我应该在iTunes connect先新建app才行)
------------主要是下面这个---------------
---------------------------我是华丽的分割线-------------------------
8=====&打包App
这样就可以把本地的app 添加到connect中了,然后就可以构建了
然后把这一页的信息填写正确后就可以提交了(很多坑!!! )
再说这次提交时因为xcode7或者ios9而导致的问题:
1).提交app store时,突然出现这个错误(xcode7以前从来没有遇到,不知道是不是xcode7或者ios9的锅)
搜索到的技术文章说有三种情况可能会导致这个问题:
1.检查启动图片是不是.png格式的
2.Put those images at root level of your project
3.放置一张启动图片命名为&Default-568h@2x.png&,大小是640 & 1136 pixel的放在你的工程根目录下
我的app就是这样解决这个问题的
2).在iTunes connect里面填写信息的时候,APP图片不合法,首先必须要求大小是的
造成的原因是你的图片有圆角
解决方法是先用画图工具把它另存为.jpg格式的,然后再把它转换成.png格式的(也可以不用转)
解决问题!
3).在iTunes connect里面填写截图信息的时候,截屏图片不合法(这里是我手动更改的像素,太痛苦了,再也不想弄了...)
必须要求你的尺寸为:
3.5 &640 x 960
4.0 &640 x 1136
4.7 &750 x 1334
5.5&1242 x 2208&
ipad 1024 x 768
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
排版有问题
没有分页内容
视频无法显示
图片无法显示【iOS Xcode 打包之后,不能输出日志】-突袭网
23:18:13【 转载互联网】 作者: &&|&责编:李强
现象:一个项目,之前做的好好的,后来打包,生成ipa文件之后,
再运行的时候,NSLog的日志都不输出了。
解决方案:
在模式选择里面,里面包含:&Debug&、&Release&两种,设置&Debug&
(点小图查看大图)
(点小图查看大图)
在开发过程中,我们经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输出,打包的时候,模式自动切换到了&Release&。
================可能对您有帮助================
问:序,一进就退出来了!!求解,怎么回事???答: 把Autolayout复选款取消掉试试 ===========================================问:用zend studio 10写IOS程序的时候是不是最后打包使用还要依靠Xcode?还有...答:IOS怎么用zend studio开发啊?··这个是开发php的吧···苹果的app都要用苹果系统来开发的··或者你去弄个黑苹果··===========================================问:最近使用Xcode7上传了一个app,在打包上传的时,我的app是支持iOS8以上...答:你的工程里面没有导入coreFoundation框架。===========================================问:我需要回去用armv6再生成,然后加到项目里吗?setting 里面哪里需要改动...答:静态库分为真机版和模拟器版本,打包用真几版本。 Architectures 选择第一个选项,不要选择arm64那个,选另外一个===========================================问:我需要回去用armv6再生成,然后加到项目里吗?setting 里面哪里需要改动...答:1.获得Unity和iOS导出器 如果你还未这么做,你首先需要在官网下载最新版本的Unity。已经出现了2个版本,分别是免费版和Pro版,所以你可以根据自己的需求做出选择。自从2013年5月以来,手机便自带导出器,所以你无需为它们再花钱了。 2.注册苹果...===========================================问:最近使用Xcode 7打包上传App Store去审核,审核通过了后,发现iOS8系统...答:你的工程里面没有导入coreFoundation框架。应该。===========================================问:最近使用Xcode 7打包上传App Store去审核,审核通过了后,发现iOS8系统...答:找到xcode,点击右键,打开显示包内容,按路径Contents/Develpoer/Platforms/iPoneOS.platform/Developer/SDKs,这时候你就看到安装包了,我的是iPhoneOS7.1.sdk。 然后copy一下该sdk,然后将名字命名为iPhoneOS8.0.sdk 再然后Contents/Develpoer...===========================================问:最近使用Xcode 7打包上传App Store去审核,审核通过了后,发现iOS8系统...答:首先确定你的设备运行的操作系统符合项目要求的最低系统版本以及芯片满足项目设定要求, 如果满足但在左上角还是提示为不符合要求的设备(Ineligible Devices),那么选择 Product-&Destination 在那选择你的设备就能选中并且编译运行了。 这只...===========================================问:ios 用xCode开发,怎么打包ipa包,在未越狱的iPhone上可以直接安装,而...答:在项目的开发之中,每个开发者最激动最高兴看到的是自己编写的代码,不用太多的调试就可以畅通无阻的运行,无任何bug侵袭。但这只是个理想的状态,看起来运行良好的代码往往都会存在潜在位置的bug,这是每位开发者最头痛的事,也是每位开发者都...===========================================6462人阅读
大家都知道,苹果在发布7.1以后,不打个招呼就把企业发布方式给换掉了(谴责一下~)
以前普通服务器+web页面+ipa+plist就可以搞定,现在已经不行了。
关于现在企业发布教程网上贴出来了很多,也就不再赘述了。这里推荐下好友阿福的博客教程,地址:http://blog.csdn.net/lizhongfu2013/article/details/
这里重点说一下会遇到的问题以及解决方法。
1、由于我们现在需要的是https加密类型的web页面,所以我们需要购买证书。这里要注意的是自己颁发的证书是不可以的(类型12306那种网站的证书),必须要购买的受信任的证书。如果没有的话请参考上面的博客
2、如果你是按照上面教程来的或者类似的话,要注意一点,ipa和web页面是放在普通服务器路径下面的。所以plist里所指向的ipa地址是http而不是https
3、我们所需要的文件中只需要把plist文件放在https的服务器上就可以,其他的没有进行尝试(PS.因为公司没有购买证书 ==!)
4、说下几个文件的逻辑关系:
1)、首先我们的设备(ipad、iPhone、touch and so on)访问web页面
2)、点击下载后web页面根据plist文件地址去访问plist
3)、程序开始下载,下载地址是plist文件里我们写的ipa的地址,icon在下载时会显示我们写在plist文件里的图片。没有的话会是一个灰色的空白,下载完成后显示程序内部的icon
5、Xcode6以后没有plist文件也是一个坑,5以及5以前使用Ad Hoc方式打包的时候有一个可选项用来配置生成的plist里的ipa路径,icon路径以及显示名称等信息。现在也没有这些了。只能我们手动去弄一个plist来。方法可以找人copy一个来,也有人贴出了用终端生成的方法。感兴趣的可以去stackoverflow去找找
6、在web页面里点击下载提示无法连接到xxx的时候,一般是文件路径没有写正确。检查下plist和ipa路径是否正确。文件存放位置是否正确
7、开始安装应用的时候提示无法下载应用程序,一般是ipa路径或者存放位置不正确。
8、ipa开始下载了,但是进度条跑着跑着不跑了,或者退回来了。这种情况应该是签名有问题(问题7也有可以是签名问题)。可以使用iPhone实用配置工具等来检测
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:454329次
积分:3340
积分:3340
排名:第5709名
原创:36篇
转载:60篇
评论:216条
(10)(5)(2)(3)(2)(3)(2)(1)(4)(7)(3)(3)(2)(2)(2)(1)(4)(5)(3)(4)(1)(1)(1)(1)(2)(6)(1)(2)(1)(7)(6)Xcode 7 beta发布,Swift 2.0带来哪些新变化?
发表于 13:30|
来源未来眼之老码团队|
作者王芳杰
摘要:WWDC 2015首日,苹果发布版本号为7A120f的Xcode 7 beta,继续修改Swift语法。Swift 2.0包含了许多非常重要的新特性,最新的OS X 10.11、iOS 9和watchOS 2 SDK还采纳了一些Objective-C的特性来提高Swift的编程体验。
详解Swift语言的改变
OS X 10.11、iOS 9和watchOS 2 SDK采纳了一些Objective-C的特性用来提高Swift的编程体验,如可空性、类型化集合和一些别的特性。
标准库中重构了很多泛型的全局函数(如map、filter和sort),采用协议扩展方式增加这些方法。这个好处是对于其他的关联类型能很好的适配。
方法和函数现在使用同样的参数命名规则了,我们可以用“_”符号来省略一个外部的参数名,为了简化使用,用来指定参数名的简化符号“#”被移除,因为Swift为默认参数提供了特殊的规则:
func printFunction(str: String, newline: Bool)
func printMethod(str: String, newline: Bool)
func printFunctionOmitParameterName(str: String, _ newline: Bool)
printFunction(“hello”, newline: true)
printMethod(“hello”, newline: true)
printFunctionOmitParameterName("hello", true)
NS_OPTIONS类型现在遵循OptionSetType协议,这样可以避免set样式的接口调用:
避免采用如下位运算的调用方式:
// Swift 1.2:
object.invokeMethodWithOptions(.OptionA | .OptionB)
object.invokeMethodWithOptions(nil)
if options & .OptionC == .OptionC {
// .OptionC被设置
选项设置支持字面量语法和set样式的调用,如contains:
object.invokeMethodWithOptions([.OptionA, .OptionB])
object.invokeMethodWithOptions([])
if options.contains(.OptionC) {
// .OptionC is set
在Swift中一个新的Option设置类型可以采用结构体遵循OptionSetType协议的方式编写。如果该类型中指定了一个rawValue属性和static let的常量定义,那么标准库将会为其他选项提供默认实现:
struct MyOptions: OptionSetType {
let rawValue: Int
static let TuringMachine = MyOptions(rawValue: 1)
static let LambdaCalculus = MyOptions(rawValue: 2)
static let VonNeumann = MyOptions(rawValue: 4)
let churchTuring: MyOptions = [.TuringMachine, .LambdaCalculus]
do/while循环被重名为repeat/while,这样更加显而易见:
Swift 1.2:
} while &condition&
Swift 2.0:
} while &condition&
println和print被合并成一个print函数,并带有一个默认的参数:
Swift 1.2:
func print(&stuff to print&)
func println(&stuff to print&)
Swift 2.0:
func print(&stuff to print&, appendNewline: Bool = true)
Swift的文档注释现在基于Markdown语法。
参数纵览语法:
- Parameters:
单独参数语法:
- parameter x: ...
- parameter y: ..
- returns: ...
其他需要在QuickHelp中高亮的语法字段,可以参考Markdown语法。
CFunctionPointer&T -& U& 类型被移除,C函数现在使用新的@convention(c)属性声明,和其他函数类型一样,@convention(c) T-&U是一个非空的除非是它是可选的。@objc_block属性由@convention(block)取代。
类型标注不能用于模式匹配,而需要作为标注声明的一部分:
这意味着,以前的这样的写法:
var (a : Int, b : Float) = foo()
需要被重构为:
var (a,b) : (Int, Float) = foo()
其实这个改动原因是为了和元组用法相区分。
在Objective-C的枚举类型导入到Swift时,已经废弃的枚举元素将不会影响可用元素的使用,这个可能需要Swift中一些枚举名称的改变。
从C中导入的枚举类型都表示为RawRepresentable,这包括哪些没有被声明为NS_ENUM和NS_OPTIONS枚举值,作为这个变化的一部分,所有这些枚举类型中的value属性都需要重名为rawValue.
find被重名为indexOf(),sort被重名为sortInPlace()以及sorted()重名为sort().
String.toInt()重名为Int(String)的可失败构造器,因为构造器语法更适合类型转换。
String类型不再遵循SequenceType,可以使用.characters,.utf8和.utf16对应字符集的运算。
在泛型函数中声明了类型参数但是在函数中没有使用时将产生一个编译时错误,例如:
func foo&T&() { } // error: generic parameter ’T’ is not used in function signature
修复了Swift中泛型需求打印时“T==T”的错误。
修复了跨文件协议遵循时符号不可见或者重复的错误。
在Swift中增加了@objc(propertyName)属性,当该属性导入到Objective-C时可以采用这个propertyName作为getter/setter访问器的默认名,例如:
class MyClass : NSObject {
@objc(theProperty) property: String // Objective-C属性被命名为“theProperty”
// Objective-C getter访问器被命名为“theProperty”
// Objective-C setter访问器被命名为“setTheProperty:”
作者简介:
王芳杰 老码团队()成员,目前就职于叠拓信息技术有限公司,担任叠拓NGN中国人力资源培养经理、叠拓NGN中国售前经理,《老码说编程之玩转Swift江湖》一书作者。
CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面,如果您有想分享的技术、观点,可通过电子邮件(tangxy#csdn.net,请把#改成@)投稿。
第一时间掌握最新移动开发相关信息和技术,请关注mobilehub公众微信号(ID: mobilehub)。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章}

我要回帖

更多关于 ios xcode7.0 打包ipa 的文章

更多推荐

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

点击添加站长微信