简体   繁体   English

无法在 xcode 中生成 iOS App 存档

[英]Cannot generate iOS App archive in xcode

I have a problem generating a iOS App archive from an application.我在从应用程序生成 iOS 应用程序存档时遇到问题。 The application compiles just fine and even works in the simulator.该应用程序编译得很好,甚至可以在模拟器中运行。 Now I wanted to make som ad hoc testing and cannot generate the iOS App Archive.现在我想做一些临时测试并且无法生成 iOS 应用程序存档。 When I click on the Product -> Archive it generates a generic xcode archive.当我单击 Product -> Archive 时,它​​会生成一个通用的 xcode 存档。 Can anyone help me.谁能帮我。 I should mention, that I have already generated an iOS App Archive of this application.我应该提一下,我已经生成了这个应用程序的 iOS 应用程序存档。 It has just stopped to generate iOS Archive for some reason.由于某种原因,它刚刚停止生成 iOS 存档。 Thanks a lot.非常感谢。

Check Build Settings:检查构建设置:

  1. Skip install is NO for the main project target对于主要项目目标,跳过安装是否
  2. Skip install is YES for framework (sub-projects) targets对于框架(子项目)目标,跳过安装是 YES
  3. In Build Phases for sub-projects, Copy Headers needs to be in Project, not Public (does not apply if building static library)在子项目的构建阶段,复制标题需要在项目中,而不是公共(如果构建静态库不适用)
  4. Installation Directory under Deployment is valid (/Applications for example)部署下的安装目录有效(例如/Applications)

This can happen if you've added a framework/library ... you need to edit the Target->Build Settings of that library and set the 'Skip Install' setting to 'Yes'.如果您添加了框架/库,就会发生这种情况……您需要编辑该库的目标-> 构建设置并将“跳过安装”设置设置为“是”。 When you re-archive, XCode should start producing a 'iOS App Archive' again rather than a 'generic xcode archive'.当您重新存档时,XCode 应该再次开始生成“iOS 应用存档”而不是“通用 xcode 存档”。

In addition of Skip Install to Yes and in case you opened another lib/framwork project within your app project you have to move headers (if any) from public to project in the Build Phase / Copy Headers .除了Skip Install to Yes 之外,如果您在应用程序项目中打开了另一个 lib/framework 项目,您必须在Build Phase / Copy Headers中将标题(如果有)从public 移动项目

你的 lib/framework 目标的构建阶段

I did the following to make it work for me:我做了以下工作以使其对我有用:

  1. I had a three20 static library, I used cocoapods to include the files within the main project我有一个 Three20 静态库,我使用cocoapods将文件包含在主项目中
  2. followed the skip install for all other sub projects/static libraries and switched the copy headers from public to project as stated above遵循所有其他子项目/静态库的跳过安装,并将复制头从 public 切换到项目,如上所述
  3. most importantly: in each library your project uses go to build phases -> Copy Files and ensured that destination is changed from Absolute path to products directory .最重要的是:在您的项目使用的每个库中,转到构建阶段 -> 复制文件并确保目的地Absolute path更改为products directory Note: see the hint below to narrow your search to find the library causing this error.注意:请参阅下面的提示以缩小搜索范围以查找导致此错误的库。

and that was it!就是这样!

hint: to get an idea of the offending files that's causing your archive to create an archive file rather than an ipa do this:提示:要了解导致存档创建存档文件而不是 ipa 的违规文件,请执行以下操作:

  1. Select the archive and click the Distribute button.选择存档并单击分发按钮。
  2. Select the 'Save Built Products' option.选择“保存构建的产品”选项。
  3. Hit Next and Save.点击下一步并保存。
  4. Browse the created directory in Finder.在 Finder 中浏览创建的目录。
  5. The 'libraries' subdirectory will identify the libraries that you need to set the Skip Install to Yes. 'libraries' 子目录将标识您需要将跳过安装设置为是的库。
  6. in some cases usr/local/include will identify the culprit header files you need to move from Public to Project or the files that you have to change from absolute path to products directory (or even the files you forgot to set the skip install to yes flag).在某些情况下, usr/local/include将识别您需要从 Public 移动到 Project 的罪魁祸首头文件,或者您必须从绝对路径更改为 products 目录的文件(甚至是您忘记将跳过安装设置为 yes 的文件)旗帜)。 but that directory (ie usr/local/include) varies depending on your sublibrary directory structure.但该目录(即 usr/local/include)因您的子库目录结构而异。 In many cases.. you will see all the files listed under Copy Files in step 3 above listed here.在许多情况下.. 您将看到此处列出的上述步骤 3 中的复制文件下列出的所有文件。 If you find them here, then you have a definite answer for the cause of your problem.如果您在这里找到它们,那么您对问题的原因就有了明确的答案。

update to hint: to make life even more simpler.. whatever files appears under step 4 in hint above.. simply search for it in the global search of xcode.. and you should get immediate results for what you want.. for example, this was the content of my folder (following the steps in hint above):更新提示:让生活更简单.. 上面提示中第 4 步下出现的任何文件.. 只需在 xcode 的全局搜索中搜索它.. 你应该立即得到你想要的结果.. 例如,这是我的文件夹的内容(按照上面提示中的步骤):

在此处输入图片说明

So I could tell it has something to do with the crypto and ssl libraries.. searching for them:所以我可以说它与cryptossl库有关..搜索它们:

在此处输入图片说明

made me realize that i forgot to set skip install to yes.让我意识到我忘记将跳过安装设置为是。

If you export the archive, open it and see /urs/local/include in Products try this suggestion :如果导出存档,打开它,看看/urs/local/include产品尝试这个建议

In each pod, under Packaging , Private Headers Folder Path and Public Headers Folder Path is set to /usr/local/include .在每个 pod 中,在Packaging下, Private Headers Folder PathPublic Headers Folder Path设置为/usr/local/include If I clear them then I get a valid archive.如果我清除它们,那么我会得到一个有效的存档。

在此处输入图片说明

Worked for me after upgrading my React Native app to 0.11.0 , Xcode 7 and CocoaPods 0.39.0.beta.4 .在将我的 React Native 应用程序升级到0.11.0 、Xcode 7和 CocoaPods 0.39.0.beta.4后为我工作。

If you're using CocoaPods as well as WatchKit or a Today Extension, there is an open issue on the CocoaPods repo explaining what your problem might be.如果您使用 CocoaPods 以及 WatchKit 或 Today Extension,则 CocoaPods 存储库上有一个未解决的问题,解释了您的问题可能是什么。

The solution for me was to remove the Copy Pod Resources phase from the WatchKit Extension and Today Extension targets under Build Phases .我的解决方案是从Build Phases下的 WatchKit Extension 和 Today Extension 目标中删除Copy Pod Resources Build Phases The project compiled and archived as expected once I did this.完成此操作后,该项目按预期编译和存档。

Hope this helps someone, this had me stumped for an entire day!希望这对某人有帮助,这让我难倒了一整天!

If any of the above answers don't work, your issue is probably with cocoaPods .如果上述任何答案都不起作用,则您的问题可能与cocoaPods The latest update 0.38.1 messed things up for me, but then i downgraded to 0.37.1 and things returned to normal.最新的0.38.1更新对我来说把事情搞砸了,但后来我降级到0.37.1 ,一切又恢复了正常。 Using Xcode 6.3.1使用Xcode 6.3.1

Later edit: updating to 0.38.2 will also fix this.稍后编辑:更新到0.38.2也会解决这个问题。 More info about what caused this issue here: Cocoapods 0.38.1 failed to create valid Archive有关导致此问题的原因的更多信息: Cocoapods 0.38.1 failed to create valid Archive

Although I'm using Xcode5 and what sorted it for me was editing the Build Scheme - trying all of the above suggestions that were applicable didn't help in my case.尽管我使用的是 Xcode5 并且对我进行排序的是编辑构建方案 - 尝试上述所有适用的建议对我的情况没有帮助。

I had two targets, say, "App" and "App FREE".我有两个目标,比如“App”和“App FREE”。 My problems with the generic archive happened when I was trying to Archive the FREE version, which I added after the 'normal' version of the app.我在尝试存档免费版本时发生了通用存档的问题,这是我在应用程序的“正常”版本之后添加的。 In my case, when I selected its Scheme in the toolbar and chose Edit Scheme ... I saw that Build section had two targets, namely App and App FREE.就我而言,当我在工具栏中选择它的 Scheme 并选择 Edit Scheme 时......我看到 Build 部分有两个目标,即 App 和 App FREE。

I unchecked all columns for App, leaving only App FREE's columns checked, and clicked OK.我取消选中 App 的所有列,只选中 App FREE 的列,然后单击“确定”。 Next time I chose Product > Archive I got my App FREE instead of a Generic Archive.下次我选择产品 > 存档时,我的应用程序是免费的,而不是通用存档。 :) :)

If you have only single project, maybe this solution would be useful.如果您只有一个项目,也许这个解决方案会很有用。 This problem had occurred, when I duplicated the target.当我复制目标时发生了这个问题。 As a result I had two targets parallel built.结果我并行构建了两个目标。 This was causing the issue.这导致了这个问题。 Generic IOS archive was built.通用 IOS 存档已构建。

To turn the parallel built off go to要关闭并行构建,请转到

  • Manage schemes,管理计划,
  • Edit scheme,编辑方案,
  • Build,建造,
  • Remove the other target.移除另一个目标。

I had this problem after updating to iOS 9 and Xcode 7. Josh H's solution worked for me:更新到 iOS 9 和 Xcode 7 后我遇到了这个问题。Josh H 的解决方案对我有用:

In each pod, under Packaging, Private Headers Folder Path and Public Headers Folder Path is set to /usr/local/include.在每个 pod 中,在 Packaging 下,Private Headers Folder Path 和 Public Headers Folder Path 设置为 /usr/local/include。 If I clear them then I get a valid archive.如果我清除它们,那么我会得到一个有效的存档。

I also made a post install script for my Podfile to do this automatically!我还为我的 Podfile 制作了一个安装后脚本来自动执行此操作!

    post_install do |installer_representation|
        installer_representation.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['PUBLIC_HEADERS_FOLDER_PATH'] = [""];
                config.build_settings['PRIVATE_HEADERS_FOLDER_PATH'] = [""];
            end
        end
    end

Just add it to the bottom of your Podfile and run pod install只需将它添加到 Podfile 的底部并运行pod install

I had this issue.我有这个问题。 In my case, it was caused by keeping a Mac app target as a dependency of the iOS app.就我而言,这是由于将 Mac 应用程序目标保留为 iOS 应用程序的依赖项所致。

The reason it was setup like this was that the Mac app was a tool used to generate some data for the iOS app, which was then included in the bundle.像这样设置的原因是 Mac 应用程序是一个工具,用于为 iOS 应用程序生成一些数据,然后将这些数据包含在捆绑包中。

I had to remove that dependency and build the tool separately before making a build of the iOS app itself.在构建 iOS 应用程序本身之前,我必须删除该依赖项并单独构建该工具。

In my scenario I was getting the erroneous "Generic Archive" only after I began including Swift code in my predominantly Objective-C project.在我的场景中,只有在我开始将 Swift 代码包含在我主要的 Objective-C 项目中之后,我才会得到错误的“通用存档”。 After lots of troubleshooting and examination of the archive file that Xcode was spitting out, I noticed that the SwiftSupport folder (with the required dylibs for the Swift runtime) was in a different place in my archive than from a vanilla brand-new Swift project app archive.在对 Xcode 吐出的存档文件进行了大量故障排除和检查后,我注意到SwiftSupport文件夹(包含 Swift 运行时所需的 dylib)在我的存档中与一个全新的 Swift 项目应用程序位于不同的位置档案。

I found the Installation Directory build setting and noticed it was set to a custom path in my project.我找到了Installation Directory构建设置,并注意到它在我的项目中设置为自定义路径。 I simply deleted it (setting it to its generic value of /Applications ) and the next Build -> Archive I did worked as expected and gave me a proper iOS App Archive.我只是删除了它(将它设置为它的通用值/Applications )和下一个 Build -> Archive 我确实按预期工作并给了我一个合适的 iOS App Archive。

TL; TL; DR: Make sure your Installation Directory build setting is set to its default value of /Applications when including Swift code in your app, especially if you are starting with an older project file that may have some unexpected legacy build settings. DR:在您的应用程序中包含 Swift 代码时,请确保您的Installation Directory构建设置设置为其默认值/Applications ,尤其是当您从可能具有一些意外的遗留构建设置的旧项目文件开始时。

I have multiple project in my workspace, (GTL, Pods and my main project) and this is what worked for me:我的工作区中有多个项目(GTL、Pods 和我的主项目),这对我有用:

Select the Project, there will be 2 types there, there's the Project and there's the Targets .选择 Project ,那里会有 2 种类型,有ProjectTargets

For projects that is not your main like GTL or PODS :对于GTLPODS等不是您主要项目的项目:

Projects:项目:

Skip Install = NO
Installation Directory = /Applications
// For pods
Private Headers Folder Path = ""
Public Headers Folder Path = ""

Targets:目标:

Skip Install = YES
Installation Directory = /Applications
// For pods
Private Headers Folder Path = ""
Public Headers Folder Path = ""

For the main project (which is usually named the same as your product name):对于主项目(通常与您的产品名称相同):

Projects:项目:

Skip Install = NO
Installation Directory = /Applications

Targets:目标:

Skip Install = NO
Installation Directory = /Applications

Check the ios deployment target on each projects and targets to make sure they are all the same.检查每个项目和目标上的 ios 部署目标以确保它们都相同。

Leaving this here to save others from the same journey.离开这里是为了从同一旅程中拯救其他人。

I found I needed to remove the same Copy Pod Resources build phase from a static library target in my workspace too.我发现我也需要从工作区中的静态库目标中删除相同的 Copy Pod Resources 构建阶段。

Addition to Alex L 's answer.除了 Alex L 的回答。

Point 3. Change 'Build Settings' -> 'Public Header Folder Path' to 'include/xxx' also works. Point 3. 将“Build Settings”->“Public Header Folder Path”更改为“include/xxx”也有效。

If none of the above helped you...after a lot of time.......如果以上都没有帮助你......经过很多时间......

I deleted the value in the Info.plist for Bundle Version because I was happy enough with just Bundle Version Short 1.0.我删除了 Info.plist 中 Bundle Version 的值,因为我对 Bundle Version Short 1.0 已经足够满意了。 Bad.坏的。 Don't do this.不要这样做。

*Note I actually did this by editing it in the UI on the right not realizing it would put an empty key in the Info.plist file. *注意我实际上是通过在右侧的 UI 中编辑它来做到这一点的,但没有意识到它会在 Info.plist 文件中放置一个空键。 I think that makes it invalid.我认为这使它无效。 My bundle showed up as other items while archiving and had no icon, and I couldn't upload to anywhere.我的捆绑包在存档时显示为其他项目并且没有图标,我无法上传到任何地方。

This boils down to invalid values in the Info.plist.这归结为 Info.plist 中的无效值。 If it's not a valid archive, try unzipping an old archive and dropping in / overwriting your current one and see if it fixes it when rebuilding the archive.如果它不是有效的存档,请尝试解压缩旧存档并放入/覆盖当前存档,看看它在重建存档时是否修复了它。

  1. Go to Build Settings and add转到构建设置并添加

    yourAppName/Resources/dist.plist to the Code Signing Entitlements yourAppName/Resources/dist.plist代码签名权利

  2. Press cmd + B with iOS Device or a Real Device selected as Build TargetiOS 设备或选择为构建目标的真实设备的情况下cmd + B

  3. When done -> scroll to "Products" folder and right-click on yourAppName.app完成后 -> 滚动到“产品”文件夹并右键单击 yourAppName.app

  4. Choose "Show in Finder"选择“在 Finder 中显示”

  5. Create a folder with Name Payload ( capital "P" )创建一个名称为Payload大写“P” )的文件夹

  6. Copy yourAppName into your Payload FolderyourAppName复制到您的 Payload 文件夹中

  7. Create a zip from your Payload Folder从您的有效负载文件夹创建一个 zip

  8. Rename the zip to yourAppName.ipazip重命名yourAppName.ipa

DONE完毕

After trying just about everything:在尝试了几乎所有事情之后:

  • Clean, Archive清理,存档
  • delete DerivedData, Archive删除派生数据,存档
  • restart Xcode (I was using XCode7), Archive重新启动 Xcode(我使用的是 XCode7),存档
  • combinations of above...以上的组合...

I then noticed my boot partition was 'low on free disk space'... about 1GB or so.然后我注意到我的引导分区“可用磁盘空间不足”......大约 1GB 左右。 I rebooted, then got about 18GB free.我重新启动,然后获得了大约 18GB 的​​免费空间。

Then opened Xcode and project, performed Archive... and surprisingly (after an hour of trying to build an Archive) I finally got a non Generic Archive.然后打开 Xcode 和项目,执行存档......令人惊讶的是(在尝试构建存档一个小时后)我终于得到了一个非通用存档。

No idea if its a free disk issue which fixed it or a reboot of the macOS that fixed it, but it worked for me.不知道它是否是修复它的免费磁盘问题,或者修复了它的 macOS 重新启动,但它对我有用。

If you have any .xcodeproj files in Project>Targets>Build Phases>target dependencies remove it from there and then build your ipa.如果您在 Project>Targets>Build Phases>target dependencies 中有任何 .xcodeproj 文件,请将其从那里删除,然后构建您的 ipa。 It works for me.这个对我有用。 Cheers干杯

You can get answer here : xcode is creating generic xcode archive instead of iOS App Archive你可以在这里得到答案: xcode 正在创建通用 xcode 存档而不是 iOS 应用存档

In my case, i had to move both FMDB and BlocksKit to static libraries.就我而言,我不得不将 FMDB 和 BlocksKit 都移到静态库中。 Previously they were built as subprojects.以前,它们是作为子项目构建的。 Remember you can use lipo to create universal libraries.请记住,您可以使用 lipo 来创建通用库。 When building the final products, the simulator code will be stripped automagically.在构建最终产品时,模拟器代码将被自动剥离。

Another possible reason for this is to have references in "Target Dependencies" to projects for a different platform.另一个可能的原因是在“目标依赖项”中引用了不同平台的项目。 In my particular case, I was working on a project that shares code for OSX and iOS.在我的特殊情况下,我正在开发一个共享 OSX 和 iOS 代码的项目。 In one of the iOS targets, I had accidentally added an OSX target as dependency.在其中一个 iOS 目标中,我不小心添加了一个 OSX 目标作为依赖项。

In order to be thorough, I am posting my solution.为了彻底,我发布了我的解决方案。

I experienced the exact same problem trying to build an Archive of an iOS project in Xcode 5.1.1 (5B1008).我在尝试在 Xcode 5.1.1 (5B1008) 中构建 iOS 项目的存档时遇到了完全相同的问题。 None of the above suggestions fixed the problem, and most of them were irrelevant (I had not added any Frameworks, and did not have any Public entries in the Copy Headers section of my Build Phases).以上建议都没有解决问题,而且其中大部分都是无关紧要的(我没有添加任何框架,并且在我的构建阶段的 Copy Headers 部分中没有任何公共条目)。

In my case, fixing the problem consisted of simply closing my project, deleting any archives that I had previously made, going to Preferences > Accounts, removing my developer account, quitting Xcode, relaunching, re-adding my developer account, starting the Archive process again.在我的情况下,解决问题包括简单地关闭我的项目,删除我以前制作的所有存档,转到首选项> 帐户,删除我的开发者帐户,退出 Xcode,重新启动,重新添加我的开发者帐户,开始存档过程再次。 This fixed my problem immediately.这立即解决了我的问题。

One more solution, since all the above didn't work for me...另一种解决方案,因为以上所有对我都不起作用......

Changed the User Header Search Paths (I suppose Header Search Paths would work just as elegantly) to "$(BUILT_PRODUCTS_DIR)/BlocksKit" .User Header Search Paths (我想Header Search Paths可以优雅地工作)更改为"$(BUILT_PRODUCTS_DIR)/BlocksKit"

Background :背景

In BlockKit, the developers have structured the headers in the main project differently than the structure on deployment.在 BlockKit 中,开发人员在主项目中构建了与部署结构不同的头文件。 So, you can't reference the headers in the project, and must reference the headers copied into the build directory.因此,您不能引用项目中的头文件,而必须引用复制到构建目录中的头文件。

The way this worked for me in (Xcode 5) I had 2 targets and when I edited the scheme, on the left pane of the scheme editor, you will see the [BUILD, RUN, TEST, PROFILE XXX.APP, ANALYZE, ARCHIVE] from the BUILD pane, you will see your project targets listed in a list.这在 (Xcode 5) 中对我有用的方式我有 2 个目标,当我编辑方案时,在方案编辑器的左窗格中,您将看到 [BUILD, RUN, TEST, PROFILE XXX.APP, ANALYZE, ARCHIVE ] 从 BUILD 窗格中,您将看到您的项目目标列在列表中。 At the far right end you will see the ARCHIVE selections, make sure only one target is selected for archiving.在最右端,您将看到 ARCHIVE 选项,确保只选择一个目标进行归档。

I had 2 of my targets selected in my project, I checked only the target I wanted in the product, and it worked!我在我的项目中选择了 2 个目标,我只在产品中检查了我想要的目标,并且成功了!

I solved this error by opening solely the app project in XCode, ie.我通过在 XCode 中单独打开应用程序项目解决了这个错误,即。 not opening a workspace comprising the application and other projects/libraries/frameworks.不打开包含应用程序和其他项目/库/框架的工作区

Having 2 separate project, a framework or shared library and an iOS application, I had to open 2 different XCode windows, each by directly opening the .xcodeproj file instead of the common .xcworkspace , in order to preperly build each.有 2 个单独的项目,一个框架或共享库和一个 iOS 应用程序,我必须打开 2 个不同的 XCode 窗口,每个窗口都直接打开.xcodeproj文件而不是公共.xcworkspace ,以便预先构建每个。

As a nice side effect, XCode no longer rebuilds every target of every project after I do a Clean , resulting in shorted build times.作为一个很好的副作用,在我执行Clean后,XCode 不再重建每个项目的每个目标,从而缩短了构建时间。

Background: I am creating an open source SDK, and a demo iOS application.背景:我正在创建一个开源 SDK 和一个演示 iOS 应用程序。 I had both opened in a single workspace.我都在一个工作区中打开过。 Setting Skip install to YES on the SDK targets would prevent anyone from creating an archive, as it would be empty, so this was not an option.在 SDK 目标上将Skip install设置为YES会阻止任何人创建存档,因为它是空的,所以这不是一个选项。 Using Project instead of Public headers would lead to an archive missing the header files that should be distributed, so this was not an option either.使用Project而不是Public headers 会导致存档丢失应该分发的头文件,所以这也不是一个选项。

For it was because i was working in a workspace.因为那是因为我在工作区工作。 The project did archived but would ne be displayed in the organizer window.该项目已存档,但不会显示在组织者窗口中。 I closed the workspace and open the project on its own.我关闭了工作区并自行打开了项目。 The archived has been opened in the organizer ... hope it's help.已在组织者中打开存档...希望对您有所帮助。

In my case, I had a custom script that was copying some temporary files into:就我而言,我有一个自定义脚本将一些临时文件复制到:

${TARGET_BUILD_DIR}/myTempDir

That meant that, after investigating the archive to inspect its contents, I found right next to the .app file a myTempDir folder.这意味着,在调查存档以检查其内容后,我在 .app 文件旁边发现了一个 myTempDir 文件夹。 Once I modified the script to save elsewhere things were sorted.一旦我修改了脚本以保存在别处,事情就被排序了。

Try setting $(PROJECT_NAME)Headers in Framework projet's Public Headers Folder Path.尝试在 Framework 项目的公共标题文件夹路径中设置 $(PROJECT_NAME)Headers。 You have to go to build settings of the Library Target then edit the Public Headers Folder path as $(PROJECT_NAME)Headers.您必须去构建库目标的设置,然后将公共标题文件夹路径编辑为 $(PROJECT_NAME)Headers。

If using Xcode 7 with cocoapods v.0.38.2 .如果将Xcode 7cocoapods v.0.38.2 一起使用 Try removing copy pod resources from your today extension target.尝试从今天的扩展目标中删除copy pod resources

在此处输入图片说明

I encountered this problem after adding a OS X command line tool to my iOS app's project, and Skip Install was set to NO by default for the command line tool's target.我在向我的 iOS 应用程序的项目添加 OS X 命令行工具后遇到了这个问题,并且默认情况下,命令行工具的目标跳过安装被设置为 NO。 Since you obviously can't install an OS X binary to an iOS device, archiving defaulted to a generic Xcode archive.由于您显然无法将 OS X 二进制文件安装到 iOS 设备,因此存档默认为通用 Xcode 存档。 Setting Skip Install to YES for this target fixed the problem.将此目标的跳过安装设置为 YES 解决了该问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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