任何想法为什么构建会成功用于模拟器而不是设备?
我创建了一个 Cocoa 框架,并且能够将它添加到一个新的单页应用程序项目中,并调用框架中定义的方法。只要我将模拟器选为构建目标而不是设备,就可以构建项目。我没有试过运行它,只是构建。我正在使用 Swift 3 和 XCode 8.1。
我收到Use of unresolved identifier错误。
有没有办法在Cocoapods 生成Podfile的xcconfig文件中指定一个文件#include?
是否有公开的方法/变量来附加这个,#include或者我是否需要阅读生成的内容xcconfig并用附加文本反刍它?
例如,在生成的Pods-SomeTarget.[configuration].xcconfig,我想看到:
#include "my_other_config.xcconfig" //<-- I want this to be inserted
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics" "${PODS_ROOT}/Fabric" "${PODS_ROOT}/Google-Mobile-Ads-SDK/Frameworks" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK-For-AdMob/GoogleInteractiveMediaAds/GoogleInteractiveMediaAds-GoogleIMA3ForAdMob" "${PODS_ROOT}/NewRelicAgent/NewRelicAgent" "${PODS_ROOT}/TwitterCore/iOS" "${PODS_ROOT}/TwitterKit/iOS"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
Run Code Online (Sandbox Code Playgroud) 我正在关注一些关于如何设置 UI 滚动视图的在线示例,但在设置滚动视图的大小时遇到了问题。我试图将大小设置为高度 = 屏幕高度和宽度 = 3x 屏幕宽度。这是我正在尝试的代码,但 Swift3 不再支持 CGSizeMake。关于如何在没有 CGSizeMake 的情况下完成此任务的任何建议?
self.scrollView.contentSize = CGSizeMake(self.view.frame.width * 2, self.view.frame.size.height)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我在 Github 上遇到了一些麻烦:
当我将我的 Xcode 项目推送到 github 时,它似乎不会推送有关 pod 和应用程序扩展的所有文件,因为当我在另一台 Mac 上拉下该项目时,我收到了很多不存在的错误原始文件。
提前致谢!
我在 Xcode 中创建了一个项目,它的 Bundle ID 为“ com.example.programOne ”。该项目下的团队是个人的,即;美国广播公司。现在我想用不同的 Bundle ID 更改这个现有项目中的个人团队,假设com.example.programTwo和不同的个人团队,即;ABCD。我已经为 ABCD 创建了一个 Apple ID 并在首选项中与 Xcode 链接,但我无法将此项目分配给具有不同 Bundle ID 的 ABCD。
它给了我警告:
您在开发者网站上的帐户中没有注册设备。插入并选择一个设备让 Xcode 注册它。
Xcode 找不到与“ com.example.programTwo ”匹配的配置文件。
对于使用 Xcode 8 构建的 iOS,是否可以将生成的 .dSYM 文件包含到 .ipa 文件中?
我正在像这样构建我的 ipa 文件(在 Jenkins 中,但应该无关紧要)......
# Create xarchive
xcodebuild
-workspace /sourcepath/myapp.xcworkspace
-sdk iphoneos
-scheme 'Distribution Production'
-configuration 'Distribution Production'
-archivePath '/outputpath/Distribution Production-iphoneos/myapp.xcarchive'
'CODE_SIGN_IDENTITY=********'
'PROVISIONING_PROFILE=App Enterprise PRD'
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
archive
# Create IPA
xcodebuild
-exportArchive
-archivePath '/outputpath/Distribution Production-iphoneos/myapp.xcarchive'
-exportOptionsPlist '/outputpath/Distribution Production-iphoneos/export_options.plist'
-exportPath '/outputpath/Distribution Production-iphoneos'
Run Code Online (Sandbox Code Playgroud)
这将生成一个 xarchive,最后生成一个 ipa 文件。然后 xarchive 包含 .dSYM 文件,但我希望在 IPA 文件中包含 .dSYM。这可能吗?
在创建 xarchive 时,我还尝试使用这些参数:
'DWARF_DSYM_FOLDER_PATH=/outputpath/Distribution Production-iphoneos'
'DWARF_DSYM_FILE_NAME=Distribution Production.dSYM'
Run Code Online (Sandbox Code Playgroud)
...但是 xarchive 不包含 dSYM,并且在其他任何地方都找不到。
我正在努力通过尽可能多地修复导致警告的问题来消除 Xcode 中 iOS 程序的警告。值得庆幸的是,我在这方面取得了很大的成功,但是我有两个警告拒绝消失:我收到了“Dsymutil 警告”的报告,相关日志说它在尝试生成 .dSYM 文件时报告。这两个警告是:
警告:可执行文件中没有调试符号(-arch armv7)
警告:可执行文件中没有调试符号(-arch arm64)
我可以通过清理和清理构建文件夹来消除这些警告。但是,当我再次编译时,它们只会再次出现。
相关统计:
测试手机:iPhone 5s、iPhone SE
操作系统:iOS 10.3.2
开发环境:Xcode 8.3.2
仅构建活动架构:否
有谁知道为什么我会收到这些警告,他们有什么可担心的吗?我并没有真正通过 Google 或 Apple 的文档找到任何特别相关的内容。
预先感谢任何人可以提供的任何帮助。
我正在研究一个需要以 60fps 访问相机帧的机器学习项目。良好的图像质量不是要求,但处理时间是要求。
在我尝试实现用于帧提取的轻处理器使用率时,我正在更改captureSession.sessionPreset为AVCaptureSessionPresetLow,AVCaptureSessionPresetHigh但 CPU 使用率在 iPhone 6 上保持不变:
注意:在这两种情况下,我都强制使用 60 fps:
captureDevice.activeVideoMaxFrameDuration = CMTimeMake(1, 60)
captureDevice.activeVideoMinFrameDuration = CMTimeMake(1, 60)
我对低预设的 192x144 分辨率没问题,但是关于如何在处理器使用率 (5-10%) 方面获得更好结果的任何线索?
我正在使用框架目标(为了更好的代码重用和 IB_Designables),并且我已经有了一个完美运行的框架目标。我也决定将其他一些类移至框架目标。
我已经设置了 pods(在这种情况下只有一个),但是每当我尝试包含 pod 时,我都会收到 not found 错误。
如果我也尝试使用模块方法,则没有变化:
问题是我也已经有了另一个框架,具有相同的设置(交叉检查所有编译器设置/链接器标志/构建阶段等),并且该框架在导入其 pod 时没有问题。
这是我的 podfile(TUComponents正在处理,TUModels是失败的):
[...]
target 'TUComponents' do
pod 'AHKNavigationController'
pod 'TTTAttributedLabel'
use_frameworks!
end
target 'TUModels' do
pod 'JSONModel'
use_frameworks!
end
Run Code Online (Sandbox Code Playgroud)
更奇怪的是;Xcode 在代码完成导入JSONModel/JSONModel.h标头(或JSONModel在模块 @import 的情况下)没有问题。但是当我尝试编译时,它失败了。
我的配置可能有什么问题?
更新:如果我放弃在 pod 中使用框架并使用常规的旧静态库,并将框架中的允许非模块化包含设置为是,我可以构建。但是我不知道为什么我在使用 Pod 框架时无法构建。
我有一个有 3 个目标的应用程序:
我正在尝试更新每个构建的构建号,所有目标的这个数字必须相等,否则 App Store 将使构建无效。
我尝试过不同的方法,这也是一个,但我不喜欢它,因为我必须硬编码的plist文件名称到脚本,而我更愿意把它尽可能通用。
在寻找不同的解决方案时,我从 Apple 找到了这个名为avgtool 的工具。
我能够创建一个脚本,为所有目标以相同的值更新内部版本号,但这似乎只有当我将它添加到列表顶部的构建阶段时才有效。问题是这个脚本必须在构建之前启动。
为此,必须将其添加到Edit Scheme->Build->Pre-Actions 但是当我在这里写它时,它没有任何效果。
#!/bin/bash
buildNumber=$(date +%s)
echo "$buildNumber"
xcrun agvtool new-version -all "$buildNumber"
Run Code Online (Sandbox Code Playgroud)