Canvas 作为著名的开源学习系统,云集了众多开发者为其贡献代码和设计思路,当然也少不了智能手机 App,包括 iOS 和 Android 两个平台。
下面我们详细了解下编译 iOS 版本的过程和可能遇到的问题。
问题一:node 路径问题
Can't find the 'node' binary to build the React Native bundle. If you have a non-standard Node.js installation, select your project in Xcode, find 'Build Phases' - 'Bundle React Native code and images' and change NODE_BINARY to an absolute path to your node executable. You can find it by invoking 'which node' in the terminal.
通过查看错误日志,不难发现是关于node 路径报错,具体解决方法如下:
打开 Terminal 工具,输入 which node 查看 node 程序所在路径,如下图:
得到 node 路径后,再次回到 Xcode,打开 Build Phases 面板,找到 Bundle React Native Code And Images,将原本的 NODE_BINARY 路径修改为 /opt/homebrew/opt/node@16/bin/node,如下图:
最后,再次编译 App。
问题二:编译成功后,运行即崩溃:
多次尝试后,发现 Copy only when installing 不可勾选。
问题二:CocoaPods update iphoneos cannot be located 路径问题
首先通过 xcrun -k --sdk iphoneos --show-sdk-path
自测,如返回:
xcrun: error: SDK "iphoneos" cannot be located
继续执行 xcode-select --print-path 查看当前 Xcode 路径,通常返回:
/Applications/Xcode.app/Contents/Developer
如果不是上述路径,执行:
xcode-select --switch /Applications/Xcode.app/Contents/Developer/
修改后,再次运行 pod install
或 pod update