更新时间:2025-06-11 08:45:27下载pdf
从 Xcode 11 开始,不再内置 Application Loader。苹果官方推出了一个新的 ipa
上传工具,您可以直接在 Mac 应用商店搜 Transporter 进行 ipa
上传。
pod install
为什么会报错?请确认 CocoaPods 为 v1.3.0 及以上版本,执行 pod --version
命令可查看版本。
如果出现提示 Unable to find compatibility version string for object version,是因为 Xcode 创建的新项目中的 project.pbxproj
文件版本过高,而 CocoaPods 由于停止维护,仅支持版本 63。要解决此问题,请打开项目中的 YourProject.xcodeproj/project.pbxproj
文件,将 objectVersion = 70
修改为 objectVersion = 63
。
错误信息示例:
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.27.0/lib/xcodeproj/project.rb:85:in `initialize': [Xcodeproj] Unable to find compatibility version string for object version `70`. (ArgumentError)
如果遇到 glog 集成报错,这是由于 Xcode 16.3 兼容性问题所导致。解决方法是使用 CURRENT_ARCH=arm64 pod install
命令进行安装。
错误信息示例:
/Users/aurusit/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b/missing: Unknown `--is-lightweight' option
Try `/Users/aurusit/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b/missing --help' for more information
pod install
时,为什么提示 CDN: trunk Repo update failed / trunk URL couldn't be downloaded
?CocoaPods v1.8.0 版本默认使用 CDN Repo 源。详情请访问 CocoaPods。
如果您因为网络原因无法访问源,可以编辑 Podfile
修改为之前的 Master Repo:
- source 'https://cdn.cocoapods.org/'
+ source 'https://github.com/CocoaPods/Specs.git'
[[ThingSmartActivator sharedInstance] currentWifiSSID]
为什么无法获取到 SSID?在 Xcode 10 中,获取 Wi-Fi 信息需要开启相关权限。解决方法:Xcode > [Project Name] > Targets > [Target Name] > Capabilities > Access WiFi Information > ON。
详情请参考 iOS 版本适配。
SDK v2.8.0 版本之后加入了安全图片校验,并启用了新的 AppKey
和 AppSecret
。如果发生了 App 闪退,并提示 Terminating app due to uncaught exception 'start sdk error', reason: 'security image not found'
,请按照 准备工作 前往涂鸦开发者平台重新生成 SDK 初始化所需文件。
请确认设备功能的数据类型是否正确。例如,如果设备功能的数据类型是数值型(Value),那控制命令发送的应该是 @{@"2": @(25)}
而不是 @{@"2": @"25"}
。
请在初始化 SDK 之后,调用以下代码:
[[ThingSmartSDK sharedInstance] setDebugMode:YES];
didFinishLaunchingWithOptions
方法中初始化 Push 方法。更多详情,请参考 集成 Push。
因为 SDK 现在获取的本地语言是根据 [[NSBundle mainBundle] preferredLocalizations]
获取的,您需要在工程中创建多语言显示。
现在 SDK 不支持红外设备控制。
设备控制发送多个功能时,您需要先判断设备功能是否有冲突。建议将没功能冲突的功能放在一起发送。例如照明的设备:
可以的。此时只需要设备配网和控制功能,可以只依赖以下两个模块:
# 家庭管理,设备,房间,群组管理相关功能
pod 'ThingSmartDeviceKit',
# 设备配网相关功能
pod 'ThingSmartActivatorKit',
以下模块可以根据您的实际需要引用:
# 单点蓝牙相关功能
pod 'ThingSmartBLEKit',
# sigMesh 相关功能
pod 'ThingSmartBLEMeshKit',
# 智能场景相关功能
pod 'ThingSmartSceneKit',
# 设备和群组定时相关功能
pod 'ThingSmartTimerKit',
# 消息中心相关功能
pod 'ThingSmartMessageKit',
# 问题反馈相关功能
pod 'ThingSmartFeedbackKit',
Undefined symbols xxx
?一般是由于引用的 SDK 各个组件版本不一致导致。
请确认引用的每个库是否都是统一版本,即版本号的最高位和中位一致,例如 v3.12.1 和 v3.12.5 是统一的版本。如果不是,使用 pod update
进行更新后,重新编译即可。
Error Domain=NSURLErrorDomain Code=-999 "已取消"
的错误?请确认请求的对象是全局变量,否则会被提早释放,例如 self.feedBack = [[ThingSmartFeedback alloc] init];
。
请确认 bundleId
、appKey
、appSecret
、安全图片 是否与 涂鸦开发者平台 上的信息一致,任意一个不匹配都将校验失败。更多详情,请参考 准备工作。
library not found for -XXX
?请确认您打开的工程为 .xcworkspace
而不是 .xcproject
。
Undefined symbols for architecture arm64
?报错示例:
Undefined symbols for architecture arm64:
"OBJC_CLASS$ThingAudioEngine", referenced from:
objc-class-ref in ThingSpeechKit(ThingSpeechVADetector.o)
"OBJC_CLASS$ThingSceneIntent", referenced from:
objc-class-ref in ThingSiriShortcutModule(ThingSceneShortcutManager.o)
"OBJC_CLASS$_DWKWebView", referenced from:
objc-class-ref in ThingHybridContainer(ThingHybridContainerVC.o)
ld: symbol(s) not found for architecture arm64.
解决方法:
在 Podfile 文件里添加以下代码。
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
在 XCode 的 Build Settings > Excluded Architectures 路径下,增加 Any iOS Simulator SDK 选项,值为 arm64
。
重新执行 pod install
。
此错误是由于在 Xcode 14 中引入的用户脚本沙盒机制导致的。沙盒机制限制了某些文件操作,例如通过 rsync 进行文件复制或移动操作。当这些操作尝试访问受限路径时,会出现 Operation not permitted 的警告。这通常是因为 Xcode 的新限制造成的,特别是在处理某些第三方库或 framework 的 intermediates 文件时。
要解决此问题,请导航到 Xcode 中的 TARGETS,打开 Build Settings,搜索 User Script Sandboxing,并将其值设置为 NO
。这将禁用用户脚本的沙盒限制。
错误信息示例:
rsync(37019): error: /Users/sunjiting/Test4/DerivedData/Test4/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/ThingMbedtls/ThingMbedtls.framework/Info.plist: open (2) in /Users/sunjiting/Test4: Operation not permitted
ThingMbedtls.framework/ThingMbedtls
rsync(37020): error: mkstempat: 'ThingMbedtls.framework/.ThingMbedtls.5ktlDX4TOz': Operation not permitted
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈