繁体   English   中英

命令行工具中的strings命令没有执行任何操作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM