【ios】提醒事項與日曆同步升級版可快速新建提醒不用設定時間
文章推薦指數: 80 %
在提醒事項裡新增事項,日曆裡就會同步; 設定時間也可以的; 都可以完成後顯示不同的完成圖示在loc裡; 使用方法與原版本會 ...
MdEditor
【ios】提醒事項與日曆同步升級版可快速新建提醒不用設定時間
語言:CN/TW/HK
時間 2020-11-0513:02:46
osc_h49o6pt8
主題:
ios
flutter+小程式+後端,3個人就可開啟你的APP之路|註冊即送大疆雲臺、華為手錶!>>>
起因:
看到知乎的【真香!自動同步ios的提醒事項和日曆,顯示日打卡內容】文章,試了試,確實很方便,可以再提醒事項裡新增事項,日曆就會同步時間。
小缺陷:
對於沒有設定時間的提醒事項不會同步,因為常常只是想速記一些當日的小事情,而設定時間很麻煩。
所以我修改了一下原文的指令碼。
下面的腳本里做了註釋標記,初寫程式碼,還請大家多多指教。
升級後:
可以直接新建事項–>完成,不必設定時間【new】
在提醒事項裡新增事項,日曆裡就會同步
設定時間也可以的
都可以完成後顯示不同的完成圖示在loc裡
使用方法與原版本會有一點小差別,主要體現在apple的快捷命令裡何時觸發指令碼,下面使用方法會說明【new】
使用方法:
在iphone或者ipad下載scriptable
開啟app,新建一個指令碼,將本文最後的指令碼檔案複製到裡面
開啟ios自帶的快捷指令app,點選自動化—>建立個人自動化(或者右上角的加號)—>點選【App】這裡注意設定成當關閉提醒事項app時,如圖1—>點下一步新增操作—>選【App】scriptable的剛才儲存的指令碼檔案(沒設定標題是就是unitiledscript那個檔案)—>注意在展開裡把runinapp和執行時顯示給關閉,如圖2
重要的一步!!需要在日曆裡面新增提醒事項列表名對應的日曆列表名,只需要建立想同步的列表,不想顯示在日曆上的待辦事項不需要建立列表。
例如:我的提醒事項裡有個【咩】列表,我的日曆裡就要同樣建立一個【咩】日曆(點中間下面的日曆可以新建日曆,新建一個一樣名字的就可以)
然後就可以愉快的玩耍了,開啟提醒事項後建立事項,再回到日曆裡看:
指令碼在這:
vardur_month=1
conststartDate=newDate()
startDate.setMonth(startDate.getMonth()-dur_month)
console.log(`日曆的開始時間${
startDate.toLocaleDateString()}`)
constendDate=newDate()
endDate.setMonth(endDate.getMonth()+dur_month)
console.log(`日曆的結束時間${
endDate.toLocaleDateString()}`)
//【【【【【【【【直接找出全部的事項,因為沒有設定時間的事項老版本會被排除掉】】】】】】】】
constreminders=awaitReminder.all()
console.log(`獲取${
reminders.length}條提醒事項`)
varcalendar=awaitCalendar.forEvents()
varm_dict={
}
for(calofcalendar)
{
m_dict[cal.title]=cal
}
constevents=awaitCalendarEvent.between(startDate,endDate,calendar)
console.log(`獲取${
events.length}條日曆`)
for(constreminderofreminders){
consttargetNote=`[Reminder]${
reminder.identifier}`
const[targetEvent]=events.filter(e=>e.notes!=null&&(e.notes.indexOf(targetNote)!=-1))
if(!m_dict[reminder.calendar.title])
{
console.warn("找不到日曆"+reminder.calendar.title)
continue
}
if(targetEvent){
console.log(`找到已經建立的事項${
reminder.title}`)
updateEvent(targetEvent,reminder)
}else{
console.warn(`建立事項${
reminder.title}到${
reminder.calendar.title}`)
constnewEvent=newCalendarEvent()
newEvent.notes=targetNote+"\n"+reminder.notes//要加入備註
updateEvent(newEvent,reminder)
}
}
Script.complete()
functionupdateEvent(event,reminder){
//【【【【【【【【對於沒有設定時間的reminder,他與超時的還不一樣,他的duedate資料沒法直接設定,這裡我只能退而求其次了,暫時沒有找到直接修改的辦法。
】】】】】】】】
if(reminder.dueDate==null){
varmyDate=newDate();
myDate.setHours(myDate.getHours()+5);
reminder.dueDate=myDate;
}
event.title=`${
reminder.title}`
cal_name=reminder.calendar.title
cal=m_dict[cal_name]
event.calendar=cal
if(reminder.isCompleted)
{
event.title=`✅${
reminder.title}`
event.isAllDay=false
event.startDate=reminder.completionDate
varending=newDate(reminder.completionDate)
ending.setHours(ending.getHours()+1)
event.endDate=ending
varperiod=(reminder.dueDate-reminder.completionDate)/1000/3600/24
period=period.toFixed(1)
if(period<0)
{
period=-period
event.location="延期"+period+"天完成"
}
elseif(period==0)
{
event.location="準時完成"
}
else
{
event.location="提前"+period+"天完成"
}
}
else{
constnowtime=newDate()
varperiod=(reminder.dueDate-nowtime)/1000/3600/24
period=period.toFixed(1)
if(period<0)
{
flag=true
event.location="延期"+(-period)+"天"
if(reminder.dueDate.getDate()!=nowtime.getDate())
{
event.title=`❌${
reminder.title}`
event.startDate=nowtime
event.endDate=nowtime
event.isAllDay=true
}
else
{
//【【【【【【【【對於未設定具體時間的一定是超時的,所以如果是超時的就設定+5的時間】】】】】】】
event.title=`⭕️${
reminder.title}`
event.isAllDay=false
varnewDate=newDate()
newDate.setHours(newDate.getHours()+5)
event.startDate=newDate
varending=newDate(newDate)
ending.setHours(ending.getHours()+1)
event.endDate=ending
}
console.log(`【${
reminder.title}】待辦順延${
-period}天`)
}
else
{
event.title=`⭕️${
reminder.title}`
event.isAllDay=false
event.location="還剩"+period+"天"
event.startDate=reminder.dueDate
varending=newDate(reminder.dueDate)
ending.setHours(ending.getHours()+1)
event.endDate=ending
}
}
event.save()
}
「其他文章」
藏不住了,Flink未來發展的最新方向在這裡!
9個提高程式碼執行效率的小技巧!
Android面試主題整理合集(一)
KVM克隆VM無法網絡卡無法啟動
基於MATLAB的遠端聲控小車的系統設計與模擬
使用Xtrabackup備份與恢復資料庫
從一道面試題談談一線大廠碼農應該具備的基本能力
JavaScript基礎:Iterator概念及用法
[!]Gradlethrewanerrorwhiledownloadingartifactsfromthenetwork.Retryingtodownload...Runn
物理伺服器多塊硬碟故障
設定id從1開始自增
Kubernetes:55---訪問pod資源資料(KubernetesAPI:藉助secret從pod內部與API伺服器進行互動(ca.crt、namespace、token))
Java多執行緒中start()和run()的區別
Linux系統inodes資源耗盡,如何解決?
springcloud系列教程第八篇-修改服務名稱及獲取註冊中心註冊者的資訊
2020總結
2019年3月計算機二級等級考試報名時間彙總及報名流程
自學第二十九天
JY32Mysql02的安裝
Serverless在大規模資料處理的實踐
「ios」
iOS全面理解Nullability即nil,Nil,NULL,NSNull,kCFNulL及空值修飾符
iOS內購-訂閱型之切換AppleID的處理
iOS應用提審與釋出流程
iOS底層原理-探尋KVO本質
CraigFederighi回信解釋為什麼蘋果iOS的自動更新經常晚幾周才出現
iOS16竟然長這樣?這幾款iPhone要涼了
老司機iOS週報#197|2022-03-28
iOS-Swift獨孤九劍:十三、面向協議程式設計
iOS元件化相關總結
iOS-CocoaPods的原理及Podfile.lock問題
延伸文章資訊
- 1iPhone行事曆如何同步提醒事項?用自動化腳本輕鬆實現 - 瘋先生
3. 建立捷徑自動化 ... 開啟「捷徑」App ,點選「自動化」>「製作個人自動化操作」,選擇「App」。 ... 按下「App」按鈕,搜尋並且勾選「提醒事項」和「行事曆 ...
- 2iphone里的“日历”和“提醒事项”能不能同步? - 知乎
“提醒事项同步日历”快捷指令已优化更新! 如下:. 看到的童鞋及时更新,修复了一些问题! 建议开始追更哦,方便及时收到更新! 插一条广告,工作日提醒⏰快捷指令, ...
- 3【ios】提醒事項與日曆同步升級版可快速新建提醒不用設定時間
在提醒事項裡新增事項,日曆裡就會同步; 設定時間也可以的; 都可以完成後顯示不同的完成圖示在loc裡; 使用方法與原版本會 ...
- 4iPhone內建「提醒事項」其實超好用!10大「隱藏版技巧」讓 ...
今天編輯就要告訴大家iPhone內建的「提醒事項」App,有十個實用功能可以 ... 也能一舉同步到提醒事項裡,不需要額外手動加入,是非常省時間的好功能!
- 5如果iCloud「聯絡人」、「行事曆」或「提醒事項」無法同步
檢查App 設定 · 點一下「設定」>「行事曆」,或點一下「設定」>「提醒事項」。 · 點一下「同步」。 · 如果已選取「所有行程」或「所有提醒事項」,請改成選擇 ...