ios – 二进制被拒绝,因为无效的符号链接,任何想法?

ios – 二进制被拒绝,因为无效的符号链接,任何想法?,第1张

概述我不知道这是否是正确的地方要问,所以我很抱歉,如果我使用错误的部分.我们有麻烦将我们的应用程序提交给iTunes Connect,我们收到的电子邮件说: Invalid Symlink - Your package contains a symbolic link 'PlugIns/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex/$REDACTED_ 我不知道这是否是正确的地方要问,所以我很抱歉,如果我使用错误的部分.我们有麻烦将我们的应用程序提交给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/build2. Open your Workspace in Xcode3. Select file > Workspace Settings4. Click the Advanced button5. Select Custom > relative to Workspace6. Click the Done buttonsThis 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 – 二进制被拒绝,因为无效的符号链接,任何想法?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存