我正在尝试创建一个 Flutter 插件来使用本机库。我尝试使用的这个库存储在私有存储库中,可以与 Swift 依赖管理器一起使用。
这让我很头痛,因为我无法在我的插件中添加私有存储库依赖项(我找不到在 .podspec 文件中执行此操作的方法),所以我做了什么:
MyDependency.xcframework文件夹到MyPlugin/ios文件夹s.preserve_paths = 'MyDependency.xcframework'
s.xcconfig = { 'OTHER_LDFLAGS' => '-framework MyDependency' }
s.vendored_frameworks = 'MyDependency.xcframework'
Run Code Online (Sandbox Code Playgroud)
这样做我可以在插件的源代码中使用 MyDependency 。
我当前的问题是:这仅适用于 Simulator。
在此之前,该项目在真实设备上运行没有任何问题。
另外,我直接使用 Swift 依赖管理器中的依赖项进行了测试,并且运行良好。我认为问题在于我将框架添加到插件的方式。
我在ManagedScheduledExecutorService方面遇到麻烦。如果我禁用或取消部署我的应用程序,则调度程序仍在运行。仅当我重新启动应用程序服务器时它才会停止。
我正在使用JEE,Application Server Wildfly 9和Java8。
下面的代码:
package br.com.decarli;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import javax.annotation.Resource;
import javax.enterprise.concurrent.LastExecution;
import javax.enterprise.concurrent.ManagedScheduledExecutorService;
import javax.enterprise.concurrent.Trigger;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.Destroyed;
import javax.enterprise.context.Initialized;
import javax.enterprise.event.Observes;
@ApplicationScoped
public class ApplicationSchedulerX {
@Resource( lookup = "java:jboss/ee/concurrency/scheduler/MyScheduler" )
private ManagedScheduledExecutorService timerService;
public void init( @Observes @Initialized( ApplicationScoped.class ) Object o ) {
timerService.schedule( () -> {
System.out.println( " Run scheduler... " );
}, new Trigger() {
@Override
public Date getNextRunTime( LastExecution …Run Code Online (Sandbox Code Playgroud)