【问题标题】:Xamarin Failed to resolve "System.Void Foundation.NSMutableDictionaryXamarin 无法解决“System.Void Foundation.NSMutableDictionary
【发布时间】:2015-10-23 09:42:12
【问题描述】:

刚刚在我的 Mac 上更新到最新的 Xamarin.iOS 稳定版本和 Xcode 7.1。当我在 Visual Studio 中为模拟器和设备构建时,我收到以下错误:

错误 22 无法解析来自“Xamarin.iOS,版本=0.0.0.0,文化=中性,PublicKeyToken=84e04ff9cfb79065”的“System.Void Foundation.NSMutableDictionary::set_Item(ObjCRuntime.INativeObject,ObjCRuntime.INativeObject)”参考/p>

[更新] 当我将链接行为设置为不链接时,应用程序会在模拟器和设备上启动,但会因以下错误而崩溃:

Error loading /System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib:  dlopen(/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib, 262): no suitable image found.  Did find:
/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib: mach-o, but not built for iOS simulator

Cannot find function pointer IOHIDLibFactory for factory 13AA9C44-6F1B-11D4-907C-0005028F18D5 in CFBundle/CFPlugIn 0x7d2c2e80 </System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin> (bundle, not loaded) 2015-10-23 15:05:28.036 

 Error loading /System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib:  dlopen(/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib, 262): no suitable image found.  Did find:
/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib: mach-o, but not built for iOS simulator

 Cannot find function pointer IOHIDLibFactory for factory 13AA9C44-6F1B-11D4-907C-0005028F18D5 in CFBundle/CFPlugIn 0x7d2c2e80 </System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin> (bundle, not loaded)

我设法将问题缩小到应用程序使用的相机,具体到以下几行:

var dictionary = new NSMutableDictionary();
dictionary[AVVideo.CodecKey] = new NSNumber((int)AVVideoCodec.JPEG);

错误是

[0:] Method 'NSMutableDictionary.set_Item' not found.
Attempting to JIT compile method ... while running with --aot-only. 
See http://docs.xamarin.com/ios/about/limitations for more information.

这在我更新到 XCode 7.1 之前可以正常工作。

知道如何解决这个问题吗?

谢谢!

【问题讨论】:

  • 您是为模拟器还是设备构建?另外,如果您在Link behavior 中更改Don't link,它会起作用吗?您是否还有其他尚未重新编译的程序集。
  • 嗨@RobertN 感谢您的快速回复。请查看更新,似乎问题与相机有关。但是在我更新之前它曾经可以正常工作。
  • 我的 ios 项目中没有这个 EXEC 文件夹。我应该手动创建它并将所有 dll 复制到其中并引用它们吗?感觉有点脏修复。你知道为什么现在出现这个错误,但是在我更新到最新的稳定 Xamarin 代码之前它一直运行良好。

标签: xamarin xamarin.ios


【解决方案1】:

我使用的是已被删除的 NSMutableDictionary https://developer.xamarin.com/releases/ios/xamarin.ios_9/xamarin.ios_9.0/#2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多