分类 系统技巧 下的文章

最近在使用甲骨文云的免费VPS进行搭建Web服务器,过程也是一波三折,有几个坑,记录一下,希望有遇到相同问题的朋友能避过;

  1. 如果操作系统选择的ubantu,请不要选择最新的22版本,因为22版本在连接的时候会报错,无法连接,请选择20.04,可以正常连接;
  2. 甲骨文云的免费VPS只提供密钥方式连接,所以在创建VPS时,如果本地没有密钥对可用,一定要记住下载他的公钥和私钥,否则以后连接会非常麻烦;
  3. 搭建Web服务器免不了要打开80,443端口,这里需要要VPS的管理界面找到 “主要 VNIC”--“子网:xxx”,点击连接,进入界面,点击“安全列表”,添加入站规则,把80,443都添加进去,如果你觉得到这一步就完事了,那可就错了,你会发现,你的网站依然无法打开,接下来,还需要在ubantu里打开端口,具体命令如下:

    sudo iptables -I INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -I OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    sudo iptables -I INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -I OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    这样才能打开端口,网站才能正确运行。

最近项目中接了一个第三方的SDK,SDK的提供方为了能让开发人员在xcode模拟器下也可以运行调试,所以在一些framework中包含了x86_64框架,可是如果打iOS包的话,这里可以通过把“Validate Workspace”设置为“YES”来解决打包报错的问题,可以正常出包了。(“Validate Workspace”的设置请参考下图)
2022-10-10T02:48:33.png

但是新的问题出现了,就是在苹果后台上传包里会报错,如下:

Asset validation failed (90087)
Unsupported Architectures. The executable for XXXX.app/Frameworks/AgoraRtcWrapper.framework contains unsupported architectures '[x86_64]'. (ID: 643f96cf-cd6b-4ad6-bc53-ebb77eab54dd)

说这个库里包含了不支持的框架,上传失败,此时我们需要做的是,把这个x86_64的框架从这个framework中删除,再重新打包;

在mac下,我们可以直接使用lipo -info 来查看framework包含哪些框架,例如上面这个

 lipo -info AgoraRtcWrapper.framework/AgoraRtcWrapper

会输出

AgoraRtcWrapper.framework/AgoraRtcWrapper are: armv7 x86_64 arm64 

可以看到确实包含了x86_64框架,那如何删除x86_64框架呢?还是用lipo命令,如下:

lipo -remove x86_64 AgoraRtcWrapper.framework/AipBase -o AgoraRtcWrapper.framework/AipBase

这样就可以把x86_64删除之后,再写回到原来的路径,最后我们再查看一下删除了x86_64的库,如下:

AgoraRtcWrapper.framework/AgoraRtcWrapper are: armv7 arm64

这里只剩下了armv7 arm64了。重新打包,这里已经不需要把“Validate Workspace”设置为“YES”了,打包后,上传,一次通过。