在ios cocoa touch框架中添加xib会导致代码签名问题

在ios cocoa touch框架中添加xib会导致代码签名问题,ios,iphone,Ios,Iphone,我制作了一个cocoa touch框架,并添加了一个带有nib的UIViewController,供主项目使用。然后我将这个框架嵌入到主项目中。我可以在模拟器的主项目中调用视图控制器并成功地使用xib。但是,一旦我尝试在配置的设备上运行,就会出现以下错误 /Users/*/Library/Developer/Xcode/DerivedData/MyProj-fznlaigwccdaircejxtqwvegxave/Build/Products/Debug-iphoneos/MyFramework

我制作了一个cocoa touch框架,并添加了一个带有nib的UIViewController,供主项目使用。然后我将这个框架嵌入到主项目中。我可以在模拟器的主项目中调用视图控制器并成功地使用xib。但是,一旦我尝试在配置的设备上运行,就会出现以下错误

/Users/*/Library/Developer/Xcode/DerivedData/MyProj-fznlaigwccdaircejxtqwvegxave/Build/Products/Debug-iphoneos/MyFramework.framework:
code object is not signed at all
在子组件中:
/Users/*/Library/Developer/Xcode/DerivedData/MyProj fznlaigwcdaircejxtqwvegxave/Build/Products/Debug iphoneos/MyFramework.framework/TestViewController.nib

Command /usr/bin/codesign failed with exit code 1
我尝试了以下方法来解决这个问题

1)从构建阶段删除
xib
,并将其添加到复制文件阶段,并选中“
代码登录复制
”。这消除了错误,但是当我尝试调用视图控制器时,我会得到一个运行时异常

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Containers/Bundle/Application/EC8E23CB-D7AE-4185-8B7A-1AAB24669027/MyApp.app/Frameworks/MyFramework.framework> (not yet loaded)' with name 'TestViewController''
*** First throw call stack:
***由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法在捆绑包中加载NIB:“NSBundle(尚未加载)”,名称为“TestViewController”
***第一次抛出调用堆栈:
似乎编译的
.nib
需要使用构建脚本手动进行代码签名

有没有更优雅的方法来解决这个问题?我想我错过了什么

谢谢,
Harikant

当您在XCode之外重命名某些文件时,可能会发生这种错误

->只需从项目中删除文件(右键单击-删除并“删除引用”)

->您重新导入项目中的文件,一切都会正常

或删除.xib(如果使用)

*NSArray nib = [[NSBundle mainBundle] loadNibNamed:@"TestViewController" owner:self options:nil];