11 Dec 2018
|
bug
User 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
|
bro-gen
tutorial
binding
This tutorial mostly copies old one, please refer to it for more details.
It cover quick binding of LGSideMenuController.
19 Nov 2018
|
binding
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
|
bug
binding
Follow up to issue #336: Could not find Java class corresponding to Objective-C class: WKNSURLAuthenticationChallenge.
Short story
WKWebView passes instance of internal/unexposed class WKNSURLAuthenticationChallenge
as parameter instead of expected NSURLAuthenticationChallenge
, and WKNSURLAuthenticationChallenge
doesn’t extends from expected type.
Why it works? Because WKNSURLAuthenticationChallenge
is NSProxy.
Long story
09 Nov 2018
|
bro-gen
ios12
binding
iOS 12.0 + 12.1 bindings have arrived as PR.
These was massive API update as part of iOS12 release which includes new frameworks:
- AuthenticationServices
- CarPlay
- CoreServices
- IdentityLookupUI
- NaturalLanguage
- Network
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
|
bug
hacking
robopods
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 Enhance
:
05 Nov 2018
|
bug
hacking
robopods
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:
13 Sep 2018
|
idea
xcode
gradle
Today maintenance PR326 delivers following:
- fixes gradle’s ` Warning: org.robovm.apple.uikit.UIWindow is a phantom class!
[issue](https://gitter.im/MobiVM/robovm?at=5b98e2c4f3c26b08f6664e07) when using v4 and
implementation` as dependency command. This was happening due using outdated configuration name in dependency path resolution:
// configure the runtime classpath
Set<File> classpathEntries = project.getConfigurations().getByName("runtime").getFiles();
while
// The name of the "runtime" configuration. This configuration is deprecated and doesn't represent a correct view of
// the runtime dependencies of a component.
- update to Idea 2018.2.3: fixes broken Idea plugin build due to gradle dependencies needs to be specified
- update to Xcode10: sdk 10.14 and removed x86 mac target as deprecated and breaks build process
11 Sep 2018
|
workaround
As stated in #325 it doesn’t work. The reason for this is that okhttp3
detects RoboVM as Android (as there are corresponding providers classes present). And crashes while tries to access Android’s Build
class, which is not found:
java.lang.NoClassDefFoundError: android/os/Build$VERSION
at okhttp3.internal.platform.AndroidPlatform.getSSLContext(AndroidPlatform.java:434)
at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:282)
Dirty and fast solution is just to add Build
class to your class path:
package android.os;
public final class Build {
public final static class VERSION {
public final static int SDK_INT = 16; // android 4.1
}
}
Long term solution would be updating to OpenJDK10.
07 Sep 2018
|
fix
interface builder
Alex @avazquezdev 10:32
I’ve been following the basic navigation tutorial using storyboard, but I have the problem that it’s not possible to adding an Unwind Segue. I select Ctrl-drag from the Cancel button to the exit symbol of the editing scene but the exit symbol is not selectable. Could there be a problem generating the Xcode project? I’d like to make sure it’s not a problem with my code. Here you can see the example.title
To have segue action assignments works corresponding objc code shell contains code with action defined as bellow:
/**
* IBAction unwindToNameList
*/
-(IBAction) unwindToNameList:(UIStoryboardSegue*) sender;
But XCode project generator didn’t make difference in parameter types and uses id
for everything, as result IB doesn’t see this method as subject for unwind operations:
-(IBAction) unwindToNameList:(id) sender;
The fix is to provide argument type for actions in case of native or custom classes. Changes are available in PR323