Description
When building an iOS module with an SDK later than 4.1.0.GA the build will fail with the following errors
/Users/eharris/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/iphone/include/TiProxy.h:92:44: error: unknown type name 'UIView'
void DoProxyDelegateChangedValuesWithProxy(UIView<TiProxyDelegate> * target, NSString * key, id oldValue, id newValue, TiProxy * proxy);
^
/Users/eharris/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/iphone/include/TiProxy.h:92:50: error: expected ')'
void DoProxyDelegateChangedValuesWithProxy(UIView<TiProxyDelegate> * target, NSString * key, id oldValue, id newValue, TiProxy * proxy);
^
/Users/eharris/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/iphone/include/TiProxy.h:92:43: note: to match this '('
void DoProxyDelegateChangedValuesWithProxy(UIView<TiProxyDelegate> * target, NSString * key, id oldValue, id newValue, TiProxy * proxy);
^
/Users/eharris/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/iphone/include/TiProxy.h:93:49: error: unknown type name 'UIView'
void DoProxyDelegateReadValuesWithKeysFromProxy(UIView<TiProxyDelegate> * target, id<NSFastEnumeration> keys, TiProxy * proxy);
^
/Users/eharris/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/iphone/include/TiProxy.h:93:55: error: expected ')'
void DoProxyDelegateReadValuesWithKeysFromProxy(UIView<TiProxyDelegate> * target, id<NSFastEnumeration> keys, TiProxy * proxy);
^
/Users/eharris/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/iphone/include/TiProxy.h:93:48: note: to match this '('
void DoProxyDelegateReadValuesWithKeysFromProxy(UIView<TiProxyDelegate> * target, id<NSFastEnumeration> keys, TiProxy * proxy);
It cannot find them because of [this commit](
https://github.com/appcelerator/titanium_mobile/commit/7fc02cbfe17a8201dc71e604035aeb3191c9f0e0#diff-2ce52d8edb4096998bcad96ef6ef6211)
Steps To Reproduce
1. Clone a module such as [ti.paint](
https://github.com/appcelerator-modules/ti.paint/)
2. cd into the ios folder
3. Open the titanium.xcconfig and change the SDK to 4.1.0.GA
Actual Result
The build will fail
Expected Result
The build should not fail
By adding back in TiBase.h this issue is resolved. Done conditionally to avoid any problems ~~~ #ifndef TI_BASE_H #import "TiBase.h" #endif ~~~ Included in this PR https://github.com/appcelerator/titanium_mobile/pull/6999
[~ben.bahrenburg@gmail.com] Did you happen to test the Titanium SDK after your change when building using the built-in JavaScriptCore?
Tested using: * Ti 4.1.0 sample project https://github.com/appcelerator-developer-relations/appc-sample-ti410, which contains
Just tested using the sample project on Xcode 7 beta 4, iOS 9, with jscore enabled / disabled. No issues either. Merging PR.
PRs merged. backport PR: https://github.com/appcelerator/titanium_mobile/pull/7001 Thanks [~ben.bahrenburg@gmail.com]!
Tested the samples mentioned by Ewan and Ben. Tested with jscore enabled/disabled. Also tested on iOS 8.4 with Xcode 6.4 and iOS 9.0 with Xcode 7 Verified on: Mac OS 10.10.4 Ti SDK: 4.1.1.v20150802200935 , 4.2.0.v20150803003621 Appc CLI NPM: 4.1.0 Appc CLI Core: 4.1.2 Xcode: 6.4, 7.0-b4