xocodebulid 自动化打包 解决提示 ld: library not found for -lPods 问题
如果你的项目用到cocopod 第三方库。使用xcodebulid 估计会出现
ld: library not found for -lPods
以下 是我的解决办法
xcodebuild -workspace 项目根目录/项目名.xcworkspace \
-scheme 项目名 \
ONLY_ACTIVE_ARCH=NO \
TARGETED_DEVICE_FAMILY=1 \
DEPLOYMENT_LOCATION=YES
重新运行命令。哈。成功了。
以下是我找到的解决方案
http://railsware.com/blog/2013/09/12/ios-integration-tests-with-appium/
http://testerhome.com/topics/151
上面问题解决了。
运行命令 bulid 成功提示 可是 release 的app 却在~/Library/Developer/ugly_path/ 。。
如果能指定路径就好了
http://stackoverflow.com/questions/4233581/xcode-4-build-output-directory
http://blog.csdn.net/zb12345678/article/details/17607037
哈解决。。命令后添加参数
CONFIGURATION_BUILD_DIR ='指定路径',当前用户要有权限。如没有可以修改权限chomd 777 '指定路径'
如果每次都要自己输入命令 来打包 太麻烦了。何不把命令写成shell 用到时 拖到终端执行下 就ok 。岂不美哉
xcode 新建。shell 文件
#!/bin/sh # ipa-build.sh
# 使用
# 把该文保存 ,修改权限chmod +x 你的shell文件名
# 把文件拖到 终端 。
# 参数
# 1,你要打包工程的根目录 2,你要输出的ipa文件目录(你当前用户要有权限) 3,指定的ipa 文件名 参数用空格隔开
# eg:~
# ~/Desktop/ipa-build.sh ~/Documents/workSpace/project ~/Desktop/project projectName
#!/bin/bash #参数判断
if [ $# != ] && [ $# != ]&& [ $# != ];then
echo "Number of params error! Need three params!"
echo "1.path of project(necessary) 2.path of ipa dictionary(necessary) 3.name of ipa file(necessary)"
exit elif [ ! -d $ ];then
echo "Params Error!! The 1 param must be a project root dictionary."
exit
elif [ ! -d $ ];then
echo "Params Error!! The 2 param must be a ipa dictionary."
exit
fi #工程绝对路径
cd $
project_path=$(pwd)
#build文件夹路径
build_path=${project_path}/build #工程配置文件路径
project_name=$(ls | grep xcodeproj | awk -F.xcodeproj '{print $1}')
project_infoplist_path=${project_path}/${project_name}/${project_name}-Info.plist
#取版本号
bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" ${project_infoplist_path})
#取build值
bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" ${project_infoplist_path})
#取bundle Identifier前缀
bundlePrefix=$(/usr/libexec/PlistBuddy -c "print CFBundleIdentifier" `find . -name "*-Info.plist"` | awk -F$ '{print $1}') cd $project_path
#清理工程
xcodebuild clean || exit
#删除bulid目录
if [ -d ${build_path} ];then
rm -rf ${build_path}
fi
#编译工程
xcodebuild -configuration Release -workspace ${project_path}/${project_name}.xcworkspace \
-scheme ${project_name} \
ONLY_ACTIVE_ARCH=NO \
TARGETED_DEVICE_FAMILY= \
DEPLOYMENT_LOCATION=YES CONFIGURATION_BUILD_DIR=${project_path}/build/Release-iphoneos || exit #IPA名称
if [ $# = ];
then
ipa_name=$
fi if [ -d ./ipa-build ];then
rm -rf ipa-build
fi
#打包
cd $build_path
mkdir -p ipa-build/Payload
cp -r ./Release-iphoneos/*.app ./ipa-build/Payload/ cd ipa-build
zip -r ${ipa_name}.ipa *
cp -r ./${ipa_name}.ipa $2
rm -rf Payload
#删除bulid目录
if [ -d ${build_path} ];then
rm -rf ${build_path}
fi
受以下文章启发
http://webfrogs.me/2012/09/19/buildipa/
有关xcodebulid
http://www.cnblogs.com/xiaodao/archive/2012/03/01/2375609.html
xocodebulid 自动化打包 解决提示 ld: library not found for -lPods 问题的更多相关文章
- 解决 ld: library not found for -lPods的问题
现在打开有pods建好的workspace文件,尝试编译,会报ld: library not found for -lPods错误,原因就是工程里面的设置项覆盖了pods中xcconfig中的设置.解 ...
- xcode于Archive当产生安装包遇到ld: library not found for -lPods
此问题是由能力很困扰,通常有以下几个方案 进target的 Build Phases- Link binary Library.到场libPods.a,假设是红.删,能够 其他解决方案 Build S ...
- CocoaPods:library not found for -lPods
This is my first shot to write a blog in English. Enjoy! ;) CocoaPods is a popular way to control iO ...
- library not found for -lPods 的解决办法
在老项目工程中使用cocoapods,可能会报这个错误:library not found for -lPods . 导致这个错误可能有两个原因,这两个原因在编译过程中都是有蛛丝马迹可循的. 原因1: ...
- XCode 自动化打包总结
最近一个礼拜折腾xcode 中ipa 自动化打包,对我来说也说是磕磕碰碰.毕竟对mac下的命令行模式完全不熟悉.而且我们的项目是基于cordova的一个项目. 之前我自己对cordova 项目的命令行 ...
- Vesions ignore & ld: library not found for -l...
1.递归删除指定目录下的 .git..svn 文件 find . -name .git | xargs rm -fr find . -name .svn | xargs rm -rf 第一条倒还不常用 ...
- ios实现fastlane自动化打包
终于抽出时间来学习自动化打包了,app在测试阶段一天总会经历好几次的打包,每次打包真是身心疲惫,刚打完的包说不定就被测试妹子反应还要微调什么地方,我就真的有气没法出,打一次包怎么也得浪费十几分钟,还不 ...
- Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布 + jenkins节点设置
最近在使用jenkins 实现ios自动化打包发布蒲公英过程实践遇到了一些坑,特意记录下来方便有需要的人. 进入正题: 一.安装Jenkins 1.Mac上安装Jenkins 遇到到坑 因为 Jenk ...
- iOS自动化打包 Jenkins+Gitlab+Fastlane+蒲公英+钉钉
前言 这两天花时间整理一下自动化打包的整套流程,现在iOS端的整套流程是没有问题了,这个过程中踩得坑也的确是特别多,所以这周末把整个流程整理一下,总结出来这篇文章,希望能对有需要的小伙伴有点点帮助. ...
随机推荐
- C# delegate (1)
delegate是委托,本身不能解决跨线程访问控件的问题,直接调用委托还是会报错 Invoke指定用主线程中的控件去调用这个委托,相当于主线程来执行这个函数 在codeProject网站中找到的. C ...
- Webwork【03】核心类 ServletDispatcher 的初始化
1. Webwork 与 Xwork 搭建环境需要的的jar 为:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是这样的,W ...
- 《Android源代码设计模式解析与实战》读书笔记(十)
第十章.解释器模式 解释器模式是一种用的比較少的行为型模式.其提供了一种解释语言的语法或表达式的方式. 可是它的使用场景确实非常广泛,仅仅是由于我们自己非常少回去构造一个语言的文法,所以使用较少. 1 ...
- RabbitMQ学习笔记2-理解消息通信
消息包含两部分:1.有效载荷(payload) - 你想要传输的数据.2.标签(lable) - 描述有效载荷的相关信息,包含具体的交换器.消息的接受兴趣方等. rabbitmq的基础流程如下: Ra ...
- 6、java5线程池之固定大小线程池newFixedThreadPool
JDK文档说明: 创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程.在任意点,在大多数 nThreads 线程会处于处理任务的活动状态.如果在所有线程处于活动状态时提交附加任务,则 ...
- android手机导入.cer证书文件的方法
访问很多https协议的网站需要安装证书,手机也可以导入cer文件,你知道么?本文将通过简单的两步告诉你手机安装cer文件的方法. 步骤一:请先将数字证书文件“******.cer”文件复制到SD卡的 ...
- 你应该知道的HTTP基础知识
本文主要内容: HTTP请求报文格式 HTTP响应报文格式 Header 请求体的3种形式 推荐调试工具 HTTP的组成图示 1. HTTP请求报文格式 HTTP 的请求报文分为三个部分 请求行.请求 ...
- syslog远程日志存储/514端口【转】
昨天在抓包的时候,发现在514端口,有SYSLOG字段的东西,不知道是用来干啥的,现在来分析一下: 其实他是在电脑间用了syslog远程日志存储,他用udp监控了514端口的数据流,之后收集整理日志: ...
- Nginx官方版本说明##Mainline &Stable&Legacy versions
Nginx (Mainline Stable Legacy)区别 Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发 ...
- Magento模块升级修改数据库表结构
Magento支持在模块中创建.删除.更新数据库表及字段.通过该方式,在插件开发的过程中,添加和修改字段变成了一件非常轻松的事情.只需要修改模块的版本号,同时在文件中添加一个符合命名规则的脚本就可以了 ...