小编San*_*rar的帖子

“错误的解释器:不允许操作” El Capitan 上的错误

我的团队正在编写一个需要在外部目录中调用 shell 脚本的 Mac OS 应用程序。

该应用程序在优胜美地 (10.10.3) 上运行良好。但是,如果我在 El Capitan (10.11.2) 上运行它,应用程序会从脚本中收到如下错误:

/bin/bash: <path-to-script>: /bin/sh: bad interpreter: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我可以在这样的简单脚本上触发此错误:

#!/bin/sh
echo "Hello World!"
Run Code Online (Sandbox Code Playgroud)

如果我从终端手动运行脚本,我不会收到错误消息。

应用程序使用文件选择器打开脚本目录。我确认应用程序可以从此目录读取其他文件。

更改/bin/sh/bin/bash/bin/sh在不同路径上的副本使用新的解释器路径会产生相同的错误。

一位同事在禁用系统完整性保护的 El Capitan 机器上测试了这个问题,但他得到了同样的错误。

我正在从 .pkg 文件安装测试应用程序。权利是:

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
Run Code Online (Sandbox Code Playgroud)

添加com.apple.security.files.user-selected.executable权利没有任何区别

如果我尝试运行在包构建的中间步骤中生成的 .app,我可以运行脚本而不会出错。

下面的问题描述了一个类似的错误。但是,我检查了应用程序和脚本,发现都没有com.apple.quarantine设置属性。

Mac OS: /usr/bin/env: bad interpreter: Operation not allowed

https://apple.stackexchange.com/questions/49589/bash-applications-mvim-bin-sh-bad-interpreter-operation-not-permitted

- - 更新 - -

我们在 PKG 权利列表中又添加了两个:

<key>com.apple.security.scripting-targets</key>
<true/>
<key>com.apple.security.temporary-exception.apple-events</key>
<true/>
Run Code Online (Sandbox Code Playgroud)

我们尝试通过 …

bash file-permissions mac-app-store pkg-file osx-elcapitan

7
推荐指数
1
解决办法
8407
查看次数

通过应用程序的路径将应用程序置于最前面

如何通过应用程序的路径将应用程序置于最前面?

即假设/Applications/MyApp.app已经开始;有时我想通过将 MyApp.app 窗口的路径传递给 AppleScript: 来将其置于前面myApplScript.scpt /Applications/MyApp.app

我尝试过这个脚本,但这对我不起作用:

on run argv
    set apppath to (item 1 of argv) as string
    tell application "System Events"
        set frontmost of every process whose path is apppath to true
    end tell
end run
Run Code Online (Sandbox Code Playgroud)

谢谢!

macos applescript

4
推荐指数
1
解决办法
2221
查看次数

将 PHAsset 从 Gallery 复制到 iOS 9 中的其他目录

我通过以下链接演示了如何将文件从 Gallery 复制到应用程序或其他目录(正确答案):

如何将 iOS 照片库 (ALAssetsLibrary) 中的图像文件复制到应用程序的本地目录?

但是对于 ALAssetsLibrary 类文档,Apple 表示它现在已从 iOS 9.0 开始弃用,而是使用照片框架。

自 iOS 9.0 起,资产库框架已弃用。相反,请改用照片框架,它在 iOS 8.0 及更高版本中提供更多功能和更好的性能来处理用户的照片库。有关更多信息,请参阅照片框架参考。

如何使用照片框架将资源从图库复制到其他 URL?

objective-c deprecated ios swift ios9

2
推荐指数
1
解决办法
3824
查看次数

未找到文件:index.android.js 在任何项目根目录中 - React Native Navigation 生产包装

我的应用程序在React Native Navigation v1.0和react-native v0.56.0上运行。这在 Android 模拟器上运行得很好,没有任何问题。

最近,我计划按照ReactNative 页面中描述的步骤进行生产构建。

在使用命令生成发布 APK 时./gradlew assembleRelease,最终我抛出了错误 - File not found: index.android.js in any of the project roots;但我的项目由index.js组成,而不是index.android.js。

在 Wix Git 上获得帮助的可能性较小,因为他们现在对 v1.0 的关注较少。所以,我希望能找到一条出路。

这是我的MainApplication.java内容:

import android.support.annotation.Nullable;

import com.facebook.react.ReactPackage;
import com.reactnativenavigation.NavigationApplication;

import java.util.Arrays;
import java.util.List;

import com.reactnative.ivpusic.imagepicker.PickerPackage;
import com.oblador.vectoricons.VectorIconsPackage;

public class MainApplication extends NavigationApplication {
    @Override
    public boolean isDebug() {
        return BuildConfig.DEBUG;
    }

    @Nullable
    @Override
    public List<ReactPackage> createAdditionalReactPackages() {
        return Arrays.<ReactPackage>asList(
            new PickerPackage(),
            new VectorIconsPackage()
        );
    }

    @Nullable …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-navigation wix-react-native-navigation

1
推荐指数
1
解决办法
1924
查看次数