Ios 我可以在沙盒macOS应用程序中使用Peertalk或usbmuxd吗?
是一个通过lightning/USB电缆在mac和iOS设备之间提供通信的库。它通过以下操作建立连接:Ios 我可以在沙盒macOS应用程序中使用Peertalk或usbmuxd吗?,ios,macos,usb,appstore-sandbox,Ios,Macos,Usb,Appstore Sandbox,是一个通过lightning/USB电缆在mac和iOS设备之间提供通信的库。它通过以下操作建立连接: struct sockaddr_un addr; addr.sun_family = AF_UNIX; strcpy(addr.sun_path, "/var/run/usbmuxd"); socklen_t socklen = sizeof(addr); if (connect(fd, (struct sockaddr*)&addr, socklen) == -1
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, "/var/run/usbmuxd");
socklen_t socklen = sizeof(addr);
if (connect(fd, (struct sockaddr*)&addr, socklen) == -1) {
if (error) *error = [[NSError alloc] initWithDomain:NSPOSIXErrorDomain code:errno userInfo:nil];
return NO;
}
这在非沙盒应用程序中很好。在沙盒应用程序中,即使允许网络和USB,它也会失败,错误号EPERM
-不允许操作
有没有办法让它在沙盒Mac应用程序中工作
更新: 将临时异常添加到
。权限无效:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.temporary-exception.files.absolute-path.read-write</key>
<string>/var/run/usbmuxd</string>
</dict>
</plist>
com.apple.security.app-sandbox
com.apple.security.network.client
com.apple.security.network.server
com.apple.security.temporary-exception.files.absolute-path.read-write
/var/run/usbmuxd
不,这是不可能的。
我最终找到的解决方案是一个中继应用程序,用户可以手动下载并作为非沙盒应用程序安装。主应用程序通过网络环回地址与中继器通信,然后中继器通过usbmuxd与设备通信。路径不是应该是“/private/var/run/usbmuxd”吗?@superg这是一样的-/private文件系统包含指向根文件系统上的文件的链接。您好。。。关于这件事你有什么答案吗?我们还试图让PeerTalk在沙盒MacOS应用程序上工作。谢谢分享!Cheerri使用了一个非沙盒中继应用,用户可以在应用商店外下载和安装。有没有办法从应用商店提交或下载?请建议。