[TIMOB-25292] iOS: Failed to expand identifiers when using 6.2.0
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Not Our Bug |
Resolution Date | 2017-09-21T18:15:30.000+0000 |
Affected Version/s | Release 6.2.0 |
Fix Version/s | n/a |
Components | iOS |
Labels | icloud, ios |
Reporter | Sebastian Klaus |
Assignee | Chris Barber |
Created | 2017-09-15T14:04:27.000+0000 |
Updated | 2018-08-06T17:52:04.000+0000 |
Description
{noformat}
Operating System
Name = Mac OS X
Version = 10.12.6
Architecture = 64bit
# CPUs = 8
Memory = 17179869184
Node.js
Node.js Version = 6.10.3
npm Version = 4.6.1
Titanium CLI
CLI Version = 5.0.14
Titanium SDK
SDK Version = 6.2.0.GA
SDK Path = /Users/sebastianklaus/Library/Application Support/Titanium/mobilesdk/osx/6.2.0.GA
Target Platform = iphone
{noformat}
I can't compile my project with 6.2.0.GA
I'm using an extra Entitlements.plist for some iCloud functions.
With 6.1.1.GA and 6.1.2.GA compiling works as expected.
[ERROR] 2017-09-15 15:55:44.004 xcodebuild[58753:29013239] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-12122/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:308
[ERROR] Details: Failed to expand identifiers "{(
[ERROR] "iCloud.$(CFBundleIdentifier)"
[ERROR] )}": Error Domain=IDECapabilitiesErrorDomain Code=1 "The operation requires a selected developer portal team." UserInfo={NSLocalizedDescription=The operation requires a selected developer portal team., NSLocalizedRecoverySuggestion=}
[ERROR] Object: <Xcode3TargetCapabilitiesContext: 0x7f86fe3a5480>
[ERROR] Method: -_appIDFeatureStateIncludingEntitlements:buildConfiguration:
[ERROR] Thread: <NSThread: 0x7f86f9502720>{number = 1, name = main}
[ERROR] Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
[ERROR] 2017-09-15 15:55:44.010 xcodebuild[58753:29013239] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-12122/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:308
[ERROR] Details: Failed to expand identifiers "{(
[ERROR] "iCloud.$(CFBundleIdentifier)"
[ERROR] )}": Error Domain=IDECapabilitiesErrorDomain Code=1 "The operation requires a selected developer portal team." UserInfo={NSLocalizedDescription=The operation requires a selected developer portal team., NSLocalizedRecoverySuggestion=}
[ERROR] Object: <Xcode3TargetCapabilitiesContext: 0x7f86fe3a5480>
[ERROR] Method: -_appIDFeatureStateIncludingEntitlements:buildConfiguration:
[ERROR] Thread: <NSThread: 0x7f86f9502720>{number = 1, name = main}
[ERROR] Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
[ERROR] ** BUILD FAILED **
[ERROR] The following build commands failed:
[ERROR] ProcessPCH++ build/Intermediates/PrecompiledHeaders/Fantastic_Library_Prefix-gjhhtrkmcwrhitdombgchdymigcr/Fantastic_Library_Prefix.pch.pch Fantastic_Library_Prefix.pch normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
[ERROR] (1 failure)
I compared the _build.js of 6.1.2 und 6.2.0 and there are huge differences working with provisioning files. Maybe there is an bug?
Any hint what I can do?
Hey there! Can you provide a sample project to reproduce? And do you use the latest Ti.iCloud module? Because that one injects the iCloud capabilities automatically. Rather than that, you could also try to setting the entitlements in the
The operation requires a selected developer portal team.
, did you try to fix that? Also ensure to not use a profile that uses automatic code-signing. We will troubleshoot more once we have the module version and requested infos.Unfortunately I can't create an example project. I'm using this [module](https://github.com/sagar15bhavsar/iOSiCloudSyncDemo) Setting the entitlements directly in the tiapp.xml section did not help. How to deactivate automatic code-signing? I never saw this option before.
Ok. Automatic code-signing is just used in profiles created in Xcode. So as long as you create them via the developer portal, they would be manual like before. But I don't think that's the issue. It may be something in the code we changed to support Xcode 9, so it will be investigated.
I'm having difficulties reproducing this. [~benutzername] does your
<id>
in the tiapp.xml have any special or unicode characters? I can't get the "Failed to expand identifiers" error to occur. Secondly, while trying to get this to work, I found a bug when exporting the IPA during packaging an app for distribution when the app using iCloud. See TIMOB-25319 for more information.Hey Chris, I don't have any special chars in my id.
This is the iCloud module I'm currently using: [com.sagar.iclouddbsync](https://www.dropbox.com/s/81ib2q15jowcedr/com.sagar.iclouddbsync.zip?dl=0) Maybe it helps to reproduce the bug
[~benutzername] Did you try the [PR](https://github.com/appcelerator/titanium_mobile/pull/9447/files) already? Regarding the build-issues [~cbarber] had, it was an issue in the module where the module.xcconfig linked
Foundation
although Titanium does already. This may have worked before, but will now error out as we rewrote the framework-handling to be more smart (sounds weird in this context as it fails). So removing the "Foundation" framework from the xcconfig will resolve those issues, the other one could be solved by the above PR.What I now did: Copied the module and created a version [6.0](https://www.dropbox.com/s/81ib2q15jowcedr/com.sagar.iclouddbsync.zip?dl=0) where I removed the Foundation framework in the xcconfig. I also deleted the platform folder within the module version. After that I cleaned the build folder and compiled against 6.3.0.v20170919115627 with changes from the [PR](https://github.com/appcelerator/titanium_mobile/pull/9447/files) The result is: {noformat} [INFO] Writing i18n files [INFO] Processing Titanium symbols [INFO] Removing files [INFO] Invoking xcodebuild [ERROR] ** BUILD FAILED ** [ERROR] The following build commands failed: [ERROR] Ld build/Products/Debug-iphonesimulator/Fantastic\ Library.app/Fantastic\ Library normal x86_64 [ERROR] (1 failure) {noformat}
For whatever reason, the module references a local "Foundation.framework" in platform/ as well (thanks to [~jvennemann] for noticing), which is a no-go for any module or framework. You may want to remove that one as well and contact the author about the behavior. After removing it, the build should succeed. If not, please send us over the trace log that will contain the actual xcodebuild error.
After some time playing it works now. Found some other "bugs" in modules like {noformat} [TRACE] : Undefined symbols for architecture x86_64: [TRACE] : "_OBJC_CLASS_$_TiUIiOSToolbarProxy", referenced from: [TRACE] : l_OBJC_$_CATEGORY_TiUIiOSToolbarProxy_$_Extended in libdk.napp.ui.a(TiUIiOSToolbarProxy+Extended.o) [TRACE] : ld: symbol(s) not found for architecture x86_64 [TRACE] : clang: error: linker command failed with exit code 1 (use -v to see invocation) {noformat} which I now try to fix
This is starting to sound like an issue with the module and not with the iOS build. I'm tempted to resolve this as "invalid" or "not our bug", but if anybody has any strong feelings that there indeed is an issue with the iOS build, then we can keep this ticket open and try to fix it. Thanks!
It seems so. I followed the advices and everything works fine now. So it is not your bug.
Beautiful, thanks! Btw, for the future, we may want to add the functionality of the module inside Ti.iCloud which we recently open-sourced :-).
That would be awesome
[~hknoechel] can you say something about a programming start time for Ti.iCloud file managing?
Not scheduled. The underlaying native library used is https://github.com/drewmccormack/icloudaccess, so feel free to extend it until we come to it!
Closing as "not our bug". If you disagree, please reopen.