我在Mac App Store提交中遇到麻烦。如果用户在首选项中切换复选框,则使用以下方法将我的应用添加到登录项中。
-(void) addAppAsLoginItem{
NSString * appPath = [[NSBundle mainBundle] bundlePath];
CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:appPath];
LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
if (loginItems) {
//Insert an item to the list.
LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemLast, NULL, NULL, url, NULL, NULL);
if (item){
CFRelease(item);
}
}
CFRelease(loginItems);
}
我已经成功提交了许多更新,没有任何问题,但是现在我的应用被拒绝了,因为我正在访问文件系统而被拒绝了:
因此,现在让我感到困惑,因为自第一个发行版以来就存在这种方法,而且从来没有问题。仅当用户在首选项中切换相应的复选框时,才读取或修改文件。
那么,如何在不再次被拒绝的情况下将我的App添加到启动登录项呢?
最佳答案
查看SMLoginItemSetEnabled
和docs here。
由于您是Apple开发人员,因此您也应该再次在开发者论坛上浏览有关该主题的讨论-它们在那里。
高温超导