如何打包到ios平台

iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)? - 彪哥的地盘 - ITeye博客
iPhone如何打包成一个通用的静态库文件(模拟器和真机都可以用)?
最近在做一个购票项目,支付与银联合作,他们提供2个.a的静态库文件,一个真机使用,一个是模拟器使用。但是每次真机测试的时候,都要换成真机的.a库,模拟器测试的时候又要换回来,特别麻烦。一天几十次真机和模拟器测试,来回折腾浪费了很多时间,我终于受不了,网上也没一个完整的解决方案,google了下方法,最后通过自己的实践,成功的解决了.a静态库文件通用性问题,希望这个能给大家带来方便,痛苦的童鞋们,可以解脱了!
1.先来一个必须的命令:
~/Library目录在lion下是默认隐藏的。这样很不方便。用一下命令可以使其显示:
chflags nohidden ~/Library
如果想再让其隐藏,可以:
chflags hidden ~/Library
2.静态库工程的建立:Xcode New一个新的project,选择IOS下面的Framework&Library,下面有一个Cocoa Touch Static Library。直接next去建立一个MtimeLibrary这样的工程。(里面的功能就不要关注了,简单 2个数相加)
?
3.工程建立以后,删除默认的.h .m 文件,然后自己创建CountNumbers..h CountNumbers..m文件。如下图:
4.OK,选择iPhone 5.1Simulator ,Command + B 编译,我们可以在Products下面找到我们编译生成一个模拟器上可运行的libMtimeLibrary.a这个文件,然后选择真机(如下图)再编译一次,这样会生成一个可以真机运行的libMtimeLibrary.a库。
5. 在libMtimeLibrary.a 右键 Open in Finder,可以找到libMtimeLibrary.a所在路径、后面我们会新建一个项目来添加这个.a文件测试。
打开终端:输入以下命令(路径根据自己的来决定)
cd& /Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Products/
这样就到了Products目录下了,ls 以后可以看到:
再输入一个命令: cd& Debug-iphonesimulator/
然后通过下面命令来查看libMtimeLibrary.a信息
命令:lipo -info libMtimeLibrary.a
显示:
cashmatoMacBook-Pro:Debug-iphonesimulator cash$ lipo -info libMtimeLibrary.a
input file libMtimeLibrary.a is not a fat file
Non-fat file: libMtimeLibrary.a is architecture: i386
i386是mac上的架构。
然后再输入下面命令:
cd ../
cd&& Debug-iphoneos/
继续通过命令来查看& lipo -info libMtimeLibrary.a,
显示:
cashmatoMacBook-Pro:Debug-iphoneos cash$ lipo -info libMtimeLibrary.a
input file libMtimeLibrary.a is not a fat file
Non-fat file: libMtimeLibrary.a is architecture: armv7
armv7是iOS上的jia'ge架构。
到这里我们也明白了,为什么一个在真机上可以使用,一个只能在模拟器上使用了吧!
最后我们要做的就是要让这个libMtimeLibrary.a文件同时有i386和armv7信息,这样就是一个通用的静态库文件了。
6. 新建一个MtimeLibraryDemo应用,然后把真机或者模拟器的libMtimeLibrary.a 和CountNumbers.h文件引入进来,如图:
?
添加CountNumbers.h文件到需要调用的类里面,然后就可以调用libMtimeLibrary.a里面的方法了。
//
//& AppDelegate.m
//& MtimeLibraryDemo
//
//& Created by cash on 12-3-23.
//& Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "AppDelegate.h"
#import "CountNumbers.h"
@implementation AppDelegate
@synthesize window = _
- (void)dealloc
{
&&& [_window release];
&&& [super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
&&& self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
&&& // Override point for customization after application launch.
&&&
&&& CountNumbers *cn = [[CountNumbers alloc] init];
&&& int count = [cn addTwoNumbers:10 :20];
&&& NSLog(@"count:%d",count);
&&&
&&& self.window.backgroundColor = [UIColor whiteColor];
&&& [self.window makeKeyAndVisible];
&&& return YES;
}
7. OK,编译运行这个应用程序。 错误了。。这个就是这篇文档的关键了.
我们找到刚才生成真机和模拟器的libMtimeLibrary.a目录。
debug-iphoneos里面的是基于arm6 arm7编译出来的库文件。debug-iphonesimulator文件夹下面的是基于i386编译出来的文件。
10.& 最后是关键步骤:
通过lipo -create 命令来合并2个静态库文件。(-output 后面的/Users/cash/Desktop/test/libMtimeLibrary.a 是合并后的路径和文件名字)
lipo -create "/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Products/Debug-iphonesimulator/libMtimeLibrary.a" "/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Products/Debug-iphoneos/libMtimeLibrary.a" -output "/Users/cash/Desktop/test/libMtimeLibrary.a"&&
最后通过命令 lipo -info libMtimeLibrary.a& 可以知道这个文件已经有i386和armv7信息了。
cashmatoMacBook-Pro:test cash$ lipo -info libMtimeLibrary.a
Architectures in the fat file: libMtimeLibrary.a are: i386 armv7
cashmatoMacBook-Pro:test cash$
//银联合并成通用静态库
lipo -create "/Users/cash/Desktop/iphonesimulator/upomp_bypay/lib/libUPOMP.a" "/Users/cash/Desktop/iphoneos/upomp_bypay/lib/libUPOMP.a" -output "/Users/cash/Desktop/test/libUPOMP.a"&&
浏览 12631
浏览: 108763 次
来自: 北京
非常不错,解决了我的问题 赞一个!!!
chflags nohidden /Users/用户名/Lib ...
好东西,!0.0
学习了,不错。。。iOS开发如何把项目打包为ipa文件供越狱手机安装
最近自己做的一个项目,由于app
store发布流程比较复杂,且审核周期较长,客户希望提前能看到产品,所以我先给自己的项目打包成一个ipa文件(类似Android的apk安装包),然后发布在"蒲公英
平台",该平台会自动生成一个二维码方便用户扫码下载,体验还是不错的.
具体流程如下:
先点击如图按钮,选择Edit Scheme,同时运行设备一定要选择真机,不能选择模拟器.
选择了编辑按钮之后,选择运行模式为release模式.
选择完成之后,command+B编译一次,此时在Products文件夹可以看到已经打包好的app文件.
但是这个app文件还不是我们想要的ipa文件,这时候我们选中这个app右键show in
finder找到这个文件所在路径,然后打开电脑上的iTunes,把这个app文件拖动到如图位置(手机连上iTunes,选中我的应用程序):
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。蒲公英 - 文档中心 - Build iOS IPA File
Build iOS IPA File
Prepare knowledge
IPA file is the iOS application installation package file which the extension is .ipa. Whether you can correctly package IPA files, is the key to determining whether an IPA file can be properly installed after being uploaded to the Pgyer. Here's how to properly package an iOS app's IPA file.
The IPA file that is applied can be generated in two ways:
Use the command line `` `xcodebuild exportArchive -exportFormat ipa``` to complete
Package with Xcode
In view of the second way is simple and fast and also most users are used, so here mainly describes the second ways.
Package the IPA file using Xcode
First, the target machine will be compiled into "iOS Device"in Xcode, then click "Product" -> "Archive", as shown:
After Archive is successful, you can see the corresponding file in Xcode Organizer.
Next, click on the "Export" button in Organizer, as shown below:
In the next pop-up interface need to select the certificate type, such as following:
If you are using an individual or company Apple Developer Account ($ 99), please select “Save for Ad Hoc Deployment”
If you are using an enterprise Apple Developer account ($ 299), please select “Save for Enterprise Deployment”
As shown below:
Notice:Please do not select “Save for iOS App Store Deployment”,otherwise you will not be able to install through the Pgyer.
After selecting Next, Xcode will automatically attach the test device's signature information and export the corresponding IPA file.
For a description of the Apple Developer account, please read:
QQ群:(开发者)
QQ群:(用户群)
客户服务电话:400 866 0210
“蒲公英”是我们的梦想,也是我们展现价值的舞台。蒲公英成长日志,记录蒲公英成长点点滴滴。
蒲公英专家测试包括 Bug 探索测试、iOS 上线预审、iOS 审核加速。专家测试提供最简单高效的 APP 测试。
Copyright (C)
西安点测网络科技有限公司
陕ICP备号-3 | 陕公网安备03号 | 陕IAS备iOS开发:App项目打包上传到App Store的步骤
第一步:登录苹果开发者网站
第二步:进?Member Center
2.1 点击Member Center
2.2登录开发者账号
2.3进入生成证书 界面
第三步: 生成证书
3.1生成证书
3.1.1 点击添加
3.1.2 选择continue,进入发布证书创建界面
3.1.3 选择发布证书,点击next
3.1.4 选择continue,进入CSR添加界面
3.2 创建CSR
3.2.1 打开钥匙串keychain ##
3.2.2 点击屏幕上方:钥匙串访问&》证书助理&》从证书颁发机构请求证书
3.2.3 输入邮件地址,并选择存储到磁盘
3.2.4 存储到桌面
此时桌面生成了一个.certSigningRequest的文件;vcD4NCjxoMyBpZD0="33-将csr文件添加到发布证书">3.3 将CSR文件添加到发布证书
3.3.1 选择CSR文件:点击Choose File -& 找到刚才存储到桌面的证书文件(.certSigningRequest) -& 点击选取
3.3.2选择continue证书申请成功
3.3.3点击download,双击安装(双击后证书图标会闪一下,表示安装成功)
第四步:生成App IDs
4.1 选择Identifiers -》app ids -》点击?
4.2 输入name 和 bundle ID
4.3 点击continue,提交
第五步:生成描述文件
5.1 点击Provisioning Profiles -& All - & ?
5.2 选择发布到 App Store
5.3 选择第四步创建的app ID
5.4 选择配置证书概要文件
5.5 点击continue 生成描述文件,给配置文件起名,并下载,双击安装
至此,证书已经申请成功!
第六步:将项目打包上传
6.1 安装发布证书
6.2 配置bundle ID与 bundle Name
6.3 真机调试状态:release
至此,项目已打包上传成功!!只需在iTunes Connect 中设置,填写项目描述等内容后就可以提交到App Store请求审核通过上线。Xcode打包ipa的基本步骤 - 简书
Xcode打包ipa的基本步骤
确保电脑联网,不然干什么都是扯淡!!
1、关于Apple ID
很简单,任何人只要跟苹果设备打交道,必须要有Apple ID。要想打包ipa,同样也必须要有Apple ID,没有的自己注册去。
下面为在Xcode中添加Apple ID作为账号的步骤
CA45BCA6-EB11-49FE-AB94-CE2.png
591BFCB0-711D-43FD-B401-887CFDF69643.png
2、关于开发者账号
网上有大批的开发者账号注册流程,可以去参考,应该很简单。我没有注册过,一直用的别人的账号。注册账号之后,可以去苹果的开发者中心管理账号,证书,provision profiles等等。还可以添加测试设备等。
4F0CD668-E1F9-48EC-B81C-B8F.png
点进去会有这样的配置界面的。
EFC04-4C6C-A16C-BB.png
3、关于关于Certificate、Provisioning Profile
可以参考这篇文章看看他们之间的关系,Certificate(证书)就是app在打包的时候必须签名,苹果iOS系统在安装app之前会验证Certificate,否则不会通过安装。Provisioning Profile简单来说就是包含Apple ID,证书,和设备ID等各种信息的集合体。一般来说,在打包ipa的时候,必须配置Provisioning Profile。
下面来看看Provisioning Profile在Xcode中的体现
5522E65F-E167-4F6F-B4B9-C9.png
如果前面添加了Apple ID账号,进入这个界面,会看到有选项给你选的。
01B8969D-F29C-44AB-A403-.png
我这里有2个账号。一个是开发者,一个不是。
34-D44F669BF8.png
选择个人账号之后,很明显没有签名,也就是对应这个Apple ID账号在你的Mac本地是没有对应的Provisioning Profile的。Provisioning Profile是需要去开发者中心配置的,具体怎么配置网上有教程配置完成之后从网上下载下来保存安装到本地的。怎么保存安装,第一种,直接去开发者中心下载安装即可,这里不介绍。第二种、直接在Xcode中点击上图所示的“Fix Issue”即可。
D08DC859-DC72-400D-B397-AD12F596E7EB.png
当然我的这个个人账号不是开发者,那就更不谈配置Provisioning Profile了,所以“Fix Issue”没有什么卵用。
换一个有效的账号,“Fix Issue”之后警告消失了!表明你可以用这个账号进行签名打包。
A727D304-81C8-400B-A30A-4ED05AB9553F.png
不论用上面哪种方法安装Provisioning Profile,安装完成之后,可以在这里/Users/XXXXX/Library/MobileDevice/Provisioning Profiles找到相应的文件,如果以后换了台Mac,发现不能签名了,可以直接拷贝这些文件过去。
F9B02DDA-7C44-4F06-911F-AF5.png
4、证书签名
在Xcode7之前,真机调试和打包ipa是必须要签名的。但是Xcode7出来了,真机调试不需要签名了。打包ipa也可以不需要签名,那不是可以绕过苹果安装app了??想得美,如果不签名打包的ipa那是不能安装的!!!打包可以不需要签名,但是你要想安装的话,必须签名。
签名打包就是在编译的过程中加入证书签名,那肯定是需要去Xcode中配置的,目前网上有方法能实现企业级证书打包签名不需要在编译时,而在编译之后。因此现在打包有两种方式:1、在Xcode中配置code sign,实现签名打包ipa。适用于企业级账号证书,个人账号证书。2、在Xcode中无证书打包ipa,上传到指定工作室网站,淘宝上现在一大堆打包服务的,由别人用他们的账号签名ipa。适用于企业及账号。
5、Xcode证书签名打包
1、设置有效的Archive配置,如下图所示,这里面一定要选择复制“Release”,因为发布版本一定是release的,这个做程序的都知道哈。
913DFB03-142A-42A2-9F69-6FC44C2A8EF0.png
2、Edit Scheme
C--DDF.png
这里选择刚才复制“Release”的add-hoc,当然你也可以不做第1步,这里直接选择“Release”也是可以的,添加add-hoc纯粹是为了区分,方便管理。
7BFE2-4EBC-A96E-5.png
3、配置code sign
4F342FAB-9A6E-40AF-91CE-998FEBFDE560.png
还有一个地方,也要填,两个code sign的地方都不能漏
9E656F89-0121-4FFB-953A-F4C363C83C73.png
4、Archive先设置编译设备,只能选择iOS Device,选择其他模拟器是不能Archive的
26A53F75-7920-42BC-92D3-7B114966BBD2.png
然后Archive
D0D-4C9B-BF3B-F08.png
等待,Archive会弹出这个
3BBB-43F4-A9DF-72.png
最上面的一个就是最新Archive出来的。。。
5、Export最后就是导出了,点击上图中的“Export”,如下所示,很显然第一个选项是发布app的,不要点,那是个人开发者账号可以干的事情。
下面把三个的话,看上面的文字,写的很清楚,打包的ipa用于在app store外面发布。那么对于个人账号,打包的ipa能发布么?能安装到iOS设备上么?答案是不能,能的话还需要越狱干嘛,还需要app store干嘛,个人账号发布的app唯一途径就是app store,发布app store除了我上面写的1,2,3,4,5巴拉巴拉之外,还需要去开发者中心填一堆的东西。这里不做介绍,自己去爬文章哈。那么这里个人账号的打包的ipa有什么卵用呢?卵用就是这个ipa可以安装到一部分iOS设备中,这些设备的ID已经添加到签名这个ipa的开发者账号的“Devices”里面了。也就是这里有你这个设备的话,你是可以装的!其他的都滚粗!
43EBD77D-CCEC-4DC0-9C4D-824E.png
那么企业级开发者账号签名的ipa呢?能安装到iOS设备上么?答案是可以,这就是企业账号的作用了。可以直接装,也可以直接用,但是用之前iOS一般都会提示你不信任这个证书,要去设置里面设置信任,才可以使用。
扯了这么多,继续,上面export的时候下面三个选项我没有一一试,选择第二个。然后选择签名证书对应的开发者
966E462E-F7B0-44E1-884A-D18DB8A89357.png
BEA2-4985-AAEF-CDB.png
8EFB11CA-BC80-4D88-B377-9AC2BF720050.png
ok,大功告成了,ipa打包成功
C927D096-BFE0-4FB5-B2D7-B0F7915882EC.png
6、无证书打包
淘宝上一堆企业签名打包的(我不会告诉你我用过),他们会告诉你打包一个ipa,然后发给他,他给你签名,你就可以用了。真的很良心啊!那这个时候你肯定不要自己去签名ipa了。利用Xcode7的免证书真机调试功能,我们可以很简单的打包ipa。需要设备一台。1、设置使用无证书的开发者账号,没有交钱的。当然,如果下面出现警告,那么fix issuse即可。等待警告消失,就可以进行真机调试了。直接run的话app就会自动安装到你的iphone上。
CF-42A4-BF42-006CA28AC780.png
2、在edit scheme中设置run的模式为realese。如下所示,一定要设置为release,图示中设置的add-hoc是copy的release。你要发布,当然得release版本了。
D997CF5F-596B-4C2D-E160D2.png
3、run。这个时候手机上就安装了app。然后在finder中全局搜索你的app。注意如果你的工程名位XXX,那么请搜索XXX.app。你会看到搜索结果。然后右键,“在上层文件夹中显示”。如果有多个结果的话,记得选最近编辑的那一个。
614A89-8C67-504E03AB5B63.png
865EDFBC-56D5--76C.png
4、将找到的app拖到itunes中,替换原来的应用。
035E87AC--B7EC-24EA9651AC5E.png
5、在文件夹中显示,就可以找到ipa了。
1151A8BE-76E9-4029-AC41-1E567F72D9D7.png
8D1DCA8A-E4B9-440D-ACBA-DEBA72963BD3.png
年纪不小了,加把油吧}

我要回帖

更多推荐

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

点击添加站长微信