问题标签 [objective-c-swift-bridge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 创建Objective C to Swift Bridge时“在类型对象上找不到属性”
我收到一条错误消息:使用以下实现时,在“DataManager”类型的对象上找不到属性“clientChatLoad”:
AppDelegate.m
数据管理器.swift
据我了解,添加@class DataManager
到我的 Objective C 类以及@objc
之前 class func clientChatLoad
应该将 Swift 代码暴露给我的 Objective C 类......但我仍然收到一个错误。我可能忽略了什么?
ios - Apple API fsckup:我如何快速制作 unsafepointerof 0 aka NULL / 0x0?
我有一个参数应该是 UIViewController 的情况!从 objc 正确映射,但遗憾的是,它是 UIViewController。
这个
感觉有点脆弱。对于 0x0 以外的指针,hashValue 可能映射到 0。如何为 NULL 创建一个不安全的指针来比较 unsafeAddressOf(currentVC) ?
Swift 2.3 以防它是一个典型的 Swift 2,但我们在 Swift 3 中做得更好!需要回答的种类。
objective-c - 使用 Xcode 8.2.1 将 FairPlay Streaming Server SDK(它在 swift 中)集成到我现有的目标 c 代码中
我尝试将 FairPlay Streaming Server SDK(它在 swift 中)集成到我现有的目标 c 代码中。在 MAC OSX 10.12.3 系统中使用 Xcode 8.2.1 项目。FairPlay Streaming Server SDK 包含可以导入目标的 swift 类使用桥接文件的 c 代码出现以下错误,如图所示在此处输入图像描述
ios - 混合 Swift 和 ObjC pod 不起作用
我有一个只有 Objective-C pod 的 podfile,看起来像这样:
和一个看起来像这样的桥接头:
现在,我想添加一个 Swift pod 的 Alamofire。所以我必须使用use_frameworks!
,我的 podfile 看起来像这样:
但是当我尝试构建我的项目时,我得到了 2 个错误:
第一个在我的桥接头上:
找不到“PocketSVG.h”文件
第二个不在特定文件上:
导入桥接头失败
知道如何解决吗?
swift - 使用 NSExpression 时捕获 NSInvalidArgumentException 的正确方法
我想验证用户创建的表达式(如“2+2”、“5+7”或更复杂)。我使用 NSExpression 类来解析和计算这个表达式。这是我的游乐场代码:
当我使用有效表达式 ("2+2") - 我得到结果。但有时用户可能会提供错误的字符串(例如“2+”)。使用此字符串,我的应用程序会因此崩溃:
我不明白如何捕获这个异常以及为什么上面的代码不这样做。现在我使用Objective C类(具有相同的逻辑),从我的swift代码中调用这个方法,在那个类中我真的可以捕捉到这样的异常:
这行得通,我可以获得正确的解析状态(nil 表示表达式有问题)和结果(NSNumber),但我真的很想了解如何在 Swift 中正确地完成所有这些事情。
ios - 为objective-c麦克风检测添加动画
我有两个独立的项目:
一个具有由计时器和计数器设置的 png 动画,以在用户按下开始/停止 (swift) 时保持循环。
另一个检测用户何时向 iPhone 麦克风吹气(目标 c)。
我想加入这两个,以便麦克风检测触发动画播放和停止。任何人都可以建议最好的方法,我已经开始在我的麦克风检测项目中创建一个 viewcontroller.swift 并使用一个桥接头来做到这一点。我不确定如何继续输入动画代码,它进入哪个文件,如何链接 swift 和 Objective c 文件等?
提前致谢。
objective-c - 在目标 c 项目的单独项目中调用 swift 文件。Apple Mach-o 链接器错误
我们有一个旧的 iOS 目标 C 应用程序。我们想添加“快速”功能。创建了一个单独的“Cocoa touch framework”项目以从“objective C”项目中引用它。当我尝试从目标 c 快速调用/初始化任何方法时出现此错误
ld /Users/teeboy/Library/Developer/Xcode/DerivedData/super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Products/Debug-iphonesimulator/super.app/super normal x86_64 cd /Users/teeboy/iWorkbench/super export IPHONEOS_DEPLOYMENT_TARGET=10.0 export PATH=" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin: /bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms /iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3。sdk -L/Users/teeboy/Library/Developer/Xcode/DerivedData/super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Products/Debug-iphonesimulator -F/Users/teeboy/Library/Developer/Xcode/DerivedData/super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Products/ Debug-iphonesimulator -F/Users/teeboy/iWorkbench/super -filelist /Users/teeboy/Library/Developer/Xcode/DerivedData/super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Intermediates/super.build/Debug-iphonesimulator/super.build/Objects- normal/x86_64/super.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -mios-simulator-version-min=10.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/teeboy/Library/Developer/Xcode/DerivedData/super- aybvkjtipygrszeyqsnbmtglaaqi/Build/Intermediates/super.build/Debug-iphonesimulator/super.build/Objects-normal/x86_64/super_lto。o -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -ObjC -all_load -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/teeboy/Library/Developer/Xcode/DerivedData /super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Intermediates/super.build/Debug-iphonesimulator/super.build/super.app。xcent -lz -lPatientSearch -framework MapKit -framework ZipArchive -framework QuartzCore -lMobuleMenuCell -framework OCMockitoIOS -framework Security -lModuleNavigation -lToDoList -framework CoreData -lPatientChart -framework CoreText -framework Crashlytics -framework CoreLocation -lVisitNotes -lDataAccess -lDashboard -framework MobileCoreServices -框架 SystemConfiguration -lframework -lsuperCommon -framework UIKit -framework OCHamcrestIOS -framework Foundation -framework CoreGraphics -Xlinker -dependency_info -Xlinker /Users/teeboy/Library/Developer/Xcode/DerivedData/super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Intermediates/super.build/Debug -iphonesimulator/super.build/Objects-normal/x86_64/super_dependency_info.dat -o /Users/teeboy/Library/Developer/Xcode/DerivedData/super-aybvkjtipygrszeyqsnbmtglaaqi/Build/Products/Debug-iphonesimulator/super.应用程序/超级
架构 x86_64 的未定义符号:“_OBJC_CLASS_$__TtC5utils3zip”,引用自:libDashboard.a(ASLandingPageVC.o) 中的 objc-class-ref ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败并出现退出代码1(使用 -v 查看调用)
swift 库的名称是“utils”。旧的目标 c 应用程序使用一些其他项目依赖项。抱歉,xcode 的新手。
ios - 导入自动生成的 Swift 标头的 Obj-C 文件
这是Import a file in bridging-header 的部分副本,该文件导入 Swift 标头,但我遇到与Rich相同的问题
但是在 Swift 中声明的枚举呢?:(
我正在将 Obj-C iPad 应用程序移植到 iPhone。但是我是一个 Swift 开发者,我真的不想重写现有的功能;而是替换 UI。
我为 iPhone 版本创建了一个新目标。在我的桥接头中,我导入了一个使用#import "ProjectName-Swift.h"
. 由于此文件是自动生成的,因此在我构建此新目标时它不存在。链接的答案是添加一个@class
,但遗留代码使用一个枚举,它现在给出错误“预期类型”。