iOS   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 二进制被拒绝,因为无效的符号链接,任何想法?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道这是否是正确的地方要问,所以我很抱歉,如果我使用错误的部分.我们有麻烦将@R_486_9616@程序提交给iTunes Connect,我们收到的电子邮件说:
Invalid Symlink - Your package contains a symbolic link 'PlugIns/$REDACTED_WATCHKIT_EXTENSION_TARGEt_name$.appex/$REDACTED_WATCHKIT_EXTENSION_TARGEt_name$.appex' which resolves to a LOCATIOn '/Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/$REDACTED_WATCHKIT_EXTENSION_TARGEt_name$.appex' that does not exist or is outside of the package.

我尝试通过创建一个与我们的项目相同设置的空白Xcode项目来重现错误,但是我无法从iTunes Connect获得相同的错误.有没有人知道为什么正在创建符号链接?我检查了空白的项目.ipa,并且它不包含该路径中的符号链接,因此这是obviosly错误,但我找不到正在创建符号链接的构建设置/配置.

我检查了xcodebuild输出,我发现这个:

SymLink build/SetaWatchKitExtension.appex /Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/SetaWatchKitExtension.appex
    cd $REDACTED_PROjeCT_PATH$
    export PATH="/Applications/Xcode-7.1.app/Contents/Developer/Platforms/iPhoneOs.platform/Developer/usr/bin:/Applications/Xcode-7.1.app/Contents/Developer/usr/bin:$REDACTED_PATH_ENV_VARIABLE$"
    /bin/ln -sfh /Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/$REDACTED_WATCHKIT_EXTENSION_TARGEt_name$.appex /Users/$REDACTED_USER$/Documents/$REDACTED_PATH$/build/$REDACTED_WATCHKIT_EXTENSION_TARGEt_name$.appex

这似乎是好的,但不知何故,符号链接在.ipa里面是错误的.在Watchkit扩展构建目标步骤之前,会发生在创建产品结构之后和之前的CompileSwiftsources之前.

任何提示或帮助都不胜感激.我正在使用Xcode 7.1.

解决方法

我们不得不使用DTS机票,我们收到了Apple的以下回应:
Thank you for contacTing Apple Developer Technical Support (DTS).

The issue seems to happen when you pass CONfigURATION_BUILD_DIR=$PWD/build to the xcodebuild command. Instead,try removing CONfigURATION_BUILD_DIR from the xcodebuild command,and instead,change your build LOCATIOn in your Workspace setTings. Follow these steps:

1. In the xcodebuild command,remove CONfigURATION_BUILD_DIR=$PWD/build
2. Open your Workspace in Xcode
3. SELEct File > Workspace SetTings
4. Click the Advanced button
5. SELEct Custom > Relative to Workspace
6. Click the Done buttons

This will cause the build products to still go in your build directory,and the symlink in the WatchKit Extension is no longer created.

这样做,可悲的是,这种设置无法通过命令行工具应用,Xcode正在以下路径上创建一个文件

Project.workspace/xcuserdata/$USER.xcuserdatad/WorkspaceSetTings.xcsetTings

显然,您不想将该路径添加到VCS中,因此我创建了一个小型的ruby脚本,以便我们的CI添加正确的设置并避免这样做:

setTingsFilePath = "#{ENV["PWD"]}/Project.xcworkspace/xcuserdata/#{ENV["USER"]}.xcuserdatad"
FileUtils.mkpath(setTingsFilePath)

setTings = {'BuildLOCATIOnStyle' => 'CustomLOCATIOn','CustomBuildIntermediatesPath' => 'Build/Intermediates','CustomBuildLOCATIOnType' => 'RelativeToWorkspace','CustomBuildProductsPath' => 'Build/Products'}
File.open("#{setTingsFilePath}/WorkspaceSetTings.xcsetTings",'w') { |file| file.write(setTings.to_plist) }

大佬总结

以上是大佬教程为你收集整理的ios – 二进制被拒绝,因为无效的符号链接,任何想法?全部内容,希望文章能够帮你解决ios – 二进制被拒绝,因为无效的符号链接,任何想法?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。