[TIMOB-14331] iOS: Restore Namespacing of Base64 methods
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2013-08-24T02:27:08.000+0000 |
Affected Version/s | n/a |
Fix Version/s | 2013 Sprint 17, 2013 Sprint 17 Core, Release 3.1.3, Release 3.2.0 |
Components | iOS |
Labels | n/a |
Reporter | Ingo Muschenetz |
Assignee | Blain Hamon |
Created | 2013-06-21T16:05:31.000+0000 |
Updated | 2013-12-18T18:20:12.000+0000 |
Description
The Base64 methods were namespaces via ThirdpartyNS.h. The #defines for the 2 methods in question were commented out in 3.0.0.GA.
The comment in thirdparty.h indicates that this was for LibTiVerify. The build error in the related ticket is because the Brightcove module defines these same methods.
In order to resolve this issue, one of two things must occur:
* Titanium needs to restore the namespacing of these two methods (and back port as necessary). This will require a change to libtiverify to either use the namespaced method names or have its own local, namespaced version of these two methods (which is what we do in several of our modules).
* Brightcove needs to provide an updated version of their SDK with these two methods renamed.
The suggestion is option 1. It is unlikely Brightcove is the only SDK that has these method names and the namespacing in Titanium was introduced a while back to alleviate these kinds of issues, so we really need to restore the namespacing of these methods.
I've got it. Instead of just re-enabling, I'm going to manually and consciously rename this to TI_Base64DecodeData due to TiVerify not using ThirdpartyNS.h and so we're aware of it.
[~blainhamon] Any way we can fix this so that affected users don't have to release a new version of their module?
Change made, will test and make pull request tomorrow.
@ingo There's some possible voodoo, but I highly suggest against it, and it's better just for us to rename our base64 methods.
master PR : https://github.com/appcelerator/titanium_mobile/pull/4512
Backport PR https://github.com/appcelerator/titanium_mobile/pull/4617
Do we have any test cases or other direction?
Closing ticket as fixed. Verified that by adding these two lines of code in the app.js file:
I was able to adhoc package the app, install the app to device, and launch the app on simulator without any issues. Tested on: Appcelerator Studio, build: 3.2.0.201312171913 SDK build: 3.2.0.v20131217190633 CLI: 3.2.0-cr3 Alloy: 1.3.0-cr2 ti.brightcove: 2.1.1 Xcode: 5.0.2 Devices: iphone 4s (6.0.1), iphone 5s (7.0.2)