博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自建framework提交审核报错 ERROR ITMS-90087解决办法
阅读量:4143 次
发布时间:2019-05-25

本文共 2230 字,大约阅读时间需要 7 分钟。

[objc]
  1. ERROR ITMS-90087"Unsupported Architectures. The executable for yht.temp_caseinsensitive_rename.app/Frameworks/VideoCore.framework contains unsupported architectures '[x86_64, i386]'."  
  2.   
  3.    
  4.   
  5.  ERROR ITMS-90209"Invalid Segment Alignment. The app binary at 'yht.temp_caseinsensitive_rename.app/Frameworks/VideoCore.framework/VideoCore' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."  
  6.   
  7.    
  8.   
  9. 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."  
  10.   
  11.    
  12.   
  13. WARNING ITMS-90080"The executable 'Payload/yht.temp_caseinsensitive_rename.app/Frameworks/VideoCore.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."  
[html]
  1.   

 制作好的framework在打包上传至AppStore如果出现以下错误,则说明自建的这个SDK里面包含了x86_64, i386 ,当然这个AppStore是不允许的,所有会在上传的时候报错,解决办法就是要这个SDK剔除掉x86_64, i386这两个架构

解决办法:TARGETS->Build Phases->点击加号选择New Run Script Phase->然后复制粘贴下面代码   搞掂上架

[objc]
  1. APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"  
  2.   
  3. # This script loops through the frameworks embedded in the application and  
  4. # removes unused architectures.  
  5. find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK  
  6. do  
  7. FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)  
  8. FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"  
  9. echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"  
  10.   
  11. EXTRACTED_ARCHS=()  
  12.   
  13. for ARCH in $ARCHS  
  14. do  
  15. echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"  
  16. lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"  
  17. EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")  
  18. done  
  19.   
  20. echo "Merging extracted architectures: ${ARCHS}"  
  21. lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"  
  22. rm "${EXTRACTED_ARCHS[@]}"  
  23.   
  24. echo "Replacing original executable with thinned version"  
  25. rm "$FRAMEWORK_EXECUTABLE_PATH"  
  26. mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"  
  27.   
  28. done 
你可能感兴趣的文章
本地tomcat 服务器内存不足
查看>>
IntelliJ IDAE 2018.2 汉化
查看>>
基于S5PV210的uboot移植中遇到的若干问题记录(一)DM9000网卡移植
查看>>
Openwrt源码下载与编译
查看>>
我和ip_conntrack不得不说的一些事
查看>>
Linux 查看端口使用情况
查看>>
文件隐藏
查看>>
两个linux内核rootkit--之二:adore-ng
查看>>
两个linux内核rootkit--之一:enyelkm
查看>>
关于linux栈的一个深层次的问题
查看>>
rootkit related
查看>>
配置文件的重要性------轻化操作
查看>>
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>
makefile中“-“符号的使用
查看>>
go语言如何从终端逐行读取数据?------用bufio包
查看>>