期間不允許對ios7執行shm_open調用,結果不允許操作我維護一個完美工作的iOS應用程序的共享內存部分,直到最新版本爲止。代碼不再允許我執行O_CREAT來初始化共享內存段。在O_CREAT(EPERM)
,似乎已經失去功能的代碼與此類似:
int shm_fd;
if ((shm_fd = shm_open(SHM_PATH, O_RDWR|O_CREAT, S_IRWXU|S_IRWXG|S_IRWXO)) < 0){
/** Handle failure */
} else {
/** Handle Success */
}
這段代碼直到最近偉大的工作。現在,errno設置爲EPERM會失敗。
如果它有幫助,它仍然可以在模擬器中完美工作。
其他人是否也失去了這種能力?任何方式來解決這個問題?
編輯1:如果認爲不可能使用我的舊方法,我想知道我能做些什麼來模擬相同的功能。它是多個應用程序之間共享數據的來源。數據能夠被所有了解它的應用程序查看和修改。
編輯2:根據developer forums,IPC已在最新版本中癱瘓。已經提交了錯誤報告,因爲它也影響了進程內通信。希望這會得到解決,但同時我會尋找一種複製功能的方法。
如果你告訴我們你需要共享內存段,人們可能會提出一個替代方案。 – JeremyP
編輯該問題以提供更多信息。 – r0t0xd