我有一个 Xcode 项目,有很多很多目标(iPhone、iPad、OS X)。
我需要为每个目标使用不同的 Info.plist 文件。
对于 iOS,我没有遇到任何问题,一切都很好。但是对于 OS X,我收到以下消息:
No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
Run Code Online (Sandbox Code Playgroud)
在我输入的 OS X 目标构建设置中:
Info.plist File: /MyApp/Resources/Info-osx.plist
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?有什么我忘记指定了吗?
谢谢。
我有一个解决方案文件 ( MySolution.sln ),其中包含一个项目 ( MyProject.vcxproj )。我想通过解决方案在我的项目上执行自定义目标 ( MyCustomTarget )。它看起来像这样:
msbuild MySolution.sln /t:MyCustomTarget
Run Code Online (Sandbox Code Playgroud)
当我执行命令时,我会收到一条错误消息:
MySolution.sln.metaproj:错误 MSB4057:项目中不存在目标“MyCustomTarget”。[MySolution.sln]
您可以将MyCustomTarget替换为 Microsoft.Cpp.Win32.targets 中的任何标准目标(例如:ClCompile、Link)或您从 MyProject.vcxproj 中的 .targets 文件中选择的任何其他目标。他们都不会工作。
当环境变量msbuildemitsolution设置为 1 时,我可以检查生成的MySolution.sln.metaproj文件。在底部指定了 4 个目标:构建、重建、清理和发布。使用这些目标而不是MyCustomTarget,项目构建正常。此外,如果我指定项目文件而不是解决方案文件,它也会构建:
msbuild MyProject.vcxproj /t:MyCustomTarget
Run Code Online (Sandbox Code Playgroud)
但是使用这种格式,我将失去OutDir属性,必须手动设置Configuration和Platform,所以我失去了拥有解决方案文件的好处。
有什么方法可以将我的自定义目标与我最初打算的解决方案文件一起使用吗?
据我了解,问题是 msbuild 生成了这个中间项目文件(mysolution.sln.metproj),但这将赢得来自MyProject.vcxproj的导入,包括 .targets 文件。难怪MyCustomTarget不被识别。
我目前的解决方法是将项目文件与 msbuild 一起使用,并尽量不要错过解决方案文件中的任何内容:
msbuild MyProject.vcxproj /t:MyCustomTarget /p:Configuration=MyConfig;Platform=MyPlatform;OutDir=MySolution\Platform_MyConfig\
Run Code Online (Sandbox Code Playgroud)
但这不是一个合适的解决方案,不灵活,容易出错,并且不会自动适应解决方案文件中的更改。
我的 Makefile 中有以下代码:
Target0: Deps0
Common Rule to build Target
Target1: Deps1
Common Rule to build Target
...
我的问题是,由于所有目标都有一个共同的规则,是否有任何方法可以将目标组合成单个目标并指定目标特定的依赖关系?
假设我有一个现有项目,并且它是 cmake 配置的构建目录。如果我知道目标名称,如何使用此构建检索某些目标的属性?我尝试创建一个像这样的单独脚本
get_target_property(VAR target property)
Run Code Online (Sandbox Code Playgroud)
但它因错误而失败
Command get_target_property() is not scriptable
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?
我的项目当前已设置,以便 MyApp 目标包含一些运行脚本构建阶段。这些脚本取决于构建阶段的顺序。例如,有一个脚本在复制捆绑资源之前运行,另一个脚本在复制捆绑资源之后运行。
我的测试目标取决于 MyApp,因此当我运行测试(产品菜单、测试)时,我不想包含其中一些脚本,因为它会减慢测试速度。
我想创建一个包含 MyApp 目标的聚合目标。然后将测试时我不想运行的脚本从 MyApp 移出并移入聚合。但是,我不知道如何配置这些脚本运行时的相同顺序。
有没有办法做到这一点?或者也许是一个更好的解决方案?
我在我的项目中设置了代码分析规则。因此,在编译时,如果我根据规则编写代码,它会给我错误。挑战是在构建项目时它给了我错误来自.NETFramework,Version=v4.5.AssemblyAttributes.cs(..\AppData\Local\Temp).
为了克服这个错误,我GenerateTargetFrameworkMonikerAttribute在.csproj文件中设置了目标名称,它可以工作,但我仍然对GenerateTargetFrameworkMonikerAttribute. 那么,GenerateTargetFrameworkMonikerAttribute它是什么以及如何克服编译时错误?
我在我的 Xcode 项目中创建了不同的目标来为不同的客户端版本我的应用程序。每个客户端使用不同的 xcassets,每个目标一个。这样我就可以拥有相同名称的不同图像。因此,只需选择目标,就会显示正确的图像。
这适用于我的应用程序中的任何视图。每当我在不同的目标中运行应用程序时,所有图像都会自动更改。问题是当我的启动屏幕中有图像时。我为启动屏幕创建了 .xib 文件(每个客户端一个)。
通过选择目标,正确的 .xib 运行,但它加载的图像始终与基础项目相同。
这就是我组织项目的方式,因此不同的目标会自动选择不同的图像:
当我选择一个目标时,应该加载具有该目标成员资格的所有元素。只有我的启动屏幕从Base.xcassets加载图像启动。
更新:它仍然无法正常工作。链接是可点击的,但它们也没有采用它的假设。例如,从第 1 帧开始,当您单击联系信息时,它应该在第 3 帧中打开该信息。从 Fame 1 开始,当您单击营业时间时,它应该在第 3 帧中显示营业时间。
更新 2:添加 # 符号后...当我点击联系信息时..它会在 FRAME 3 中显示 FRAME 1 并摆脱我在 FRAME 3 中的内容。这不是我应该做的。
所以..我有四个框架。这些框架的代码如下所示。所以它将在一页中显示四个不同的框架。也显示了那个图片。
<!DOCTYPE html>
<html>
<head>
<title> A4 - HTML Frames - Jainamkumar Patel </title>
</head>
<frameset cols = "20%,50%">
<frame src = "frame1.html">
<frameset rows = "30%,30%">
<frame src = "frame2.html">
<frameset cols = "25%,25%">
<frame src = "frame3.html" name = "frame1">
<frame src = " ">
</frameset>
</frameset>
</frameset>
</html>
Run Code Online (Sandbox Code Playgroud)
现在这就是我想要做的:
窗格 2 包含指向联系信息、服务、营业时间、产品说明的超链接。至少有 3 个链接到产品说明。 …
一直在使用整洁的小
@media 屏幕和 (-webkit-min-device-pixel-ratio:0) {}
选择器直到现在,它的工作完美无缺。但几个月后,FireFox 也能够处理此代码,显然 Microsoft Edge 也能处理。
所以,是的,对于仅使用 CSS 的方法,是否有任何可行的替代方案?
苹果是否为 iOS 或 watchOS 等 iPad OS 提供了单独的目标,如下所示。
现在我的应用程序使用 iPad OS beta 13,但苹果没有关于相同目标的官方文件。