[TIMOB-24405] iOS: Unable to run dist-appstore builds when project on external drive using CLI
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Duplicate |
Resolution Date | 2017-03-01T16:28:11.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | iOS |
Labels | n/a |
Reporter | Steve Rogers |
Assignee | Chris Barber |
Created | 2017-02-14T08:35:58.000+0000 |
Updated | 2017-03-24T18:35:59.000+0000 |
Description
If the project is on an external drive such as /Volumes/E1 where E1 is an external SSD then all works OK except for attempting an dist-appstore release. The following error is thrown:
[INFO] Archiving debug symbols: /Volumes/E1/Development/SA/Test/build/iphone/build/Products/Release-watchos/Testw WatchKit Extension.appex.dSYM
Error: EXDEV: cross-device link not permitted, rename '/Volumes/E1/Development/SA/Test/build/iphone/staging.xcarchive' -> '/Users/master/Library/Developer/Xcode/Archives/2017-02-14/Testw 2017-02-14 07-48-50.xcarchive'
at Error (native)
at Object.fs.renameSync (fs.js:681:18)
at cli.on.post (/Users/master/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/iphone/cli/hooks/package.js:123:9)
at /usr/local/lib/node_modules/titanium/lib/hook.js:235:13
at /usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:689:13
at iterate (/usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:265:13)
at nextTickCallbackWith0Args (node.js:436:9)
at process._tickCallback (node.js:365:13)
---------------------------------------------
at /usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:275:35
at /usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:44:16
at /usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:694:17
at /usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:173:37
at /usr/local/lib/node_modules/titanium/lib/hook.js:239:9
at cli.addHook.post (/Users/master/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/iphone/cli/hooks/install.js:22:45)
at /usr/local/lib/node_modules/titanium/lib/hook.js:235:13
at /usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:689:13
at iterate (/usr/local/lib/node_modules/titanium/node_modules/async/lib/async.js:265:13)
This can be resolved by moving the project to the User home dir ( /Users/master in this case)
Looking at the Xcode packaging changes we did in 6.0.2, this could actually be fixed. The affected line was [this one](https://github.com/appcelerator/titanium_mobile/blob/6_0_1_GA/iphone/cli/hooks/package.js#L123) that renamed the staging archive to include the time stamp. This has been rewritten for compatibility with Xcode 8.3 and later where we don't need to rename any archives any more. [~magnatronus] can you try 6.0.2.GA? We just released it last night :-).
Hi Hans, I have install 6.0.2.GA onto my system (no other changes) and now the dist-appstore runs without issue from the external drive :-)
Nice!
Marking as Duplicate of TIMOB-24362, thx for the feedback!
Closing ticket as duplicate with reference to the linked issues.