我正在尝试将socketscan SDK集成到我的objective C iOS应用程序中。我下载了scanapisdk,在我的项目主文件夹中复制了一份scanapisdk。我将文件和库引用添加到Xcode项目中。编译并构建应用程序。在设备上运行它。下面的代码已经运行了几年,没有任何问题。
我在m文件中将一个常量NSString声明为全局变量
NSString *const kSymbology =@“符号系统”;
并在h文件中声明为extern。
外部NSString *const kSymbology;
然后在数据库类中有这样的代码片段
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
const char *Symbology = (const char*)sqlite3_column_text(statement, 0);
strSymbology = [NSString stringWithUTF8String:Symbology];
[dict setValue:strSymbology forKey:kSymbology];
[symbologies addObject:dict];
[dict release];代码崩溃在这一行dict setValue:strSymbology forKey:kSymbology;
当我将其更改为dict setValue:strSymbologyAlias forKey:@“Symbology”时,应用程序不会崩溃。
这对我来说没什么意义。错误似乎在其他地方,它在这里意外地显示出来。我在项目中添加的唯一新内容是对socketScan文件和库的引用。我甚至不会调用SDK中的任何方法。我注释掉了ScanApiHelper.mm文件中的所有方法,现在应用程序不会崩溃。我开始重新使用ScanApiHelper.mm中的一些方法,我发现当任何提到SktClassFactory的代码行(例如SktClassFactory createScanObject)都是活动的时,应用程序就会崩溃。
这是否与不使用CocoaPods安装软件开发工具包有关?
发布于 2017-04-04 09:02:43
这看起来像是名称空间冲突。这个libScanApiCore.a有一个名为kSymbology的变量,我的全局变量也叫kSymbology。一旦我将变量名改为ksymbology (小写s),我的应用程序就不再崩溃。
https://stackoverflow.com/questions/43152929
复制相似问题