【发布时间】:2017-05-14 23:46:42
【问题描述】:
我正在尝试将共享按钮实现添加到我的 Gluon Mobile 应用程序中,并且我已经关注了他们网站上的 GoNative 应用程序。一步一步地,我得到一个与指定的不同的文件结构。此外,找不到共享服务,因此“ifPresent”lambda 中的任何代码都不起作用:
外观
它应该是什么样子
当我运行 Gluon Mobile Task -> Install -> installNativeLib gradle 任务时,您可以看到包本身没有被创建 (com.gluonhq.charm.down.plugins.ios)。
我为构成插件而创建的文件几乎与 GoNative 应用程序 here 中的文件相同。实际上,它们之间的唯一区别是单词 log 被更改为在任何地方共享。
我什至还尝试从上面提供的链接中创建相同的 GoNative 应用程序,并且发生了同样的问题。 Java 文件夹在 ios 包中创建,其中没有任何内容。插件无法作为服务找到(ifPresent 返回 false)。
更新
鉴于 cmets 中的 @jns 建议,我已将类放在正确的位置,但在尝试启动 iPhone 模拟器时出现以下错误:
任务“:launchIPhoneSimulator”执行失败。
org.apache.commons.exec.ExecuteException:命令'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/ javafxports/tmp/ios/konfamdbranch -arch i386 -Wl,-filelist,/Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/objects0 -L /Users/ashishsharma/.gradle/caches/modules-2/ files-2.1/com.mobidevelop.robovm/robovm-dist/2.3.0/5628ca14c9057976088ce11fe045c2e1beea9a0b/unpacked/robovm-2.3.0/lib/vm/ios/x86 -ObjC -exported_symbols_list /Users/ashishsharma/NetBeans/Projects/konfamdbranch/ javafxports/tmp/ios/exported_symbols -Wl,-no_implicit_dylibs -Wl,-dead_strip -fPIC -mios-simulator-version-min=8.0 -Wl,-no_pie -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator .platform/Developer/SDKs/iPhoneSimulator10.2.sdk -lrobovm-bc -force_load /Users/ashishsharma/.gradle/caches/modules-2/files-2.1/com.mobidevelop.robovm/robovm-dist/2.3.0/ 5628ca14c 9057976088ce11fe045c2e1beea9a0b/unpacked/robovm-2.3.0/lib/vm/ios/x86/librobovm-rt.a -lrobovm-debug -lrobovm-core -lgc -lpthread -ldl -lm -lz -liconv -lsqlite3 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework CoreGraphics -framework CoreText -framework ImageIO -framework MobileCoreServices -framework CoreBluetooth -framework CoreLocation -framework CoreMedia -framework CoreMotion -framework AVFoundation -framework AudioToolbox -framework MediaPlayer -framework UserNotifications -framework AVKit -force_load /Users /ashishsharma/.gradle/caches/modules-2/files-2.1/org.javafxports/ios-sdk/8.60.9/e900bcbcc39096ff9a3a409c28efe35d32f57ef5/unpacked/ios-sdk/rt/lib/libglass.a -force_load /Users/ashishsharma/ .gradle/caches/modules-2/files-2.1/org.javafxports/ios-sdk/8.60.9/e900bcbcc39096ff9a3a409c28efe35d32f57ef5/unpacked/ios-sdk/rt/lib/libjavafx_font.a -force_load /Users/ashishsharma/.gradle/缓存/modules-2/files-2.1/org.javafxports/ios-sdk/8.60.9/e900bc bcc39096ff9a3a409c28efe35d32f57ef5/unpacked/ios-sdk/rt/lib/libjavafx_iio.a -force_load /Users/ashishsharma/.gradle/caches/modules-2/files-2.1/org.javafxports/ios-sdk/8.60.9/e900bcbcc39c7909/6ffeddf24a3a /ios-sdk/rt/lib/libjavafx_ios_webnode.a -force_load /Users/ashishsharma/.gradle/caches/modules-2/files-2.1/org.javafxports/ios-sdk/8.60.9/e900bcbcc39096ff9a3a409c28efe35d32f57ef5/unpacked/ios- sdk/rt/lib/libprism_common.a -force_load /Users/ashishsharma/.gradle/caches/modules-2/files-2.1/org.javafxports/ios-sdk/8.60.9/e900bcbcc39096ff9a3a409c28efe35d32f57ef5/unpacked/ios-sdk/rt /lib/libprism_es2.a -l/Users/ashishsharma/NetBeansProjects/konfamdbranch/src/ios/jniLibs/.DS_Store -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/src/ios/jniLibs/libShare.a -force_load /Users/ ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libBarcodeScan.a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/l ibCharm.a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libConnectivity.a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libDialer。 a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libDisplay.a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libLifecycle.a - force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libLocalNotifications.a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libPosition.a -force_load /用户/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libRuntimeArgs.a -force_load /Users/ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/native/libStatusBar.a -force_load /Users/ ashishsharma/NetBeansProjects/konfamdbranch/build/javafxports/tmp/ios/nativ e/libStorage.a -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks' 失败(退出值:1)
【问题讨论】:
-
ShareService未找到,因为它位于错误的包中。您需要将其放在主包中的com.gluonhq.charm.down.plugins中。平台特定的Service.class(IosShareService)必须放在ios源码中对应的包com.gluonhq.charm.down.plugins.ios中。看到这个answer -
@jns 我这样做了,当我尝试通过任务启动 iPhone 模拟器时,我收到以下错误: library not found for -l/Users/ashishsharma/NetBeansProjects/konfamdbranch/src/ios /jniLibs/.DS_Store。你有没有遇到过这种情况?
-
确保不要将隐藏文件添加到
jniLibs文件夹,只添加*.a库。 -
如果你要添加需要编译的本机代码,你必须在运行
launchIOSDevice之前运行installNativeLib任务。如果构建成功,*.a库将被添加到jniLibs。 -
@JoséPereda 它适用于 GoNative Objective C 代码,但我似乎无法分享它。我明白这一点是可以理解的,因为
self在上下文中是未知的。如果我不知道当前视图控制器,我将如何弹出共享对话框?/Users/ashishsharma/NetBeansProjects/konfamdbranch/src/ios/native/Share.m:25:6: error: use of undeclared identifier 'self' [self presentViewController:activityVC animated:YES completion:nil];完整问题请看这篇帖子:stackoverflow.com/questions/43838857/…
标签: gluon gluon-mobile