博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xocodebulid 自动化打包 解决提示 ld: library not found for -lPods 问题
阅读量:6982 次
发布时间:2019-06-27

本文共 2414 字,大约阅读时间需要 8 分钟。

如果你的项目用到cocopod 第三方库。使用xcodebulid 估计会出现

 ld: library not found for -lPods

以下 是我的解决办法

xcodebuild -workspace 项目根目录/项目名.xcworkspace \

-scheme 项目名 \

ONLY_ACTIVE_ARCH=NO \

TARGETED_DEVICE_FAMILY=1 \

DEPLOYMENT_LOCATION=YES

 

重新运行命令。哈。成功了。

以下是我找到的解决方案

 上面问题解决了。

运行命令 bulid 成功提示 可是 release 的app  却在~/Library/Developer/ugly_path/ 。。

如果能指定路径就好了

哈解决。。命令后添加参数 

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 [ $# != 3 ] && [ $# != 2 ]&& [ $# != 1 ];thenecho "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)"exitelif [ ! -d $1 ];thenecho "Params Error!! The 1 param must be a project root dictionary."exitelif [ ! -d $2 ];thenecho "Params Error!! The 2 param must be a ipa dictionary."exitfi#工程绝对路径cd $1project_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} ];thenrm -rf ${build_path}fi#编译工程xcodebuild  -configuration Release  -workspace ${project_path}/${project_name}.xcworkspace \-scheme ${project_name} \ONLY_ACTIVE_ARCH=NO \TARGETED_DEVICE_FAMILY=1 \DEPLOYMENT_LOCATION=YES CONFIGURATION_BUILD_DIR=${project_path}/build/Release-iphoneos  || exit#IPA名称if [ $# = 3 ];thenipa_name=$3fiif [ -d ./ipa-build ];thenrm -rf ipa-buildfi#打包cd $build_pathmkdir -p ipa-build/Payloadcp -r ./Release-iphoneos/*.app ./ipa-build/Payload/cd ipa-buildzip -r ${ipa_name}.ipa *cp -r ./${ipa_name}.ipa $2rm -rf Payload#删除bulid目录if  [ -d ${build_path} ];thenrm -rf ${build_path}fi 

受以下文章启发

 有关xcodebulid

转载地址:http://etvpl.baihongyu.com/

你可能感兴趣的文章
CentOS 5.5下LVM的分区管理
查看>>
Vsftp与PAM虚拟用户
查看>>
GoogleAppEngine是什么?
查看>>
利用 UML 进行实体关系建模
查看>>
WCF中的Stream操作
查看>>
.NET实现之(WebService数据提供程序)
查看>>
Spread for Windows Forms快速入门(8)---单元格中用户动作触发的事件
查看>>
XXX管理平台系统——概要
查看>>
常用思科设备图标(JPG+矢量图)
查看>>
倒排列表求交集算法 包括baeza yates的交集算法
查看>>
微信 登录 Scope 参数错误或没有 Scope 权限
查看>>
C# 温故知新 基础篇(7) 接口<思维导图>
查看>>
jQuery Makes Parsing XML Easy[转]
查看>>
CSS里常见的块级元素和行内元素
查看>>
Windows Azure Storage (4) Windows Azure Storage Service存储服务之Blob Share Access Signature
查看>>
framework调试
查看>>
java线程(2)--同步和锁
查看>>
Rafy 框架 - 大批量导入实体
查看>>
go1
查看>>
使用 Palette 让你的 UI 色彩与内容更贴合
查看>>