gpt4 book ai didi

ios - 删除过期的配置文件

转载 作者:行者123 更新时间:2023-12-03 20:27:22 28 4
gpt4 key购买 nike

仅使用终端,如何识别并删除 ~/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 年以来的秒数),并将其与相同格式的今天的日期进行比较。我打印出每个的状态。注意:我不执行删除操作,因为我希望您在取消注释删除行之前验证脚本结果。我在我的电脑上运行了它,并放入了旧的配置文件。它在我的测试中正确识别了过期的配置文件。

关于ios - 删除过期的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37360201/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com