Post

Replies

Boosts

Views

Activity

XCFramework cannot import other module
Thanks in advance, any help greatly appreciated. I created an XCFramework from a C Library (say a libc.a and corresponding “include” folder with header files) , lets call it C.xcframework. I want to interact with it from Swift, so I created a modulemap and corresponding header file, like this: modulemap /// Expose C for Swift usage module C {     header "shim.h" } shim.h #ifndef shim_h #define shim_h // A shim header to bridge C to a Swift modulemap #include <libc/header.h> #endif /* shim_h */ As this is a C library, to offer a better interface to my Swift App, I decided I wanted to wrap it in a Swift Framework, let’s call it S framework. This S framework imports C.xcframework within the “Embedded Frameworks” section. The wrapper can now do import C and have access to all the functions exported by the modulemap without any issues. I created all sort of cool functions to wrap my C library and everything is tested and working. Excellent! wrapper.swift import Foundation import C // Wrapper code... Now it is time for my App to make use of the S framework. To do so, I decided to create another S.xcframework. So I went ahead and archived the different architectures (iOS and iOS simulator). This time the compiler, as it is Swift code, created a Modules folder with the generated Modulemap for S and corresponding interface files. From this two archives I created a S.xcframework with the usual CLI command, referencing both architectures. My App now imports S.xcframwork, and when I go and do the import S, I receive two build errors: Failed to build module S No such module C. The last one takes me to the ios-simulator.swiftinterface file on module S: import Foundation import C  // !Error here, No such module C @_exported import S import Swift // header code... So it seems like the imported S.xcframework cannot be built because it doesn’t have the C module. I went ahead and added C.xcframework to my project as well. And to my surprise, now the App can actually do import C without problem, but still fails when building with the same error. So for some reason the xcframework is not visible to the other xcframework. Any guidance on how to solve this problem? Thanks again!
1
0
2.1k
Sep ’20
Critical App Transfer problems
We need to escalate this critical problem. I’m hopeful that someone from Apple can step up and help us solve this now, and it would be great if it took ownership of this issue and ensured no one else had to go through this again. Here goes another developer horror story. Our company is moving from Spain to a new company we just incorporated in USA, and we expected to transfer our apps with the move. We initially created a new Team ID for this company, hopeful to be able to just perform an App Transfer. Unfortunately, due to iCloud entitlements, this doesn’t seem possible. It is unclear, if we removed this feature temporarily, if we would be able to continue with the process. It is unacceptable that the only way to figure this out is through trial and error. We considered, being the same company, that maybe Apple could keep the Team ID and just perform an organization change from their side. We contacted developer support over the phone. Apparently this isn’t possible anymore as there is already a Team ID for the new company. It seems not possible to delete this team in any way to continue with the process. I even offered to “Incorporate a new Company” (!!!). It is unacceptable that it is even unclear if with a new company this would actually work or not. Trial and error again. The only suggestion from Apple on the table, at the moment, is to start all over again. This means putting a new app in the AppStore, figuring out how to make all our current users to download our new app and migrate them there, losing all our reviews, etc... It is again unacceptable that this is even offered to developers. It feels like we built a house, put Apple lockers, and when we just have to swap keys, Apple is asking us to build a new house. We may be a small team, but we have families and we depend on this apps to live. Starting all over again means firing people in our team. We pay Apple 30% to step up on this specific cases. At our income level, you could say we are already paying for someone at Apple to work full time for a year on this. We are not asking for any type of “preferential treatment”, this is all bureaucracy on Apple’s part to make it work. We would love to have a “point of contact” to help us right this wrong. Until that happens, here are a few questions: If we removed iCloud entitlements, and considering we comply with the rest of the limitations, will it then be possible to perform the App Transfer? Will this be blocked because we have previously used iCloud entitlements? Will it then be possible to enable it again and resynchronize the information? Is the App Transfer wizard listing all the possible issues that are blocking the transfer? Is it just showing one of them and the moment we remove it will show us something else? Is there any guidance on what other companies are doing to solve this? Are there any other ways, even if more elaborate, to perform an App Transfer? If transferring the app isn’t possible. Is it then possible to just modify the Company Information, Bank Accounts and all? We don’t care that the containers or naming of buckets are still for the previous domain. This seems more bureaucratic to me than technical. Looking forward to solve this together. Thanks Carlos
3
0
1.3k
Jul ’20