Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 9

0
votes
answers
32 views
+10

如何在一個線性佈局中滾動2個GridViews?

2

我有兩個gridviews線性佈局。這是我的XML代碼:如何在一個線性佈局中滾動2個GridViews?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <GridView 
    android:id="@+id/leftGrid2" 
    android:layout_width="416dp" 
    android:layout_height="1078dp" 
    android:columnWidth="70dp" 
    android:horizontalSpacing="5dp" 
    android:numColumns="2" 
    android:paddingRight="20dp" 
    android:stretchMode="columnWidth" 
    android:verticalSpacing="5dp" > 

    </GridView> 

    <GridView 
    android:id="@+id/rightGrid2" 
    android:layout_width="400dp" 
    android:layout_height="match_parent" 
    android:columnWidth="70dp" 
    android:horizontalSpacing="5dp" 
    android:numColumns="2" 
    android:stretchMode="columnWidth" 
    android:verticalSpacing="5dp" > 

    </GridView> 
    </LinearLayout> 

如何使這兩個網格視圖一起滾動或同步它們?當我運行我的應用程序時,他們有兩個獨立的卷軸。

謝謝,

+0

你能告訴我們屏幕截圖? – prolink007 2012-07-18 22:04:23

+0

@ prolink007我的網格視圖單獨滾動.. – ss17 2012-07-18 23:50:57

沙发
0
2

的GridView經由其AbsLisView父提供的smoothScrollToPosition(int)方法。這將滾動到您想要的位置。現在,您使用OnScrollListener來收聽ScrollEvent。現在只要配合這些結合在一起:

GridView other; 
@Override public void onScroll(AbsListView view, int firstItem, int visItems, int total) { 
    other.smoothScrollToPosition(firstItem); 
} 

現在,這將不!按預期工作,如果你的兩個觀點是不可比的,即。相同的內容數量。

板凳
0
0

我不得不在畫廊前做過一次。你應該能夠利用這一點,它適用於GridView很容易地:你在說什麼的

public class DualGallery extends Gallery { 

/** 
* Second {@link Gallery} 
*/ 
public DualGallery b; 

/** 
* Current {@link Context} 
*/ 
Context mContext; 

/** 
* Constructor that takes the {@link Context} and second {@link DualGallery} 
* 
* @param context 
* @param b 
*/ 
public DualGallery(Context context, DualGallery b) { 
    super(context); 

    this.mContext = context; 

    this.b = b; 

} 

@Override 
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
    // Scrolls this and the second Gallery avoiding an endless loop 
    return super.onFling(e1, e2, velocityX, velocityY) 
      && b.onFling2(e1, e2, velocityX, velocityY); 
} 

@Override 
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { 
    // Scrolls this and the second Gallery avoiding an endless loop 
    return super.onScroll(e1, e2, distanceX, distanceY) 
      && b.onScroll2(e1, e2, distanceX, distanceY); 
} 

@Override 
public void setOnClickListener(OnClickListener l) { 
    super.setOnClickListener(l); 
} 

@Override 
public void setAdapter(SpinnerAdapter adapter) { 
    super.setAdapter(adapter); 
} 

/** 
* Special function to redirect to just 
* {@link Gallery#onFling(MotionEvent, MotionEvent, float, float)} 
* 
* @param e1 
* @param e2 
* @param velocityX 
* @param velocityY 
* @return 
*/ 
public boolean onFling2(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
    return super.onFling(e1, e2, velocityX, velocityY); 
} 

/** 
* Special function to redirect to just 
* {@link Gallery#onScroll(MotionEvent, MotionEvent, float, float)} 
* 
* @param e1 
* @param e2 
* @param distanceX 
* @param distanceY 
* @return 
*/ 
public boolean onScroll2(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { 
    return super.onScroll(e1, e2, distanceX, distanceY); 
} 

}

0
votes
answers
15 views
+10

的Visual Studio的Python殼牌

0

快速的問題。我爲什麼最新版本的Visual Studio爲交互式Python終端提供了選項卡而煩惱不已。以及調試終端,所有內置於可以咬合的標籤中。但是,當我附上&試運行的東西,它只是打開了CMD正常蟒蛇終端渲染VS內置終端沒用。我只是想爲什麼哈哈。他們從未得到使用。有沒有辦法在內置的交互式終端中測試運行腳本,而不是打開Python shell?的Visual Studio的Python殼牌

沙发
0
0

您可以瞭解更多關於此功能here,它只是用的是Visual Studio中的便利另一REPL。編輯還有一些有趣的連接,您可以將選定的代碼行發送到交互式窗口。我不知道如何劃定範圍變量兩者的工作原理,但有時你只是想將其集成到一個運行的Python文件之前在REPL實驗。

我主要是把Immediate Window當我在Visual Studio開發使用一段互動探索編碼。這是作用到目前的斷點設置,這是很好的在飛行操縱的東西,讓我的變量並沒有什麼意見。

0
votes
answers
35 views
+10

Xcode中的歸檔項目錯誤地創建了多應用程序包

在Xcode中存檔我的項目是創建一個多應用程序包,而不是捆綁我的主要目標以進行發布,這就是我想要的。具體來說,當我在Organizer中驗證我的存檔時,它會給我一條消息:

“[projectname]不包含單捆綁應用程序或包含多個產品。請選擇其他存檔,或將您的方案調整為創建一個單一的應用程序。“

聽起來這個方案中有一些需要調整的設置,但我無法弄清楚是什麼導致其他目標被包含在內。

我順便使用Xcode 4.0。

0
votes
answers
48 views
+10

如何訪問VSCode創建的AST

1

我爲UI5 JavaScript編寫VSCode擴展。最缺少的功能是爲UI5提供IntelliSense。使用UI5類型,它將工作,但不是。如何訪問VSCode創建的AST

這工作:

var testvar1 = new sap.m.Button(); 

現在我可以在testvar1在VSCode使用IntelliSense。

存在的問題例如爲:

sap.ui.define([ 
    "sap/ui/core/mvc/Controller" 
    ], 
    function (Controller) { 
    "use strict"; 
    return Controller.extend("", { 

    }); 
    }); 

在這種情況下,存在在功能的控制器變量,該變量與之前的命名空間定義。我現在搜索一下可能性,在我的擴展中使用命名空間分配這個變量。我知道這可以在AST做,但我現在已經愛迪爾如何獲得訪問AST設置:

Controller = sap.ui.core.mvc.Controller 

的目標是現在有完整的IntelliSense在變量控制器

希望到目前爲止,我很清楚自己想要什麼。

沙发
0
1

如果你只需要提供一個類型爲Controller,請嘗試使用jsdocs

sap.ui.define([ 
    "sap/ui/core/mvc/Controller" 
    ], 
    function (/** @type {sap.m.Controller} */ Controller) { 
    ... 
    }); 

要回答原來的問題,你可以用一個TypeScript server plugin訪問/修改AST。這是不平凡的,所以我會盡量避免這樣做,除非你真的需要

+0

偉大的這是工作。是否也可以使用此類型指定此關鍵字。我在jsdocs中搜索,但它不起作用。如果你有任何想法將是偉大的 –

0
votes
answers
52 views
+10

Android Wear:BleLEScan耗盡我的電池

0

我正在開發一款需要佩戴數據的應用程序。Android Wear:BleLEScan耗盡我的電池

其中一種數據類型是BLE。

我使用BleLeScan:

BluetoothManager bluetoothManager = 
       (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); 
     mBluetoothAdapter = bluetoothManager.getAdapter(); 
    if (Build.VERSION.SDK_INT >= 21) { 
       mLEScanner = mBluetoothAdapter.getBluetoothLeScanner(); 
       settings = new ScanSettings.Builder() 
         .build(); 
       filters = new ArrayList<ScanFilter>(); 
      } 

mLEScanner.startScan(filters, settings, mScanCallback); 

BLELeScan被耗盡我穿的電池。我知道這是因爲我使用BLE掃描進行測試,沒有它。差異是巨大的,沒有BLE掃描電池每小時消耗約3%,而BLE掃描則> 16%。

如何優化BLELeScan的電池消耗?我需要連續運行掃描。

+0

連續BLEScans電池耗盡,無法繞過它。另外,10%似乎有點高。多少時間10%流失? –

+0

@ lakshman.pasala:我已經編輯過這個問題,以包含有和無BLE掃描的電池消耗的確切數據。 –

+0

除了@ Emil的回答,您可能需要查看此[支持頁面](https://support.google.com/androidwear/answer/6303917?hl=en)關於如何在電池耗盡時排除Android Wear故障很快。此外,正如本[線程](https://github.com/AltBeacon/android-beacon-library/issues/32)所述,在SCAN_MODE_LOW_POWER模式下使用BluetoothLEScanner時,回調看起來與SCAN_MODE_LOW_LATENCY一樣快,即使在後臺的應用程序。它可能是在測試之後,隨着掃描一直在耗盡電池。 – abielita

沙发
0
0

您應該設置一個掃描過濾器,以僅匹配您要查找的內容。否則,CPU將在不需要時喚醒。

另請注意,功耗很大程度上取決於您的Android設備和藍牙芯片。

如果您只查找要連接的特定配對設備,請考慮使用autoConnect = true直接連接它。

板凳
0
0

顯然,正如答案和評論中指出的那樣,BLE掃描會消耗大量的電池電量。它消耗多少?它將取決於設備。

我通過運行掃描12秒/分鐘,然後停止掃描下一個48秒,優化了應用程序的電池消耗。 48秒後,我正在重新啓動掃描。

請注意,我沒有使任何支持對象爲空,我只是在12秒後停止掃描。

這種方法幫助我節省了超過50%的電池消耗。

0
votes
answers
34 views
+10

C++ 0x線程問題

3

我有一個關於C++ 0x標準線程的問題。他們現在可以使用(在vC++ 2010中)嗎?我看到有人提供了關於如何使用它們的教程,但如果圖書館可以真正使用atm,我會有點困惑。我知道你可以在vC++中使用像「auto」這樣的東西,所以我想我會問:。每次嘗試使用新線程時,我都會在嘗試使用新線程時遇到錯誤。這讓我想到我的問題的答案是「不」,但wtf是與教程+其他人使用它們!?C++ 0x線程問題

如果不是,有人可以指出我在正確的方向嗎?我只想學習線程,而不必學習關於平臺的擔心:。

沙发
0
5

VC++ 2010中不存在標準線程。也許你應該嘗試Boost線程庫;標準線程庫基於它,因此一旦VC++支持標準線程化,遷移就可能非常容易。

至於其他人編寫關於它們的教程,VC++是衆多編譯器之一,其他人可能會更快地支持新標準。

板凳
0
1

隨着just::thread C++標準 線程庫實現,你可以 該庫是沒有開始使用的C++ 0x線程庫今天 ...

http://www.stdthread.co.uk/

免費。

0
votes
answers
41 views
+10

在Cygwin awscli

-1

配置AWS時,我下面這個教程中沒有這樣的文件或目錄錯誤https://www.youtube.com/watch?v=8rjRfW4JM2I 和我通過這個No such file or directory error when configuring aws on cygwin在Cygwin awscli

走了,但我仍得到錯誤後,我 做$出口$ PATH =「貓富」

-bash:出口:

/usr/local/bin:/usr/bin:/cygdrive/c/ProgramData/Oracle/Java/javapath:/cygdrive/c/windows/system32:/cygdrive/c/windows:/cygdrive/c/windows/System32/Wbem:/cygdrive/c/windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/TortoiseSVN/bin:/cygdrive/c/Program': not a valid identifier 
-bash: export: `(x86)/Windows': not a valid identifier 
-bash: export: `Kits/10/Windows': not a valid identifier 
-bash: export: `Toolkit:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/Microsoft': not a valid identifier 
-bash: export: `Server/130/Tools/Binn:/cygdrive/c/Users/aman.dalmia/AppData/Local/Programs/Python/Python27:/cygdrive/c/Users/aman.dalmia/AppData/Local/Programs/Python/Python27/Scripts:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/PuTTY:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/Microsoft': not a valid identifier 
-bash: export: `Server/120/Tools/Binn:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/nodejs:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/Git/cmd:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/Microsoft': not a valid identifier 
-bash: export: `Server/Client': not a valid identifier 
-bash: export: `SDK/ODBC/110/Tools/Binn:/cygdrive/c/Program': not a valid identifier 
-bash: export: `(x86)/Microsoft': not a valid identifier 
-bash: export: `Server/120/Tools/Binn:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/Microsoft': not a valid identifier 
-bash: export: `Server/120/DTS/Binn:/cygdrive/c/Program': not a valid identifier 
-bash: export: `(x86)/Microsoft': not a valid identifier 
-bash: export: `Server/120/Tools/Binn/ManagementStudio:/cygdrive/c/Program': not a valid identifier 
-bash: export: `(x86)/Microsoft': not a valid identifier 
-bash: export: `Server/120/DTS/Binn:/cygdrive/c/Program': not a valid identifier 
-bash: export: `Files/TortoiseGit/bin:/cygdrive/c/Users/aman.dalmia/AppData/Roaming/npm:/cygdrive/d/Installs/Maven/bin:': not a valid identifier 
-bash: export: `D:/Tesseract-OCR:/cygdrive/c/Users/aman.dalmia/AppData/Local/Programs/Python/Python27/Scripts:/cygdrive/c/Users/aman.dalmia/AppData/Local/Programs/Python/Python27': not a valid identifier 
-bash: export: `=': not a valid identifier 
-bash: export: `cat foo': not a valid identifier 
+2

你的問題是什麼?有關提出一個好問題的提示,請參閱:[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask) –

沙发
0
1

你寫

export $PATH = 'cat foo' 

你需要

export PATH=`cat foo` 

隨着$PATH您要導出路徑的價值,但要導出PATH變量。
圍繞着=你有空位。我喜歡那些試圖讓代碼可讀的人,但是任務空間是被禁止的。
請注意,您必須使用空格if [ "${somevar}" = "example" ]
您試圖在子外殼中執行cat foo。你需要的是backtics,而不是普通的引號。

0
votes
answers
64 views
+10

如何將本地文件中的值讀入Docker-compose環境變量中?

0

我試圖通過在我的docker-compose.yml文件中設置環境變量將我的AWS憑證從我的本地~/.aws/credentials文件注入到Docker容器中。如何將本地文件中的值讀入Docker-compose環境變量中?

但我不知道如何從本地文件讀取docker-compose文件的憑據。我該怎麼做??

這裏是我的AWS憑據文件看起來像:

$ cat ~/.aws/credentials 
[default] 
aws_access_key_id = AK_FAKE_KEY_88RD3PNY 
aws_secret_access_key = BividQsWW_FAKE_KEY_MuB5VAAsQNJtSxQQyDY2C 

這裏是我的我的碼頭工人組成文件的相關部分的樣子:

my_service: 
    build: . 
    image: my_image 
    environment: 
     - AWS_ACCESS_KEY_ID=<What should I put here?> 
     - AWS_SECRET_ACCESS_KEY=<What should I put here?> 
+0

爲什麼不使用IAM角色? – zacdav

+0

即使我使用IAM角色,我也必須將本地的?/ .aws/cli/cache/*。json文件複製到Dockerfile中的新圖像中,對嗎?這比我想要做的更容易嗎? –

+0

正如我理解它並且已經使用(承認有限的時間),我只是做了一個IAM角色,設置了角色的實例,就是這樣。我想這是假設你在EC2上運行。配置文件採取偏好,所以我甚至沒有任何在我的EC2上,因爲他們正在干涉。 – zacdav

沙发
0
1

是否需要從你憑證文件?

您可以創建~/aws_env_creds

AWS_ACCESS_KEY_ID=AK_FAKE_KEY_88RD3PNY 
AWS_SECRET_ACCESS_KEY=BividQsWW_FAKE_KEY_MuB5VAAsQNJtSxQQyDY2C 

然後

my_service: 
    build: . 
    image: my_image 
    env_file: 
    - ~/aws_env_creds 
0
votes
answers
44 views
+10

由AlarmManager啓動的IntentService不起作用

2


我想通過AlarmManager啓動IntentService,但服務未啓動。 (顯然,我的服務是在清單中定義...)
這裏的代碼一點點:由AlarmManager啓動的IntentService不起作用

啓動報警服務:

Intent myIntent = new Intent(Main.this, TestsNotification.class); 
    PendingIntent pendingIntent = PendingIntent.getService(Main.this, 0, myIntent, 0); 
      AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
      Calendar calendar = Calendar.getInstance(); 
      calendar.setTimeInMillis(System.currentTimeMillis()); 
      calendar.set(Calendar.HOUR_OF_DAY, 15); 
      alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 

這裏是我的IntentService:

public class TestsNotification extends IntentService { 
    public TestsNotification() { 
     super("myApp"); 
    } 
    private SharedPreferences settings; 
    private final String PREFERENCE_SETTINGS_FILENAME = "Settings"; 
    private int number=0; 
    Tests tests; 
@Override 
public void onCreate() { 
// TODO Auto-generated method stub 
    settings = getSharedPreferences(PREFERENCE_SETTINGS_FILENAME, MODE_PRIVATE); 
    tests=new Tests(); 
} 

@Override 
public IBinder onBind(Intent intent) { 
// TODO Auto-generated method stub 
return null; 
} 

@Override 
public void onDestroy() { 
// TODO Auto-generated method stub 
super.onDestroy(); 
} 

@Override 
public void onStart(Intent intent, int startId) { 
// TODO Auto-generated method stub 
super.onStart(intent, startId); 
} 

@Override 
public boolean onUnbind(Intent intent) { 
// TODO Auto-generated method stub 
return super.onUnbind(intent); 
} 
public void Notify(String title) 
{ 
    NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    Intent intent= new Intent (this,Splash.class); 
    PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0); 
    String body = " ????"; 
    //String title = "?? ??? ????!"; 
    Notification n =new Notification(R.drawable.test, body, System.currentTimeMillis()); 
    n.flags |=Notification.FLAG_AUTO_CANCEL; 
    n.setLatestEventInfo(getApplicationContext(), title, body, pi); 
    n.defaults = Notification.DEFAULT_ALL; 
    number++; 
    n.number=number; 
    try { 
    nm.notify(0,n); 
    FileMethods FM = new FileMethods(this); 
    Date current = new Date(); 
    FM.Write("LOG", "I Dont Care!",FM.Read("LOG", this, "") + current.getDay()+"/"+current.getMonth()+"/"+ current.getYear()+" "+current.getHours()+":"+current.getMinutes() + "Notified" + title+ "
"); 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
@Override 
protected void onHandleIntent(Intent intent) { 
    // TODO Auto-generated method stub 
    String Attribute = "Class"; 
    String info = settings.getString(Attribute, "none"); 
    if(!info.equals("none")) { 
     String classLetter = info.substring(0, info.lastIndexOf(" ")); 
     String classNum1 = info.substring(info.lastIndexOf(" ")+1); 
     int classNum = Integer.parseInt(classNum1); 
     try { 
      Tests nextTest = this.tests.GetTests(classLetter, classNum)[0]; 
      Date current = new Date(); 
      Date testDate = new GregorianCalendar(nextTest.getDate().getYear(), nextTest.getDate().getMonth(), Integer.parseInt(nextTest.getDate().getDay())).getTime(); 
      long difference = testDate.getTime()-current.getTime(); 
      if (difference <=86400000) { 
       Notify("?? ??? ????!"); 
      }//SHOULDNT BE HARDCODED!!! 
      else { 
       Notify("??? ??? ????!!"); 
      } 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

} 
} 

FileMethods只是一個類來處理文件讀取和寫入(以確保AlarmManager每隔1天運行一次)

謝謝!

沙发
0
2

由於您使用的是set(),因此現在有40%的機會指定了過去的時間。

此外,如果設備當時睡着了,它可能會在服務啓動之前回睡。對於成功使用_WAKEUP報警有一個非常具體的模式,涉及BroadcastReceiverWakeLock。我的WakefulIntentService試圖爲你處理這些工作。

此外,onStart()已被棄用相當一些,不應該在IntentService實施。

板凳
0
0

您在覆蓋IntentService 沒有調用super.onCreate()。不要這樣做。

@Override 
public void onCreate() { 
    super.onCreate(); 
    settings = getSharedPreferences(PREFERENCE_SETTINGS_FILENAME, MODE_PRIVATE); 
    tests=new Tests(); 
} 

IntentService的基本實現不會給實際調用IntentService#onHandleIntent(Intent)需要大量的在該方法中必要的設置(如初始化執行人&諸如此類的東西)。

0
votes
answers
53 views
+10

Xamarin.iOS應用程序在丟失Mono運行時時崩潰;找不到合適的圖像;代碼簽名被阻止的mmap

1

我試圖用iOS的關聯應用程序擴展來構建Xamarin Forms應用程序。我的解決方案的結構是這樣的:Xamarin.iOS應用程序在丟失Mono運行時時崩潰;找不到合適的圖像;代碼簽名被阻止的mmap

MyProject 
    BitThicket.MyProject     -- Forms project 
    BitThicket.MyProject.Core    -- NET Standard 2.0 class library 
    BitThicket.MyProject.iOS    -- iOS project 
    BitThicket.MyProject.Extensions.Intents -- Intents project 

每個項目從模板創建的,我做了一些變化 - 和崩潰發生在啓動,因此沒有達到我的代碼反正。

我針對iOS 11.1,並且設置了有效的簽名證書和配置文件。我能夠構建應用程序並從Visual Studio for Mac(7.2.2)將它部署到設備(我的iPhone 7+)。但是,當調試器嘗試爲我啓動應用程序時,顯示空白的初始視圖,然後應用程序崩潰。調試器從不連接。順便說一句,當應用程序在設備上手動啓動時,它會以同樣的方式崩潰。

我檢索使用Xcode中設備日誌和崩潰是這樣的:

Incident Identifier: 948709A2-74AA-4E16-BEEA-072CFCF4AB38 
CrashReporter Key: ###################################### 
Hardware Model:  iPhone9,2 
Process:    BitThicket.Turns.iOS [2457] 
Path:    /private/var/containers/Bundle/Application/#####-##############-############/BitThicket.Turns.iOS.app/BitThicket.Turns.iOS 
Identifier:   com.bitthicket.Turns 
Version:    1.0 (1.0) 
Code Type:   ARM-64 (Native) 
Role:    Foreground 
Parent Process:  launchd [1] 
Coalition:   com.bitthicket.Turns [818] 


Date/Time:   2017-11-24 09:41:15.3743 -0600 
Launch Time:   2017-11-24 09:41:15.3041 -0600 
OS Version:   iPhone OS 11.1.2 (15B202) 
Baseband Version: 3.21.01 
Report Version:  104 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Exception Note: EXC_CORPSE_NOTIFY 
Termination Description: DYLD, Library not loaded: @rpath/Mono.framework/Mono | Referenced from: /var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/BitThicket.Turns.iOS | Reason: no suitable image found. Did find: | /private/var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/Frameworks/Mono.framework/Mono: code signing blocked mmap() of '/private/var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/Frameworks/Mono.framework/Mono' 
Triggered by Thread: 0 

Filtered syslog: 
None found 

Thread 0 Crashed: 
0 dyld       0x0000000106722f1c __abort_with_payload + 8 
1 dyld       0x00000001067226f4 abort_with_payload_wrapper_internal + 100 
2 dyld       0x0000000106722720 fcntl + 0 
3 dyld       0x00000001066f8498 dyld::fastBindLazySymbol+ 17560 (ImageLoader**, unsigned long) + 0 
4 dyld       0x00000001066fb714 dyld::_main+ 30484 (macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 7376 
5 dyld       0x00000001066f521c _dyld_start + 68 

Thread 0 crashed with ARM Thread State (64-bit): 
    x0: 0x0000000000000006 x1: 0x0000000000000001 x2: 0x000000016d50a470 x3: 0x00000000000000a5 
    x4: 0x000000016d50a070 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x00000000000002f0 
    x8: 0x0000000000000020 x9: 0x0000000000000009 x10: 0x6f6e6f4d2f736b72 x11: 0x6f77656d6172662e 
    x12: 0x726f77656d617246 x13: 0x2e6f6e6f4d2f736b x14: 0x726f77656d617266 x15: 0x00276f6e6f4d2f6b 
    x16: 0x0000000000000209 x17: 0x000000008000001f x18: 0x0000000000000000 x19: 0x0000000000000000 
    x20: 0x000000016d50a070 x21: 0x00000000000000a5 x22: 0x000000016d50a470 x23: 0x0000000000000001 
    x24: 0x0000000000000006 x25: 0x00000001028f4000 x26: 0x0000000106736000 x27: 0x0000000106735f88 
    x28: 0x000000016d50ba70 fp: 0x000000016d50a040 lr: 0x00000001067226f4 
    sp: 0x000000016d50a000 pc: 0x0000000106722f1c cpsr: 0x00000000 

Binary Images: 
0x1028f4000 - 0x103e43fff BitThicket.Turns.iOS arm64 <###########################> /var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/BitThicket.Turns.iOS 
0x1066f4000 - 0x106733fff dyld arm64 <##########################> /usr/lib/dyld 

EOF 

有誰知道是什麼原因造成的?在Xamarin論壇或其他地方似乎沒有很多直接的答案(包括SO,不幸)。我已經嘗試了一些簡單的東西,比如重新啓動Visual Studio for Mac,或者從我的設備中刪除應用程序並清理/重建解決方案,但這些東西似乎沒有幫助。

在終止描述中,它聽起來像試圖加載單聲道,但mmap被代碼簽名以某種方式阻止 - 但我真的不知道如何。該應用程序構建並部署到我的設備,所以它看起來像代碼簽名正在工作。

沙发
0
1

經過深入挖掘,我發現了幾個似乎相似的問題示例,最常見的方法似乎是簽名證書配置不正確。我仍然對其根本原因感到好奇 - 爲什麼背後是「爲什麼」。最終,我發現我在「系統」「登錄」鑰匙鏈上都有「Apple全球開發者關係證書頒發機構」,並且在「應始終信任」時配置爲「始終信任」只在我的「登錄」鑰匙串中進行配置,並配置爲「系統默認值」。

一旦我糾正了這些問題,我又試了一次,但仍然遇到了問題。它在重新啓動我的Mac之後終於消失了。

+0

感謝你們這樣做,這發生在我對我的應用程序使用自動簽名後,重新啓動(並且乾淨,雖然不確定如果需要)做了生意! :) – WickedW