XCODE6 提交至 App Store



http://blog.youkuaiyun.com/jochzhu/article/details/41477095


新到一个公司,以前的苹果开发人员离职,临时接手他的苹果代码,需要修改并上线到APP STORE.  xcode6.0升级到最新的6.1后, 发现各种坑


1. 路径配置不对, 这个是个人习惯问题,之前的人都是绝对路径。一个个的修改,查资料,搞定了。 这里贴出规则,希望还是用相对路径。

   一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。

所以在修改User Header Search Paths这个选项的时候使用
"$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"
将上面的双引号里面的字符串拷贝之后,你会发现这个“$(SRCROOT)”,会自动变成当前工程所以的目录。

这样就可以了,发给别人,别人也不用在去修改路径了


2. 无法提交到APP,提示图片找不到,还有就是出现的Error ITMS-9000问题

  检查后发现是XCODE6升级后提交的图标需要放到 images.xcassets中,并制定不同的设备系统。

  然后Images.xcassets里面的AppIcon中的CarPlay删掉就可以了


3. 附上完整提交APP的流程

一、证书的导出

1.1、前期工作 

首先你需要有一个苹果的开发者帐号,一个Mac系统。

如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。支付99美元每年,怎么申请网上有详细的介绍,在此不多做介绍。

如果你已经有了一个IDP,打开http://developer.apple.com/并登录到苹果MemberCenter,见下:

iOS App提交流程

登录以后可以看到下面这个界面,列出了你开发需要的一些工具,支持,itunes app管理等内容。

iOS App提交流程

选择第二项:Ios provisioning Portal,进入,所有证书相关的都在这里进行。

 

1.2、申请AppId

 

在下图的左边选择 App IDs,我们先创建一个AppId,对于要发布到Appstore上的程序, 都有一个唯一的AppId,下面会列出你当前所有的AppId。

我们点击右上角的New App ID:

iOS App提交流程

其中有两项需要你自己填:

第一个Description,用来描述你的AppId,这个随便填,没有什么限制;

第二项Bundle Identifier (App ID Suffix),这是你appid的后缀,这个需要仔细。

因为这个内容和你的程序直接相关,后面很多地方要用到,最好是com.yourcompany.yourappname的格式,当然没有公司名的个人开发者,第二项可以用你自己的英文名字或者拼音,如下图:

appcan.cn在线ipa包编译时需要填写的iapp IDs就是你在此输入的第二项内容。

iOS App提交流程

填完后submit,如下图,可以看见我们已经生成的appid:ebook appid。想要支持推送服务和iCould等也可以在这儿配置:

iOS App提交流程

1.3、申请发布证书
1.3.1、先创建一个证书请求文件

这儿需要一个Mac系统。以下内容以雪豹系统为例,其他版本差别不是很大。

首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:

 

iOS App提交流程

 

在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,选择存贮到磁盘,点击"继续":

 

iOS App提交流程

 

选择保存的位置,比如选择桌面。

 

iOS App提交流程

 

下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。

1.3.2、安装WWDR证书

继续登录到你的MEMBER CENTER,选择左边的certificates项,可以看到它右边有四个选项,我们选择Distribution,点击下面的click here to download now.

 

iOS App提交流程

 

下载完成后,双击安装,安装成功后,可以在你的钥匙串里面的证书下面看到这个中级证书。

1.3.3、请求一个发布证书

OK,现在来请求一个真正的发布证书,还是在这个页面,点击request certificate:

 

iOS App提交流程

 

这个页面告诉你怎么生成发布证书,点击下面的"选取文件",选择你在第一步创建的证书请求文件,然后点击"submit":

 

iOS App提交流程

 

OK。现在你有一个证书可以下载了,如下图(不能下载请刷新页面):

 

iOS App提交流程

 

1.3.4、安装和导出

点击"download"下载你生成的证书,下载完成后双击安装,如果有如下提示,选择login,OK:

 

iOS App提交流程

 

这时再查看你的钥匙串,应该有下面这一行Iphone Distribution的证书,注意,这个证书有一个小三角可以点击,展开后有一个对应的密钥。如果你没有这个钥匙,那么请检查上面那一步做错了。

 

iOS App提交流程

 

现在发布证书已经安装了,我们选择这个证书,右击,选择,导出"xxxxxxx",如下:

 

iOS App提交流程

 

给你要导出的证书起个名字,选择一个存的位置,注意,保存成P12的信息交换文件

 

iOS App提交流程

 

输入密码,如果Mac系统有密码,后面还会要求你输入系统密码。

 

iOS App提交流程

 

现在你就有了发布程序需要的p12文件。

appcan.cn在线ipa包编译时需要上传的distribution.p12就是你导出的发布证书;certificate password就是导出证书时填写的密码。

1.4、生成provisioning文件

在下图左边选择provisioning选项,同样的右边的子项中选择distribution,来生成一个发布的准备文件:

 

iOS App提交流程

 

选择new profile,在下图中,第一个method,选择App Store;

Profile name,这个随便填,下面的App ID,选择我们开始的时候创建的appid,这个必须一致。确认后提交:

 

iOS App提交流程

 

等待几秒钟,provisioning就可以下载了,点击download,下载。我们得到了一个xxxxxx.mobileprovision

appcan.cn在线ipa包编译时需要上传的distribution.mobileprovision就是你生成的文件。

 

iOS App提交流程

 

现在,我们的证书的准备工作就做完 了,我们有了一个appid,一个p12格式的证书文件,一个provisioning文件。

二、Appcan.cn在线ipa包编译

根据流程一制作的证书及p12文件,开发者就能够对应于进行混编,从而生成出可上传Appstore的ipa包,其流程如下:

AppCan在线的打包方式(非IDE打包方式),用户生成应用时需要选择生成ios平台,勾选后弹出下图窗口:

 

iOS App提交流程

 

需要填写上传Apple开发者在Apple获得的发布应用相关资质信息(详情请参考证书的导出),并却确认提交。务必填写正确否则会打包失败的。

上传相关资质信息后,【注意】提交打出的文件包是用来上传到苹果App Store 用的 不能直接安装到手机测试

Q:打包成功后我如何上传到App Store?
A:下载.ipa文件到本地,更改文件后缀.ipa为.zip。(上传请参看ipa包提交苹果App Store

Q:打包完成后我如何安装到越狱手机上测试?
A:1、下载.ipa文件到本地,更改文件后缀.ipa为.zip并解压缩文件包,
2、新建Payload文件夹,
3、把解压缩.zip包里面的文件夹拷到Payload文件夹里
4、压缩Payload文件夹为.zip文件包,改.zip后缀为.ipa
5、安装到手机

跳过后打出的安装包可以直接安装到越狱手机。

三、Ipa包提交苹果App Store

通过AppCan在线与开发者证书混编后,生成的ipa包(后缀.ipa改为.zip)即可上传至苹果Appstore,以下是操作流程。

3.1、在itunes中创建程序

 

该部分内容继续以雪豹系统为例

 

打开https://itunesconnect.apple.com/(membercenter中也可以找到)选择"Manage Your Applications":

 

iOS App提交流程

 

点击"Add New App",填写下面的表格。

默认语言,appname,SKU Number,这是自己程序的标识,点击后面的"?"有说明。Bundle id:这个可以选择,必须和你申请证书时候的appid保持一致。否则会上传失败。

 

iOS App提交流程

 

填完后,点击"Continue"。

这个页面设置程序的生效时间和价格,选择后,点击"Continue"。

 

iOS App提交流程

 

下图的页面需要填一些程序的信息,注意"Review Notes (optional)"这个选项是对苹果review程序的说明,如果你的程序需要登录才可以使用,要在这里提供用户名和密码,如果你的程序的一些特色很 隐晦,可以在这里提供操作步骤,这是让apple的review人员看的东西,不会在App Store里面显示。

 

iOS App提交流程

 

下图的页面是一些分级的说明,根据需要选择:

 

iOS App提交流程

 

下面是metadata,这个可能很重要,注意那个keywords,设置的越多你的程序被搜到的几率越大,但是最好不超过100字,否则可能会被 苹果认为是作弊。Large app icon 这需要一张1024x1024的icon。screenshots是屏幕截图或者说明性的图片。

 

iOS App提交流程

 

填完后done,这样就创建好了一个app,点击"view detail",然后选择“Ready to Upload Binary”。这时发现你的app显示一个黄色的wait for upload,表示你可以上传你的二进制代码了。如下图:

 

iOS App提交流程

 

3.2、上传程序

上传程序请在你的mac系统下找到application uploader工具,找不到的可以在下图这儿下载。Xcode4.x将该工具集成到了xcode里面。

 

iOS App提交流程

 

在Mac下安装了该工具后,运行,如果是第一次,可能需要你用你自己的idp帐号登录(以后会保存在钥匙串中),登录后会自动检查你有没有等待上传状态的app,选择你创建好的app,如下图:

 

iOS App提交流程

 

点击"Next"按钮:

 

iOS App提交流程

 

点击"choose"按钮,选择你从AppCan在线编译出来的ipa包,修改.ipa后缀为.zip,请不要打开修改包里面的内容(包括添加和删除资源图片等文件),否则会上传失败。

 

iOS App提交流程

 

点击"Send"按钮,等待上传,上传完成后,打开itunesconnect,这时候你的程序状态变为"upload received",程序进入苹果第一步审核。第一步审核几分钟到几小时。当通过第一步审核后,程序状态变为"wait for review",此时程序进入等待人工审核的状态,大概4天到2周的时间都是这个状态,直到排队轮到你的程序时,程序进入"in review"状态,如果你的程序没有内容上的问题,符合苹果的审核标准,那么审核成功,你程序的状态变为绿色的" Ready for Sale",如果审核失败,程序状态变为红色的" Rejected "。

上传过程中每一步的失败苹果都会发邮件给你,或者你能在Resolution Center看到详细的失败信息。

当你的程序变为"ready for sale"状态时候,你就可以在appstore里面找到它了。至此,上传结束。你就可以通过IOS设备在Appstore中找到你的应用了。


IOS8.0 提交注意:

 2、"Versions"标签下

(1)上传截图

  说一下各个inch下的图片规格要求:  (以下讲的都是竖屏、包括状态栏的)      

3.5inch(必须)640*960
4inch(必须)640*1136
4.7inch(可选)750*1334
5.5inch(可选)1242*2208

  A、在xcode6中选择iphone5的模拟器,快捷键command+s截图,桌面上得到规格为640*1136的截图。

  B、打开图片,菜单栏中“文件”->“导出”,注意了:(1)图片名不能包含中文;(2)图片格式为jpg(图片不能带有透明通道)
     按这样的方法搞出来的图片就能够成功上传到4inch的图片栏里面了。其他规格的图片类似吧。

    

三、上传二进制程序包

    1、进入xcode,修改bundle identifier和版本号,保证与申请的信息一致。

    2、修改code signing中的证书和配置文件。

    3、将scheme改为发布、如果有zome要去掉

    4、archive(验证)->submit(提交)

    5、输入账号    

三、填写app的描述信息
     copyright:所有权
     Primary Category和Secondary Category
     keywords:搜索app时使用的关键词
     support url :如果app出了什么问题,可以跳到该支持页面
四、Pricing
    设置生效时间和价格,tier1为1美元。还可以指定发布app的商店,默认全球的商店。

### LlamaIndex 多模态 RAG 实现 LlamaIndex 支持多种数据类型的接入与处理,这使得它成为构建多模态检索增强生成(RAG)系统的理想选择[^1]。为了实现这一目标,LlamaIndex 结合了不同种类的数据连接器、索引机制以及强大的查询引擎。 #### 数据连接器支持多样化输入源 对于多模态数据的支持始于数据收集阶段。LlamaIndex 的数据连接器可以从多个异构资源中提取信息,包括但不限于APIs、PDF文档、SQL数据库等。这意味着无论是文本还是多媒体文件中的内容都可以被纳入到后续的分析流程之中。 #### 统一化的中间表示形式 一旦获取到了原始资料之后,下一步就是创建统一而高效的内部表达方式——即所谓的“中间表示”。这种转换不仅简化了下游任务的操作难度,同时也提高了整个系统的性能表现。尤其当面对复杂场景下的混合型数据集时,良好的设计尤为关键。 #### 查询引擎助力跨媒体理解能力 借助于内置的强大搜索引擎组件,用户可以通过自然语言提问的形式轻松获得所需答案;而对于更复杂的交互需求,则提供了专门定制版聊天机器人服务作为补充选项之一。更重要的是,在这里实现了真正的语义级关联匹配逻辑,从而让计算机具备了一定程度上的‘认知’功能去理解和回应人类意图背后所蕴含的意义所在。 #### 应用实例展示 考虑到实际应用场景的需求多样性,下面给出一段Python代码示例来说明如何利用LlamaIndex搭建一个多模态RAG系统: ```python from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader, LLMPredictor, PromptHelper, ServiceContext from langchain.llms.base import BaseLLM import os def create_multi_modal_rag_system(): documents = SimpleDirectoryReader(input_dir='./data').load_data() llm_predictor = LLMPredictor(llm=BaseLLM()) # 假设已经定义好了具体的大型预训练模型 service_context = ServiceContext.from_defaults( chunk_size_limit=None, prompt_helper=PromptHelper(max_input_size=-1), llm_predictor=llm_predictor ) index = GPTSimpleVectorIndex(documents, service_context=service_context) query_engine = index.as_query_engine(similarity_top_k=2) response = query_engine.query("请描述一下图片里的人物表情特征") print(response) ``` 此段脚本展示了从加载本地目录下各类格式文件开始直到最终完成一次基于相似度排序后的top-k条目返回全过程。值得注意的是,“query”方法接收字符串参数代表使用者想要询问的内容,而在后台则会自动调用相应的解析模块并结合先前准备好的知识库来进行推理计算得出结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值