Xcode 12 build target in wrong order for simulator?

OK, i got a solution to make the build work (this way to fix problem is not correct , the right way to fix is added in my update):

1 you need to add the Pods project to your main project as a external project

2 add all the cocodpods target as dependency explicitly in your main project ‘s build phase

But i still think may be the new beta version of xcode 12 will fix this. because it seem a bug of xcode 12 (my project work perfect in xcode 11 and xcode 12 + ios device , failed in xcode 12 + simulator only)

###2020-08-17 update###

i found a more exactly reason to reproduce this problem , it seems my project file open in xcode 12 will auto generate a VALID_ARCHS macro in User-Defines , and this macro will make the build failed

enter image description here

And i found that ,with this macro , During in the LINK of building,the link target type will be a unknown type
arm64-apple-ios11.0-simulator
which cause the build faild and the problem that all the targets build in wrong order seems will only happen when this macro is being added

XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios11.0-simulator 

after i delete this VALID_ARCHS macro, the link target type will be ‘x86_64-apple-ios11.0-simulator‘ , and everything goes well

XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-ios11.0-simulator 

####2020-09-11 add Add Apple’s Feedback about this macro####

update Apple’s Feedback on VALID_ARCHS

  • After reviewing your feedback, we have some additional information
    for you:

  • Xcode does not add VALID_ARCHS to your project. Indeed, we recommend
    against using VALID_ARCHS. Maybe some CocoaPod is setting it in your
    project for some reason? CocoaPods are not part of Xcode so, we don’t
    have any control over what they do.

    One thing to note is that in Xcode 11 VALID_ARCHS showed up under the
    architectures section. Since we are strongly recommending against
    using it, it no longer shows up there and now appears in the User
    Defined section if it is defined at all.

  • Xcode 11 used to automatically translate building for arm64 for the
    simulator into building for x86_64, but now that arm64 is a valid
    simulator architecture (it’s the Apple Silicon architecture), that
    translation no longer occurs.

  • So, we suspect what you should do is delete VALID_ARCHS from your
    project altogether, and make sure Architectures (ARCHS) is set to
    Standard Architectures (ARCHS_STANDARD) and not to something specific
    (unless you really know exactly why you’re not using ARCHS_STANDARD).

####Feedback end####

####2020-10-10 added####

the build may still not working after deleting the VALID_ARCHS macro for some guys , you may check the answer of Apple’s feedback added and @Andrei Herford’s answer below:

make sure Architectures (ARCHS) is set to Standard Architectures
(ARCHS_STANDARD)

and then delete the macro ,hope these two steps works for all:)

####2020-10-10 added end####

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)