有谁知道如何在macOS Cocoa应用程序中嵌入可执行jar文件?
我已经将后端编写到Java桌面应用程序中,我想将其嵌入到macOS Cocoa应用程序中,以便我可以编写一个简单的UI并将最终产品放在Mac App Store中。后端非常独立于Cocoa App的黑盒子。我需要的是Cocoa应用程序在特定时间执行jar文件。
我发现这个问题似乎与我想要做的非常相似:Embedding a Java runtime into a sandboxed Cocoa Mac app但是我担心这些信息现在可能已经过时了。我不想弄清楚如何嵌入JRE和jar文件只是让我的应用程序无法通过App Store审核。有谁知道Apple是否还允许这种事情?我知道他们已经尽可能地远离Java了。
如果这个方法仍然有用,有人会介意如何在Cocoa应用程序中嵌入实际的JRE,然后如何使用NSTask来启动jar文件吗?
答案 0 :(得分:0)
您会将library(jsonlite)
library(tidyverse)
library(assertr)
data<-fromJSON("http://www.librarything.com/api_getdata.php?userid=cau83&key=392812157&max=450&showCollections=1&responseType=json&showDates=1")
books.lst<-data$books
#create df from json
create.df<-function(item){
df<-map_df(.x=books.lst,~.x[[item]])
df2 <- t(df)
return(df2)
}
ids<-create.df(1)
titles<-create.df(2)
ratings<-create.df(12)
authors<-create.df(4)
#need to get the book id when i build the date df's
startdates.df<-map_df(.x=books.lst,~.x$startfinishdates) %>% select(started_stamp,started_date)
finishdates.df<-map_df(.x=books.lst,~.x$startfinishdates) %>% select(finished_stamp,finished_date)
collections.df<-map_df(.x=books.lst,~.x$collections)
#from assertr: will create a vector of same length as df with all values concatenated
collections.v<-col_concat(collections.df, sep = ", ")
#assemble df
books.df<-as.data.frame(cbind(ids,titles,authors,ratings,collections.v))
names(books.df)<-c("ID","Title","Author","Rating","Collections")
books.df<-books.df %>% mutate(ID=as.character(ID),Title=as.character(Title),Author=as.character(Author),
Rating=as.character(Rating),Collections=as.character(Collections))
文件作为资源包含在应用程序捆绑包中,并使用jar
执行。
但是,这违反了App Store准则:
NSTask
您仍然可以将应用程序发布为Developer ID Application。