今天算是正儿八经创建第一个swift工程,照着视频引用R.swift
pod 'R.swift'
工程配置
"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/R.generated.swift"
$TEMP_DIR/rswift-lastrun
$SRCROOT/R.generated.swift
* 注意 Run角本要放在 Check Pods Manifest.lock 与 Compile Sources 之间
(这个角本是编译时使用的,所以要放在 Compile Sources之前
如图
Ctrl + b 编译成功后 生成R.generated.swift
把 这个文件拖到项目中
* 注意不要勾选 Copy items if needed 因为这个文件只要加入新的资源文件就会更改
遇到的问题
1. 编译的时候报"Error 'DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead' in Xcode 15 beta 5"
好多人给的答案是
在pod文件结尾中加入以下代码
post_install do |installer|
installer.aggregate_targets.each do |target|
target.xcconfigs.each do |variant, xcconfig|
xcconfig_path = target.client_root + target.xcconfig_relative_path(variant)
IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
end
end
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.base_configuration_reference.is_a? Xcodeproj::Project::Object::PBXFileReference
xcconfig_path = config.base_configuration_reference.real_path
IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
end
end
end
end
可以解决,不过还有更好的方法就是升级coacopad 生级到1.15.2 (最新版本,具体要求是哪个版本不知道)版本后这个问题就解决了
2 error: Sandbox: rswift(8019) deny(1) file-read-data /Users/smarfid/TESTWork/TestGeekTime/Pods/R.swift
Targets -> Build Settings -> User Script Sandboxing 改为NO