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
yuele1314
V2EX  ›  iDev

普通应用也能获取到应用列表了?

  •  
  •   yuele1314 · 2012-12-21 12:12:43 +08:00 · 6527 次点击
    这是一个创建于 4385 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看到最近更新的UC可以检测已安装应用,和安装更新...
    好奇是怎么做到的,找了一下没发觉有人说到ios应用有这个权限啊..

    还有后台下载?
    14 条回复    1970-01-01 08:00:00 +08:00
    RoCry
        1
    RoCry  
       2012-12-21 12:15:10 +08:00
    不能 应该是通过内置好的app列表一个个检测的
    详情可以参考
    https://github.com/danielamitay/iHasApp
    est
        2
    est  
       2012-12-21 12:22:40 +08:00
    @RoCry 看了下,列表在这里 https://ihasapp.herokuapp.com/api/schemeApps.json

    公开的API可以获取appIds?
    yuele1314
        3
    yuele1314  
    OP
       2012-12-21 12:44:39 +08:00
    @RoCry 感谢,另外有点小疑惑,即便有app列表的id对应,其应用本身也没有权限去读取app列表吧?

    另外task completion这个api不是说有600秒限制吗?为何现在越来越多的普通应用如网易公开课、UC、pp浏览器等都支持后台不断下载了(看到新近更新的才有)?
    BigZ
        4
    BigZ  
       2012-12-21 13:38:21 +08:00
    iHasApp 的做法也太惊悚了,查询一遍,iphone可以当暖手宝了,苹果应该封掉这样的行为
    BigZ
        5
    BigZ  
       2012-12-21 13:41:20 +08:00
    @yuele1314 ,代码里面写的很清楚

    NSString *scheme = [schemeDictionary objectForKey:@"scheme"];
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@://", scheme]];
    if([[UIApplication sharedApplication] canOpenURL:url])
    BigZ
        6
    BigZ  
       2012-12-21 13:43:45 +08:00
    @est ,appid是从itunes 里面扒的
    1TapFaceTime的 url是 https://itunes.apple.com/us/app/1tapfacetime-customized-icons/id448643876?mt=8

    对应的appid 就是 448643876
    yuele1314
        7
    yuele1314  
    OP
       2012-12-21 14:15:26 +08:00
    @BigZ 抱歉我对开发了解不多,照我理解,为安全性考虑,苹果是不会放出「应用查机器上所有应用」这种权限的吧?
    另外你了解task completion这个api吗?我比较好奇为何现在能后台不受600秒限制了。
    BigZ
        8
    BigZ  
       2012-12-21 16:03:00 +08:00
    @yuele1314

    一个后台 600s,要超过这个限制,哪就一个后台thread接着一个后台thread的启动,很变态的方法
    yuele1314
        9
    yuele1314  
    OP
       2012-12-21 17:59:49 +08:00
    @BigZ 我去...那为啥早前没有app这么做呢?我是最近才看到uc这些支持后台不断了.
    ytzong
        10
    ytzong  
       2012-12-21 18:16:47 +08:00   ❤️ 1
    yuele1314
        11
    yuele1314  
    OP
       2012-12-21 18:40:49 +08:00
    @ytzong 大概清楚了,
    另请问一下,ios6是否有开放安装应用的权限?为何uc宣称可以直接不越狱安装应用(说是不需要跳转到app stroe)?
    ranye
        12
    ranye  
       2012-12-22 11:30:14 +08:00   ❤️ 1
    @yuele1314 iOS 6 中新添加的一个功能,可在 App 内打开 App Store 页面购买其他 Apps
    yuele1314
        13
    yuele1314  
    OP
       2012-12-24 10:41:14 +08:00
    @ranye 不需要跳转到app store了?
    janxin
        14
    janxin  
       2012-12-24 10:48:58 +08:00
    @yuele1314 iOS 6的新功能,可以不用打开app store安装软件
    如 @BigZ 所述,看了下代码,应该是通过URL Schemes和进程名确定的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.