Submit to App Store issues: Unsupported Architecture x86

  1.  
  2.  
  3. ERROR ITMS-90087: "Unsupported Architecture. Your executable contains unsupported architecture '[x86_64, i386]'."
  4. ERROR ITMS-90209: "Invalid segment Alignment. The App Binary at SJAPP.app/Frameworks/Buy.framework/Buy does not have proper segment alignment. Try rebuilding the app with the latest xcode version." (I am already using the latest version.)
  5. ERROR ITMS-90125: "The Binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's Linker."
  6. WARNING ITMS-90080: "The Executable Payload/..../Buy.framework is not a Position Independent Executable. Please ensure that ur build settings are configured to create PIE executables."

原文链接:https://stackoverflow.com/questions/30547283/submit-to-app-store-issues-unsupported-architecture-x86/49934320#49934320?newreg=de0fd8c3d0814abe9bf20856c1946c90

 

背景: UI改版,新UI给了svg的图像文件,于是开始集成到项目中.

1.使用uiwebview

2.使用一些三方的控件

-------------------------

 

初探: 使用uiwebview的确能够显示上,但是大小有一些差异,不能轻松弄到指定的大小,这是第一个问题,我相信深入研究应该是可以的,后来为了项目时间,我选择了后者,使用了SVGKit这个三方的库,找到了github发现他对cocopod不是很友好,于是就是用copy和一些注意事项吧这个控件放到了工程中,然后使用运行线上环境都ok[发的扫码版本的,没有上到商店,所有用户都使用上了]

深入: 最近有时间,特殊规避下审核上传到商店,然后发现了如上面的几个错误

Submit to App Store issues: Unsupported Architecture x86_第1张图片

然后找到了

stackoverflow  经过 测试发现加入脚本几个up多的都不能成功,最终final解决方案是

 

  1. Open terminal in your project's directory.
  2. Change directory directly into the .framekwork, like

    cd YourProjectDir/YourProject/YourLibrary.framework

  3. Run the series of commands as shown below-

    $ mv YourLibrary YourLibrary_all_archs

    $ lipo -remove x86_64 YourLibrary_all_archs -o YourLibrary_some_archs

    $ lipo -remove i386 YourLibrary_some_archs -o YourLibrary

    $ rm YourLibrary_all_archs YourLibrary_some_archs

 

实际在终端中的语句是这样的:

$ mv CocoaLumberjack CocoaLumberjack_all_archs

$ lipo -remove x86_64 CocoaLumberjack_all_archs -o CocoaLumberjack_some_archs

$ lipo -remove i386 CocoaLumberjack_some_archs -o CocoaLumberjack

$ rm CocoaLumberjack_all_archs CocoaLumberjack_some_archs

 

陈功!

 

最直接的方法就是对framework进行处理,简单粗暴,并能成功,成功的覆盖率高

你可能感兴趣的:(OC)