https://gist.github.com/3180771
git clone git@gist.github.com:3180771.git |
#
# iOS 友盟发布渠道自动化脚本
#
# - 在 Archive 的 "Post-action" 添加脚本去执行 "/bin/sh $SRCROOT/package.sh"
# - 确保在 "Provide build setting from" 选择了当前的 App
# - 在项目根目录($SRCROOT)添加 "iTunesArtwork" 文件(符合 App Store 提交要求的 512x512 px, PNG 格式)
# - 在下面 "" 设置你需要的发布渠道(空格分隔)
# - 在下面设置打包后的 ipa 的输出路径(可选)
# - 执行 "Product > Archive"
#
# icyleaf <icyleaf.cn@gmail.com>
# 5/10/2012
#
###########################################################
# 基础全局变量
DATE=$(/bin/date +"%Y%m%d%H%M%S")
DSYM="$ARCHIVE_DSYMS_PATH/$DWARF_DSYM_FILE_NAME"
APP="$ARCHIVE_PRODUCTS_PATH/$INSTALL_PATH/$WRAPPER_NAME"
# 打包临时工作环境
BUILD_PATH="${SRCROOT}/Build"
PAYLOAD="${BUILD_PATH}/Payload"
CHANNEL_FILE="PublishChannel.txt"
# 打包后的 ipa 输出环境
TARGET_PATH="/tmp/${PROJECT_NAME}/${PLATFORM_NAME}/${DATE}"
# 发布渠道(因为默认提交到 App Store,就不需要它了)
CHANNELS=("91 Market" "163 Market" "Weiphone Cydia")
###########################################################
# 设置记录日志
LOG="/tmp/${PROJECT_NAME}_${DATE}.log"
echo "Start UMeng Publish Channel Package..." > $LOG
echo >> $LOG
echo "================================" >> $LOG
echo "APP: $APP" >> $LOG
echo "PRODUCT_NAME: $PRODUCT_NAME" >> $LOG
echo "PROJECT_NAME: $PROJECT_NAME" >> $LOG
echo "WRAPPER_NAME: $WRAPPER_NAME" >> $LOG
echo "BUILD_PATH: $BUILD_PATH" >> $LOG
echo "PAYLOAD: $PAYLOAD" >> $LOG
echo "TARGET_PATH: $TARGET_PATH" >> $LOG
echo "INSTALL_PATH: $INSTALL_PATH" >> $LOG
echo "================================" >> $LOG
echo >> $LOG
echo "1. Check Build and Target Path..." >> $LOG
# Delete Build Path
if [ ! -d ${PAYLOAD} ]; then
mkdir -p $PAYLOAD
fi
# Copy iTunesArtwork to Build Env
cp "${SRCROOT}/iTunesArtwork" "${BUILD_PATH}"
# Generating target
if [ ! -d ${TARGET_PATH} ]; then
mkdir -p $TARGET_PATH
fi
echo >> $LOG
echo "2. Copy build app to making path..." >> $LOG
cp -r "$APP" "$PAYLOAD"
echo >> $LOG
echo "3. Packaging ipa files..." >> $LOG
cd ${BUILD_PATH}
for ((i = 0; i < ${#CHANNELS[@]}; i++ ))
do
EACH_APP="${PROJECT_NAME}_${CHANNELS[$i]}.ipa"
SEARCH=" "
REPLACE="_"
NEW_APPNAME=${EACH_APP//$SEARCH/$REPLACE}
echo "${CHANNELS[$i]}\c" > "${PAYLOAD}/${WRAPPER_NAME}/${CHANNEL_FILE}"
# echo -n "${CHANNELS[$i]}" > "${PAYLOAD}/${WRAPPER_NAME}/${CHANNEL_FILE}"
ZIP=$(zip -r "${TARGET_PATH}/${NEW_APPNAME}" Payload/ iTunesArtwork)
echo " * ${NEW_APPNAME} completed." >> $LOG
done
echo >> $LOG
echo "4. Clean up..." >> $LOG
rm -rf "$BUILD_PATH"
echo >> $LOG
echo "Well Done" >> $LOG
echo "View your path: ${TARGET_PATH}/" >> $LOG
open "$TARGET_PATH"
分享到:
相关推荐
在iOS开发中,友盟(Umeng)是一个广泛使用的第三方统计分析平台,它为开发者提供了丰富的数据统计功能,包括页面浏览、用户行为、活跃度、留存率等关键指标。本"ios 友盟页面 统计demo"是针对如何集成并使用友盟SDK...
标题提到的"iOS友盟最新SDK",指的是友盟针对iOS平台最新发布的版本,可能是为了提供更好的性能优化和新功能支持。描述中提及的“用于iOS应用反馈意见”,说明此SDK着重于应用内反馈功能,允许用户在应用中方便地...
友盟社会化组件SDK是实现这一功能的关键工具,而"简单的iOS友盟分享"则针对的是如何在iOS应用中集成并使用友盟SDK的流程。 友盟SDK,全称为UnionShare,是友盟推出的一套全面的社会化分享解决方案,覆盖了Android和...
在编译过程中,开发者可以通过构建脚本动态替换APK中的渠道ID,每个渠道对应一个唯一的标识,这样安装后的应用就能够自动识别并报告其来源。这个过程并不改变应用的原始代码,只是在打包时做了微小的修改。 二、...
在iOS开发中,友盟(Umeng)是一个广泛使用的第三方统计分析和社交分享平台,它提供了丰富的SDK,帮助开发者集成各种社交网络的分享功能。在这个话题中,我们将深入探讨如何在iOS应用中实现友盟分享功能,以及相关的...
友盟iOS SDK是一款专为iOS应用开发者设计的统计分析工具,它可以帮助开发者深入了解应用程序的用户行为、使用情况以及性能表现。这个"最新友盟iOS sdk及使用demo"压缩包包含了SDK的最新版本(2.2.0)以及一个...
新版友盟统计xamarin.ios绑定项目,新版友盟统计xamarin.ios绑定项目,新版友盟统计xamarin.ios绑定项目,新版友盟统计xamarin.ios绑定项目,新版友盟统计xamarin.ios绑定项目,
在iOS开发中,友盟分享SDK是一个非常重要的工具,它为开发者提供了集成各种社交平台分享功能的能力,如QQ、微信、微博等。本示例主要关注如何在iOS应用中使用友盟分享SDK来实现QQ平台的分享功能。下面将详细阐述相关...
友盟推送配置教程是针对iOS开发者的一份详细指南,旨在帮助开发者学会如何在iOS平台上实现友盟推送服务的配置。友盟推送(UMENG Push)是友盟网提供的一个免费推送服务,它可以为移动应用提供稳定的推送通知功能。 ...
在iOS开发中,友盟分享是一项重要的社交功能集成服务,它允许用户轻松地将内容分享到各种社交媒体平台,如微信、QQ、微博等。这个"ios-友盟分享(精简版).zip"文件可能包含了一个简化版的友盟分享SDK及相关教程或配置...
详细流程可参考博文,https://czhenya.blog.csdn.net/article/details/116800320 博客看下实现效果。没有积分的童鞋可以V信关注【开发同学留步】,回复【IOS友盟】获取完整源码吧~
4. 初始化友盟推送:在React Native的入口文件(如`index.js`)中,添加初始化代码: ```javascript import { AppRegistry } from 'react-native'; import App from './App'; import { name as appName } from ...
在这个"iOS友盟反馈支持自定义界面"的项目中,我们看到开发者可以定制自己的反馈界面,不仅可以选择导航栏推出(nav推出)或者模态弹出(modal推出),而且整个界面已经完成搭建,可以快速集成到现有的iOS应用中。...
在Android应用开发中,"友盟多渠道打包 Android Apk" 是一个常见的需求,尤其对于那些需要在多个分发渠道发布应用的开发者来说。友盟(Umeng)是中国领先的移动互联网开放平台,提供了多种服务,包括数据分析、推送...
配置微博SDK后,开发者可以通过友盟的接口实现内容的发布和分享。 在实际集成过程中,开发者需要按照友盟的SDK文档步骤进行操作,这通常包括引入SDK文件、配置Info.plist、初始化SDK、处理授权逻辑以及调用分享接口...
本教程将聚焦于如何在iOS应用中集成友盟的第三方分享服务,并实现自定义分享页的Demo。友盟是中国知名的移动开发者服务提供商,提供了包括社交分享在内的多种功能。 首先,我们需要在项目中引入友盟SDK。通常,这...
在Android应用开发中,友盟(Umeng)是一款广泛使用的第三方统计分析平台,它提供了许多功能,包括但不限于用户行为分析、消息推送、自动更新服务等。本教程将深入讲解如何在Android项目中集成友盟的App自动更新模块...
ios 多渠道打包脚本 只要修改其中的几个配置,就能快速帮你生成各个渠道的ipa 打包 就是这么简单
在这个场景下,我们可以利用Apache Ant,一个开源的自动化构建工具,来实现自动化的多渠道打包流程。下面将详细介绍如何在Android项目中使用Ant来实现友盟多渠道打包。 首先,确保你的系统已经安装了Java ...
《友盟社会化分享ANE在Android和iOS平台的实践与应用》 友盟社会化分享ANE,全称为Adobe Native Extension,是一种跨平台的解决方案,允许开发者在Adobe Air应用中集成原生功能,例如Android和iOS上的社交分享。在...