如何仅使用终端识别和删除~/Library/MobileDevice/Provisioning Profiles
中的过期配置文件?
是否有一种只能通过终端完成的方法?
如何仅使用终端识别和删除~/Library/MobileDevice/Provisioning Profiles
中的过期配置文件?
是否有一种只能通过终端完成的方法?
#!/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
rm -f ${provisioning_profile}
这一行实际上改为rm -f "${provisioning_profile}"
,因为配置文件中包含空格,如果不加引号,该文件将无法被删除。 - Duck~/Library/MobileDevice/Provisioning Profiles
包含一个空格也会破坏脚本... - Duck