从OS X Yosemite升级到OS X El Capitan Developer Preview后,我尝试编辑 /System/Library/LaunchDaemons/ssh.plist将默认SSH端口更改为自定义端口.这是我用了几年的过程.
问题是El Capitan不允许我更改此文件夹中的任何内容(甚至不使用"sudo").当我用"ls -lO"列出内容时,文件夹及其文件被标记为"受限制".以前版本的OS X中的相同文件夹列表不显示"受限制".
这是OS X El Capitan的新功能吗?如何编辑"受限制"的文件/文件夹?
我发现这是因为El Capitan引入了一项名为"SIP"(系统完整性保护)的新功能.
在此处阅读更多内容:https://forums.developer.apple.com/thread/4731?q = SIP
不幸的是,没有人建议在不实际禁用SIP的情况下编辑"受限制"文件/文件夹的方法.
我刚从Facebook iOS SDK 3.0.X升级到3.1.1,并重写了一些代码......
根据注销工作流程的Facebook文档(https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/#step3),我正在调用FBSession.activeSession对象的closeAndClearTokenInformation方法.
这似乎对Facebook会话状态没有影响,因为在调用之后立即检查它仍然会返回一个打开的会话.
就目前而言,一旦我的应用程序使用Facebook登录,它就不会注销.
[更新1]
根据要求,这是我用来检查会话状态的代码:
if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded && FBSession.activeSession.isOpen)
//logged in
else
//not logged in
Run Code Online (Sandbox Code Playgroud)
[更新2]
改变了我的逻辑......改变了我原来的代码:
if (FBSession.activeSession.isOpen)
//logged in
else
//not logged in
Run Code Online (Sandbox Code Playgroud)
因为FBSession.activeSession.state返回FBSessionStateOpen,而不是FBSessionStateCreatedTokenLoaded.