删除过期的配置文件
Deleting expired provisioning profiles
仅使用终端,如何从 ~/Library/MobileDevice/Provisioning Profiles
中识别和删除过期的配置文件
有没有办法只从终端执行此操作?
您可以编写一个 shell 脚本来遍历文件,从 mobileprovision 文件中获取日期,并将其与当前日期进行核对。
#!/bin/sh
for provisioning_profile in ~/Library/MobileDevice/Provisioning\ Profiles/*.mobileprovision;
do
printf "Checking ${provisioning_profile}... "
# pull the expiration date from the plist
expirationDate=`/usr/libexec/PlistBuddy -c 'Print :ExpirationDate' /dev/stdin <<< $(security cms -D -i "${provisioning_profile}")`
# convert expirationDate and current date to epoch (Unix Timestamps) then compare both.
timestamp_expiration=`date -jf"%a %b %d %T %Z %Y" "${expirationDate}" +%s`
timestamp_now=`date +%s`
if [ ${timestamp_now} -ge ${timestamp_expiration} ];
then
echo "EXPIRED"
# rm -f "${provisioning_profile}"
else
echo "not expired"
fi
done
您可以使用security 命令和plist buddy 从文件中提取ExpirationDate。然后为简单起见,我将该日期转换为易于比较的格式(YYYMMDD unix 时间戳或自 1970 年以来的秒数)并将其与相同格式的今天日期进行比较。我打印出每个的状态。注意:我不执行删除操作,因为我希望您在取消注释删除行之前验证脚本结果。我 运行 它在我的,并投入了一个旧的配置文件。它在我的测试中正确识别了过期的配置文件。
仅使用终端,如何从 ~/Library/MobileDevice/Provisioning Profiles
有没有办法只从终端执行此操作?
您可以编写一个 shell 脚本来遍历文件,从 mobileprovision 文件中获取日期,并将其与当前日期进行核对。
#!/bin/sh
for provisioning_profile in ~/Library/MobileDevice/Provisioning\ Profiles/*.mobileprovision;
do
printf "Checking ${provisioning_profile}... "
# pull the expiration date from the plist
expirationDate=`/usr/libexec/PlistBuddy -c 'Print :ExpirationDate' /dev/stdin <<< $(security cms -D -i "${provisioning_profile}")`
# convert expirationDate and current date to epoch (Unix Timestamps) then compare both.
timestamp_expiration=`date -jf"%a %b %d %T %Z %Y" "${expirationDate}" +%s`
timestamp_now=`date +%s`
if [ ${timestamp_now} -ge ${timestamp_expiration} ];
then
echo "EXPIRED"
# rm -f "${provisioning_profile}"
else
echo "not expired"
fi
done
您可以使用security 命令和plist buddy 从文件中提取ExpirationDate。然后为简单起见,我将该日期转换为易于比较的格式(YYYMMDD unix 时间戳或自 1970 年以来的秒数)并将其与相同格式的今天日期进行比较。我打印出每个的状态。注意:我不执行删除操作,因为我希望您在取消注释删除行之前验证脚本结果。我 运行 它在我的,并投入了一个旧的配置文件。它在我的测试中正确识别了过期的配置文件。