Xamarin在Link All时使用AutoFac生成iOS NoConstructorFoundException,并使用Don't Link生成无限构建

ru9i0ody  于 7个月前  发布在  iOS
关注(0)|答案(1)|浏览(55)

我在iPhone上构建和部署Xamarin Forms for iOS应用时遇到了一个令人困惑的问题。该应用在Android上构建和部署成功,并且在iOS模拟器上也可以工作。然而,当我将链接器设置为“Link All”时,我遇到了与AutoFac相关的NoConstructorFoundException异常。
如果我将链接器切换到“Don 't Link”,异常就会消失,但构建过程就会变得无限,我就无法在物理iPhone上部署应用程序了。
总结如下:
安卓系统:iOS模拟器:使用“不链接”可以正常工作。iOS物理iPhone:“链接全部”:使用AutoFac时出现NoConstructorFoundException。“不链接”:无限构建,无法部署。我已经验证了我的AutoFac注册是正确的,并且依赖项没有问题。
我正在寻求有关如何解决此问题的指导,并成功地将应用程序部署在物理iPhone上,并将链接器设置为“链接所有”。
任何帮助或见解将不胜感激.提前感谢!
输出如下:

/Users/mateusz/shftrun/SHFTRUN/SHFTRUN/SHFTRUN.iOS/obj/iPhone/Debug/device-builds/iphone13.2-16.1.2/mtouch-cache/registrar.m(35506,17): warning G3E9910A3: auto property synthesis will not synthesize property 'extrapolate' declared in protocol 'CIPhotoEffect' [-Wobjc-protocol-property-synthesis]
@implementation CoreImage_CIPhotoEffect {
                ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilterBuiltins.h:417:30: note: property declared here
  @property (nonatomic) bool extrapolate NS_AVAILABLE(14_0, 17_0);
                             ^
/Users/mateusz/shftrun/SHFTRUN/SHFTRUN/SHFTRUN.iOS/obj/iPhone/Debug/device-builds/iphone13.2-16.1.2/mtouch-cache/registrar.m:35583:1: note: add a '@synthesize' directive
@end
^
1 warning generated.

字符串

roejwanj

roejwanj1#

问题解决了,问题是苹果不允许选择“不链接”或“仅链接SDK”,但当选择“链接所有”时,AutoFac无法访问其他项目,因此只需使用--linkskip即可用于AutoFac中使用的所有项目:D

相关问题