21 Jan 2019
Starting from Xcode 10 ARM64E arch has to be stripped from included framworks as this caused
Invalid Swift Support at Apple side. There was a fix for it but sadly there was no feedback and another was introduced during the fix. As result investigation continue with Eric Nondahl report and fix is ongoing (not confirmed yet).
To fix this issue PR346 is created and it introduces following changes:
- fixes issue introduced in PR340: copy of swift libraries in
SwiftSupport/ was stripped from ARM64E arch but shell not be touched at all;
- swift libraries are now being copied into
SwiftSupport/iphoneos/ same as XCode does;
- added code that strips all not used architectures from dynamic binaries (check rules_apple for reference). Probably it is extra as it is enough to remove simulator archs and ARM64E but it is quick win as reduces IPA size. So if it is not breaking anything lets keeping it;
- added code that strips bitcode from dynamic binaries. Same as Xcode does. Reduces final IPA a lot;
- as now all extra architectures are being stripped there is no need for
stripArchs configuration option that was introduced in PR340. It was removed.
Solution is in progress, please report to gitter channel for any issue found.
08 Jan 2019
AltPods were update to v1.1.0-SNAPSHOTS. Changes include:
These pods were pushed to
https://oss.sonatype.org/content/repositories/snapshots maven repo under
Source code @github
Updates are not tested yet, please open issue if bug found.
NB: AltPods – are robopods kept at my personal standalone repo. This is done to prevent main robopods repo from turning into code graveyard. As these pods have low interest of community and low chances to be updated.
12 Dec 2018
bro-gen received several updates and new features during handling iOS12 bindings, mostly fixes but there are new ones. All changes are pushed to github.
11 Dec 2018
pjwj reported problem when he was trying to use ARKit (first one?):
Values in this matrix are not as I expect them to be, as translation components are very small (for example x*10^-35). Therefore virtual objects I’m adding to the AR scene are always positioned close to the origin.
Quick investigation shown that RoboVM is not able to handle vector data types such as
simd_float4x4 (mapped to
MatrixFloat4x4 in RoboVM) at compiler level. As result all vector data is passed incorrectly.
Investigation and fix is bellow.
27 Nov 2018
This tutorial mostly copies old one, please refer to it for more details.
It cover quick binding of LGSideMenuController.
19 Nov 2018
While testing binding of
Network.framework there were several discoveries:
- out of box binding to global values or bridge functions from linked static library will not work;
- RoboVM is not able to compile global value that returns a obj-c block;
- Don’t use method name
copy when binding function. It will crash during compilation.
Details and workarounds bellow.
17 Nov 2018
Follow up to issue #336: Could not find Java class corresponding to Objective-C class: WKNSURLAuthenticationChallenge.
WKWebView passes instance of internal/unexposed class
WKNSURLAuthenticationChallenge as parameter instead of expected
WKNSURLAuthenticationChallenge doesn’t extends from expected type.
Why it works? Because
WKNSURLAuthenticationChallenge is NSProxy.
09 Nov 2018
iOS 12.0 + 12.1 bindings have arrived as PR.
These was massive API update as part of iOS12 release which includes new frameworks:
Also this release delivers lot of API changes to existing framework which, bright highlights are:
- ARKit 2
- Metal Performance Shaders;
- and others
Beside updating API itself
cocoatouch receives lot of patches as result of improvement of bro-gen script.
(TODO: There will be detailed post about this)
Following was improved:
- fixed lot of broken enum entires (names were generated cut or prefix was not determinated);
- exposed missing inherited constructors which added lot of missing constructors;
- applied inherited configuration that reduce number of config entries to be put in yaml;
- methods where
WithXX was generated were mostly located and correctly renamed (this probably might be a breaking change);
- lot of different minor fixes to generator;
It is to be tested for other breaking changes but I hope it will be merged back in week or two.
08 Nov 2018
As continue of previous post here is a workaround:
Solution is to keep static linking to
Enhance class from
libconnector.a. To achieve result lets introduce objc class that extends(and as result statically links) from
05 Nov 2018
User OceanBreezeGames reported following issue on Gitter channel that was interesting to investigate:
Enhanced ipa fails with:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[Enhance isInterstitialReady]: unrecognized selector sent to class 0x103343eb8'
Tried enhancing the app several time and it sometimes worked and sometimes not. For start how it expected to work: