XCode 4 Distribution App to AppStore
刚刚用lion系统,装上了XCode 4.2,发布程序到AppStore时,发现用原来的步骤,却提示出错,查了一下相关文档,才明白XCode 4之后的变化。
文章来自:http://www.cocoachina.com/bbs/read.php?tid-55825.html
1. iOS Provisioning Portal 和iTunes Connect 没有变,下载 与安装 .mobileprovision文件与以前一下。
2. Xcode
4 整合相关的工具(All in One), 集成了Organizer与Application Loader.
Xcode4多了Run/Build Scheme的概念,指以前的编译的选项如 device/simulator, iOS version等。
发布应用时需要选择iOS Device:
选择 应用target及'iOS Device'
点击 Edit Scheme... 以编辑Archive选项,它的默认 编译配置为Release 并且 将归档显示在Organizer中:
修改scheme
3. 检查 编译配置文件 :product name, info.plist, version, Target Device Family, iOS Deployment Target, Code Signing Identity etc. (这与Xcode 3.x一致)。
4. 进入Product菜单->Archive, 然后会自动 弹出Organizer
Archive包是用来上传到AppStore的
Xcode4让你不需要关心编译发布的程序包在哪里,只需要在Organizer中管理即可。
当然你可以在XCode->Preferences->Locations tab配置程序的存储位置。
5. 在Organizer中选择 Archive, 验证与上传。
Validate and submit your
app
to AppStore
6. 成功上传App之后,Archive状态会变为 已提交。
注意:
Organizer中“Share Application” 是发布hoc包 ,将会生成一个.ipa文件,可用于真机测试。
使用html js开发webapp的过程中,最注重的还是对速度的优化和用户的体验;而相对于native原生的android应用,webapp轻便了很多;甚至在一些设备中的表现跟使用java语言开发的程序不分伯仲;这让我们更加坚定的选择使用前端技术来开发手机应用;下面介绍一下自己开发过程中遇到的和从其他渠道搜集总结的一些经验和大家分享,希望相互交流共同进步。
phonegap是最常用的一个用来开发webapp应用的一个框架;
1,手机应用中的click事件,在系统进行解析的时候会被赋予0.3s的延迟,所以要想加快点击操作,那就使用tap或者touch事件;
2,应用中如果引用了较多的图片资源,那么你就要想到预加载、使用css中的after伪类吧;
body::after{content:url(/index.html) url(/index.html) url(/index.html) ;display:none;}
这个只适用于webkit内核解析的浏览器,对于ie;需要在进行代码适配,方法:在前面的基础上添加一个空标签
#preloadcontent{
background-image:url(/index.html);
background-image:url(/index.html);
width:0px;
height:0px;
display:inline;
}
<!--[if(IE 6)|(IE 7)]>
<div id="preloadcontent"></div>
<![endif]-->
3,出现闪屏
4,出现强退
5,出现连跳
6,html中的样式使用,text-shadow box-shadow都会拖慢应用的运行速度,因为这些样式需要花费很长一段时间 来进行渲染
7,如果做手机端,千万不要使用jquery mobile, 因为它很垃圾!
方法一:直接在xml文件里设置 //全屏(隐藏标题栏和状态栏) android:theme="@android:style/Theme.NoTitleBar.Fullscreen" // 隐藏标题栏 android:theme="@android:style/Theme.NoTitleBar" // 1、在相应的Activity属性中添加即可 // 2、若想让所有Activity都是这样设置就在Application属性中添加 方法二:在代码里添加 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隐藏标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 全屏 getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN); setContentView(R.layout.main); } // !!!注意使用第二种方法会在Activity打开的瞬间显示标题栏,第一种方法不会这样,所以推荐第一种方法