我在我的项目中包含了 TokBox 框架,这样我们就可以进行视频短信。问题是该框架以及它们所需的其他一些框架不允许您在模拟器中编译或运行该应用程序;他们不受支持。
有没有办法设置编译器标志以在编译到模拟器时跳过 TokBox 和其他框架?原因是我需要在 iPhone 4、4s、5、5s 以及 9 月 9 日推出的任何设备上测试我们的应用程序。我不拥有每种类型的手机。
出现此错误:
file was built for archive which is not the architecture being linked (i386)
我将其添加到“任何 iOS 模拟器 SKD”的其他链接器标志中,但仍然失败
"-ObjC -framework MobileCoreServices -framework SystemConfiguration -framework OpenTok"
以下是解决此问题的步骤。
在“构建阶段”>“将二进制文件与库链接”中将 OpenTok 框架设为可选,而不是必需的。
您可能需要从 Project Navigator 和 Link Binary With Libraries 中删除 OpenTok 框架,然后清理,然后添加回来并使其可选。
在“其他链接器标志”中的“构建设置”>“链接”中,您应该有“调试”和“发布”。
在“调试”下添加一个新的并选择右侧的“任何 iOS 模拟器 SDK”,输入此 -weak_framework OpenTok
然后在所有引用公开谈话的类中,您需要执行类似的操作。
#if TARGET_IPHONE_SIMULATOR
@interface TokBoxVideoViewController (){
NSMutableDictionary *allStreams;
NSMutableDictionary *allSubscribers;
NSMutableArray *allConnectionsIds;
OTSession *_session;
OTPublisher *_publisher;
OTSubscriber *_currentSubscriber;
CGPoint _startPosition;
BOOL initialized;
}
#else
@interface TokBoxVideoViewController ()<OTSessionDelegate, OTSubscriberKitDelegate,
OTPublisherDelegate>{
NSMutableDictionary *allStreams;
NSMutableDictionary *allSubscribers;
NSMutableArray *allConnectionsIds;
OTSession *_session;
OTPublisher *_publisher;
OTSubscriber *_currentSubscriber;
CGPoint _startPosition;
BOOL initialized;
}
#endif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)