[英]strings command in command line tool is not doing anything
我试图将我的代码推向苹果。 我处于验证Xcode中代码的阶段。 我正在关注这篇文章: http : //developer.xamarin.com/guides/ios/deployment,_testing,_and_metrics/app_distribution_overview/publishing_to_the_app_store/
但是我收到一条错误消息,说“应用程序引用非公共选择器/ myproject / path:artwork,command,finished,initWithSendPort
我读过有人说要针对dll在xcode中运行命令行工具,以找到罪魁祸首,如下所示:
strings /path/to/dllfolder.dll | grep artwork
但我的应用程序中没有任何dll。 在Xamarin中针对我的配置进行构建后,接收文件夹仅包含myapp,myapp.dsym,myapp.exe,myapp.xcent和资源文件夹,该文件夹为空。
我被卡住了。 我该怎么办?
解:
@Rolf,我会将您的答案标记为解决方案,因为其中一部分是我为解决问题所做的。 我下载了最新的Xamarin更新版本3.0,然后“链接了所有程序集”,并且立即生效。
使用此选项来字符串:
-a --all-不要只扫描目标文件的初始化和加载部分; 扫描整个文件。 ´´´
http://www.freebsd.org/cgi/man.cgi?query=strings&sektion=1&n=1
这些选择器很可能显示在monotouch.dll中。 但是,实际上大多数选择器都是公开记录的[1],尚未从initWithSendPort:receivePort:components
未来版本中删除(我相信initWithSendPort:receivePort:components
是唯一的选择器)。
当前的解决方法是在项目的iOS Build选项中启用托管链接器(将“链接器行为”设置为“链接所有程序集”或“仅链接SDK程序集”)。 这将从monotouch.dll中删除未使用的代码,除非您实际使用该API,否则将删除这些选择器的用法。
[1] http://forums.xamarin.com/discussion/comment/59264/#Comment_59264
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.