V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
lakechan96
V2EX  ›  iDev

Mac OS X 程序开发如何请求 root 权限?

  •  
  •   lakechan96 · 2015-06-06 01:00:55 +08:00 · 6310 次点击
    这是一个创建于 3246 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前墙内墙外各种网站外加各种文档查阅之后得出了以下的一些方法
    Apple最新的解决方案 SmJobBless,通过安装特权HelperTool实现请求root权限
    AuthorizationRef,比较简单直接的方法
    调用AppleScript,最简单,缺点是似乎每条命令都需要输入密码一次...

    我目前想采用AuthorizationRef的方法来请求权限,但是Xcode似乎完全禁止了编译,不允许用此方法...求教大家都是如何解决root权限问题的?
    11 条回复    2015-07-25 23:31:55 +08:00
    FrankFang128
        1
    FrankFang128  
       2015-06-06 01:06:19 +08:00 via Android
    关注。OS X 学习资料太少,学起来很痛苦😣
    RIcter
        2
    RIcter  
       2015-06-06 01:09:49 +08:00 via iPhone
    膜拜石頭
    shiniv
        3
    shiniv  
       2015-06-06 01:11:11 +08:00
    以前研究过获取root权限的相关资料,找到个比较好用的 BLAuthentication
    在一段时间内不用再次输入密码
    Vanson
        4
    Vanson  
       2015-06-06 08:00:56 +08:00
    我好奇什么应用一定要Root权限?
    yaqink
        5
    yaqink  
       2015-06-06 08:53:12 +08:00
    @Vanson 應該是要寫一部分加載 內核擴展驅動 相關的代碼。
    typcn
        6
    typcn  
       2015-06-06 09:01:27 +08:00
    “调用AppleScript,最简单,缺点是似乎每条命令都需要输入密码一次... ”

    你把内容全部放到一个脚本里执行就好了嘛。。。。。。

    再不济,还有调用命令行 sudo

    https://www.google.com/webhp?q=objective+c+root+access
    lzachilles
        8
    lzachilles  
       2015-06-06 13:21:54 +08:00
    把sudo部分独立成xpc service
    neoblackcap
        9
    neoblackcap  
       2015-06-06 14:21:41 +08:00
    直接修改sudo的配置文件,然后让你的账户不用输入密码不就可以了?
    Wangxf
        10
    Wangxf  
       2015-06-07 01:09:00 +08:00
    cd chmod -R 007 /XX 给予某XX文件(夹)下最高权限
    lakechan96
        11
    lakechan96  
    OP
       2015-07-25 23:31:55 +08:00
    在长期挣扎后终于是解决了,使用的是苹果推荐的解决方案SMJobBless,通过安装一个长期运行的HelperTool到launchd实现root权限的提升,swift下我水平有限实现不了这个方案,于是采用oc和swift混编的方法。总算是解决了,谢谢回答的各位,也在这里给大家提供一下参考的信息。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2786 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:44 · PVG 23:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.