1***@qq.com
1***@qq.com
  • 发布:2019-03-03 12:20
  • 更新:2021-11-15 22:34
  • 阅读:1802

求帮忙ios 根据包名唤起App 以下是 Objective-C:代码

分类:uni-app
(void)OpenApp{  
Class lsawsc = NSClassFromString(@"LSApplicationWorkspace");  
NSObject* workspace = [lsawsc performSelector:NSSelectorFromString(@"defaultWorkspace")];  
// iOS6 没有defaultWorkspace  
if ([workspace respondsToSelector:NSSelectorFromString(@"openApplicationWithBundleID:")])  
{  
[workspace performSelector:NSSelectorFromString(@"openApplicationWithBundleID:") withObject:@"com.Calendar"];  
}  
}

能把这个原生代码 用native.js实现吗?1.根据包名唤起App 2.获取手机中安装的所有App的包名

引用 通过Bundle ID 唤醒App Objective-C:代码

https://www.jianshu.com/p/222b35f1b66f

2019-03-03 12:20 负责人:无 分享
已邀请:
王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

如果是只呼起APP ,不一定使用包名名式,使用URL Schemes 的方式也可以的

  • 1***@qq.com (作者)

    并不知道有些APP的URL Schemes,甚者有些APP没有URL Schemes

    2019-03-04 14:20

[已删除]

[已删除]

三行代码即可

/**  
 * iOS 根据包名打开对应App  
 * @param {String} bundleID 要打开的包名,如:com.tencent.xin  
 * @return {Boolean} true=打开App成功,false=打开App失败(一般是没安装该App)  
 */  
openApp(bundleID){  
    let LSApplicationWorkspace  = plus.ios.importClass("LSApplicationWorkspace");  
    let workspace = LSApplicationWorkspace.defaultWorkspace();  
    return plus.ios.invoke( workspace, "openApplicationWithBundleID:", bundleID);  
}

该问题目前已经被锁定, 无法添加新回复